├── Section 54- Ansible Inventories
├── demo.aws_ec2.yml
├── Unconfirmed 453368.crdownload
├── Work+with+Dynamic+Inventory+Script+AWS.pdf
├── Work+with+Dynamic+Inventory+Script+AWS (1).pdf
├── Work+with+Dynamic+Inventory+Script+Google+Cloud.pdf
└── demo.gcp.yml
├── Section 62- Working with include and import module in Ansible
├── tasks-1.yml
├── play2.yml
├── include_playbook.yml
├── import_playbook.yml
├── include_tasks.yml
└── include_tasks_module.yml
├── Section 38- Terraform Variables Detailed Explanation
├── terraform.tfvars
├── variables.tf
├── provider.tf
├── Variables+in+Terraform.pdf
├── createInstance.tf
├── Use+of+Variable+in+Conf+File.pdf
├── createInstance (1).tf
└── variables (1).tf
├── Section 42 - Terraform Modules - Code Re-usability
├── output (1).tf
├── provider.tf
├── Development.zip
├── Development_QA.zip
├── Terraform+Module+and+Application.pdf
├── output.tf
├── main.tf
├── varaible (1).tf
├── vpc.tf
├── varaible.tf
├── main (2).tf
├── variable.tf
└── main (1).tf
├── Section 37- Start With Terraform Basics
├── provider.tf
├── createInstance.tf
├── createInstance (1).tf
├── Terraform+State+_+The+Concept.pdf
├── Terraform+Provider+&+Initialization.pdf
└── main.tf
├── Section 40- Terraform for AWS Cloud
├── provider (1).tf
├── provider.tf
├── User+Data+in+AWS.pdf
├── AWS+VPC+Introduction.pdf
├── AWS+VPC+Introduction+II.pdf
├── Elastic+Block+Store+(EBS)+in+AWS.pdf
├── Launch+EC2+Instance+in+Custom+VPC.pdf
├── installapache.sh
├── Unconfirmed 655226.crdownload
├── cloudinit.tf
├── createInstance.tf
├── security_group.tf
├── createInstance (2).tf
├── createInstance (3).tf
├── variables (1).tf
├── variables (2).tf
├── variables.tf
├── createInstance (1).tf
├── nat.tf
└── vpc.tf
├── Section 41- Terraform for AWS Cloud Part II
├── provider.tf
├── s3bucket.tf
├── createInstance (1).tf
├── createInstance.tf
├── variables.tf
├── iamuser.tf
├── security_group.tf
├── iamroles.tf
├── autosacling.tf
├── rds.tf
├── elb.tf
├── autoscaling.tf
└── vpc.tf
├── Section 02- GIT Introduction
├── What+is+GIT.pdf
├── Welcome+&+Goal.pdf
└── GIT+Key+Terminology.pdf
├── Section 39- Terraform Concepts - Building Blocks
├── provider.tf
├── provider (1).tf
├── backend.tf
├── DataSource+in+Terraform.pdf
├── Output+Attribute+in+TF.pdf
├── Remote+State+in+Terraform.pdf
├── Provision+Software+with+Terraform.pdf
├── installNginx.sh
├── variables (1).tf
├── securitygroup.tf
├── createInstance (1).tf
├── variables.tf
├── createInstance (2).tf
└── createInstance.tf
├── Section 44- Packer and Terraform
├── Packer.zip
├── Packer (1).zip
├── Packer (2).zip
└── Packer+Introduction+and+It's+Use.pdf
├── Section 03- GIT Installation
└── GIT+Installation.pdf
├── Section 04- GIT with GITHUB Advance
├── GIT+Merge.pdf
└── Revert+in+Previous+State+in+Git.pdf
├── Section 30- Kubernetes Networking
├── CNI+Plugins.pdf
├── Kubernetes+DNS.pdf
├── K8s+Networking+Overview.pdf
├── Using+Kubernetes+Network+Policies.pdf
├── pod-dns.yml
├── network-policy.yml
└── network-policy-pod.yml
├── Section 49- Ansible Introduction
├── Why+Ansible.pdf
├── Ansible+Architecture+Overview.pdf
├── Ansible+Introduction+_+As+a+Tool.pdf
└── Preview+Automation+with+Ansible.pdf
├── Section 06- GIT Stashing
├── GIT+Stash+with+Example.pdf
├── Manage+Multiple+Stash.pdf
└── Stash+Untracked+Files.pdf
├── Section 32- Kubernetes Storage
├── Storage+Overview.pdf
├── Use+K8s+Volumes.pdf
├── Persistent+Volumes+.pdf
├── localhost-sc.yml
├── my-pvc.yml
├── emptyDir-volume.yml
├── my-persistent-volume.yml
├── hostpath-volume-mount.yml
├── my-pv-pod.yml
└── common-volume.yml
├── Section 36- Micro Services in Kubernetes
├── retry.pdf
├── helm-rbac.pdf
├── node-app.pdf
├── node-istio.pdf
├── Retry-Policy.pdf
├── node-grafana.pdf
├── node-istio (1).pdf
├── Canary-Deployment.pdf
├── Istio-Introduction.pdf
├── Run-Application-Istio.pdf
└── Install-Istio-on-Kubernetes-Cluster.pdf
├── Section 25- Kubernetes Object Management
├── my-serviceaccount.yml
├── Working+with+Kubectl.pdf
├── User+Management+in+K8s.pdf
├── Service+Accounts+in+Kubernetes+Cluster.pdf
├── pod-reader-role.yml
├── pod-reader-rolebinding.yml
├── service-account-binding.yml
└── Role+Base+Access+in+K8s
├── Section 29- Basics of Kubernetes Part II
├── service-yml.pdf
├── Label-pod-yml.pdf
├── Pod-Lifecycle.pdf
├── Labels+in+Kubernetes.pdf
├── Lab-Lables-in-Kubernetes.pdf
├── Services-in-Kubernetes.pdf
├── pod-lifecycle-hooks-yml.pdf
└── Lab-Services-in-Kubernetes.pdf
├── Section 15- Docker Containers- Manage Data
├── Bind+Mounts.pdf
├── Data+Volumes.pdf
├── Assignment+Bind+Mounts.pdf
├── Persistant+Data+Issue.pdf
├── Assignment+Named+Volumes.pdf
├── Assigment+Answer+Bind+Mount.pdf
└── Assignment+Answer+Data+Volumes.pdf
├── Section 31- Kubernetes Services
├── How+to+Use+K8s+Services.pdf
├── Discover+Kubernetes+Service.pdf
├── Manage+Access+via+Ingress+Controller.pdf
├── pod-svc-test.yml
├── clusterIp-service.yml
├── nginx-deployment-service.yml
├── dns-service-pod.yml
├── nodeport-service.yml
├── magicalnginx-deployment-service.yml
├── deployment.yml
├── nginx-deployment.yml
├── magicalnginx-nginx-deployment.yml
└── ingress-controller.yml
├── Section 23- Get Started with Kubernetes
├── Kubernetes+Intro.pdf
├── Install+Kubernetes.pdf
├── Using+NameSpaces+in+Kubernetes.pdf
├── Kubernetes+Architecture+Overview.pdf
└── Intract+with+Kubenetes
├── Section 09- Docker Container- The Big Picture
├── Hello+VMware.pdf
├── Containers+_+Primer.pdf
├── Docker+_+The+Technology.pdf
└── Boxed+Brilliance_+The+Evolution+of+Containers.pdf
├── Section 26- Pods and Containers in Kubernetes
├── example-secrect.yml
├── Pods+Restart+Policies+.pdf
├── Manage+Container+Resources.pdf
├── Creating+Multi+Container+Pods.pdf
├── Pods+and+Containers+Overview.pdf
├── Manage+Container+HealthCheck+in+K8s.pdf
├── Container+Initialisation+in+Kubernetes.pdf
├── Manage+Application+Configuration+in+K8s.pdf
├── example-posix-configMap.yml
├── startup-hc.yml
├── configmap-posix-demo.yml
├── resource_limit.yml
├── initContainer-dependency-service.yml
├── readiness-hc.yml
├── example-configMap.yml
├── nginx-pod.yml
├── multi-container.yml
├── restartPolicies.yml
├── configmap-vol-demo.yml
├── liveness-hc.yml
├── init-container.yml
├── configmap-env-demo.yml
├── Nginx.conf
└── request_limit.yml
├── Section 28- Deployments in Kubernetes
├── Deployments+Overview.pdf
├── ReplicaSet+in+Kubernetes.pdf
├── Scaling+Application+in+Kubernetes.pdf
├── replication_controller.yml
├── replicaSet_and_barePods.yml
├── replica-set.yml
└── deployment.yml
├── Section 46- Job Scenario 2- Terraform Docker and Kubernetes
├── varaible.tf
├── casestudy#eks.zip
├── AWS+EKS+Introduction.pdf
├── provider.tf
├── vpc.tf
├── ekscluster.tf
└── iam.tf
├── Section 53- Ansible Facts, Modules & Variables
├── Ansible+Facts.pdf
├── Ansible+Modules.pdf
└── Create+Custom+Facts.pdf
├── Section 55- Basic of Ansible Playbook
├── Playbook+Introduction.pdf
├── Start+Writing-Executing+PlayBooks.pdf
├── intro_playbook.yml
├── intro_playbook (1).yml
├── Install_https.yml
└── Install_https (1).yml
├── Section 24- Kubernetes Cluster Management
├── K8s+Management+Tools.pdf
├── K8s+Management+Overview.pdf
├── High+Availability+in+K8s.pdf
├── Maintenance+Window+Kubernetes+Cluster.pdf
└── Create+K8s+HA+SetUp
├── Section 27- Pods Allocation in Kubernetes
├── K8s+Pods+Scheduling.pdf
├── DaemonSets+in+Kubernetes.pdf
├── Static+Pods+in+Kubernetes.pdf
├── Node+Affinity+in+Kubernetes.pdf
├── daemonset.yml
├── node-affinity.yml
└── pod-scheduling.yml
├── Section 34- Package & Deploy on Kubernetes- HELM
├── What+is+HELM.pdf
├── HELM+Charts+and+Repos.pdf
├── With+HELM+or+After+HELM.pdf
└── Before+HELM+or+Without+HELM.pdf
├── Section 47- Job Scenario 3- Terraform & AWS ELK
├── casestudy#ELK.zip
├── casestudy#ELK (1).zip
└── ELK+Basics+and+Application.pdf
├── Section 05- Branching & Merging in GIT
└── Concept+of+Branches+in+GIT.pdf
├── Section 07- Why Jenkins & Setting Up Jenkins
└── What+&+Why+Jenkins.pdf
├── Section 08- Distributed Builds in Jenkins
├── Create+Slave+Machines.pdf
└── Distributed+Builds+in+Jenkins.pdf
├── Section 10- Getting Docker
├── Installing+The+Right+Docker+for++you.pdf
└── Required+SetUp+for+Docker+Engine+Installation.pdf
├── Section 12- Manage Docker Networking
├── Docker+Network+_+DNS+Concept.pdf
├── Docker+Network+CLI+Operations.pdf
├── Introduction+to+Docker+Network.pdf
└── Explore+Docker+Container+Networks.pdf
├── Section 43- Conditions, Loops in Terraform
├── Loops+in+TerraFrom+HCL.pdf
├── Terraform+Project+Structure.pdf
├── Terraform_Project_Structure.zip
├── varaible.tf
├── Terraform+Built-In+Functions.pdf
├── Condition+Statements+in+Terraform.pdf
└── create_instance.tf
├── Section 13- Docker Container Images- Beginning
├── Docker+Image+Tagging.pdf
├── Concept+of+Docker+Image+Layers.pdf
├── Docker+Image+Basics+and+Understanding.pdf
├── Docker+Central+Repositories+for+Docker+Images.pdf
└── Upload+Your+Docker+Image+to+Cloud_Docker+Registry.pdf
├── Section 01- Understanding of DevOps & DevOps Process
├── What+is+DevOps.pptx
├── Continuous-Deployment.pptx
└── Continuous+Development+.pptx
├── Section 22- Docker Swarm Service Management
├── Constraint+in+Stack+File.pdf
├── ZeroDownTime+Service+Update.pdf
├── HealthCheck+in+Docker+Services.pdf
└── Manage+Container+Placement+in+Swarm+Service+Constraints.pdf
├── Section 33- Troubleshoot Self Managed K8s Cluster
├── Get+Container+Logs.pdf
├── Get+Cluster+&+Node+Logs.pdf
├── TroubleShooting+K8s+Cluster.pdf
└── Troubleshoot+Applications+in+K8s.pdf
├── Section 35- Serverless Functions on Kubernetes
├── Demo-Kubeless-Functions.pdf
├── Kubeless-Introduction.pdf
└── Serverless-on-Kubernetes.pdf
├── Section 52- Ansible Ad-Hoc Commands
├── Syntax+of+Ansible+Ad-Hoc+Commands.pdf
├── Install+Packages+on+Ansible+Clients.pdf
├── Transfer+file+from+Engine+to+Clients.pdf
└── Manage+File_Directory+on+Ansible+Clients.pdf
├── Section 51- Configure Ansible Engine and Ansible Clients
├── SetUp+AWS+Nodes.pdf
└── Connect+AWS+Nodes+with+Ansible+Engine.pdf
├── Section 19- Docker Swarm Features and Applications
├── Networks+in+Docker+Swarm.pdf
├── Lab+_+Networks+in+Docker+Swarm.pdf
├── Service+Traffic+Management+in+Docker+Swarm.pdf
├── Lab+_+Deploy+Multi-Node+Application+in+Docker+Swarm.pdf
└── Assignment+_+Deploy+Multi-Node+Application+in+Docker+Swarm.pdf
├── Section 48- Terraform Hashicorp Certification Guide
├── Use+the+Terraform+CLI.pdf
├── Implement+and+Maintain+State.pdf
├── Navigate+Terraform+workflow.pdf
├── Understand+Terraform's+Purpose.pdf
├── Understand+Terraform+Basics+I.pdf
├── Understand+Terraform+Basics+II.pdf
├── Interact+with+Terraform+modules.pdf
├── Read,+generate,+and+modify+configuration.pdf
├── Understand+Infrastructure+as+Code+(IaC)+Concepts.pdf
└── Understand+Terraform+Cloud+and+Enterprise+Capabilities.pdf
├── Section 56- Basic Concepts of Ansible PlayBooks
├── Data+Collection+in+Ansible.pdf
├── Uses+of+Set_Fact+and+Register.pdf
├── Logging+Debug+Statement+using+Ansible+Playbooks.pdf
├── register_ansible.yml
├── arithmetic_operations.yml
├── ansible_var.yml
├── filter_methods_ansible.yml
├── pratice_arithmetic.yml
├── ansible_datacollection.yml
└── ansible_debug.yml
├── Section 11- Creating & Managing Docker Containers
├── Docker+Container+Monitoring.pdf
├── Manage+Containers+on+Host+Machine.pdf
├── Execute+Commands+in+Running+Container.pdf
├── Execute+Your+Application+in+Container.pdf
├── How+Containers+are+Different+from+VMs.pdf
├── Manage+Containers+on+Host+Machine+II.pdf
├── Check+Docker+Install+and+Configurations.pdf
├── Assignment+_+SetUp+End+to+End+WebApplication.pdf
└── Get+Familiar+with+Docker+Container+and+Container+Registry.pdf
├── Section 45- Job Scenario 1- End to End Web-Application Deployment
├── casestudy#1.zip
├── Application+Overview.pdf
├── varaible.tf
├── varaible (1).tf
└── rds.tf
├── Section 17- Docker Compose- Multi Container Orchestration
├── Role+of+Docker+Compose.pdf
├── YAML+File+Fundamentals.pdf
├── Create+a+Docker+Compose+File.pdf
└── Build+Images+with+Docker+Compose.pdf
├── Section 14- Docker Container Images- Build Container Images
├── Basics+of+Docker+File.pdf
├── Docker+File+Instructions.pdf
├── Create+Custom+Docker+Image.pdf
└── Assignment_+Build+Docker+Image.pdf
├── Section 18- Docker Swarm Introduction- Swarm Orchestration
├── Docker+Swarm+Introduction.pdf
├── Docker+Swarm+Terminology.pdf
├── Create+Service+on+Docker+Swarm.pdf
├── Online+Free+Docker+Swarm+SetUp.pdf
├── Docker+Swarm+Initialisation,+Commands.pdf
├── Create+Docker+Swarm+Cluster+_+Complete+Configuration.pdf
├── Visualizing+Cluster+State+using+Docker+Swarm+Visualizer.pdf
└── Create+Docker+Swarm+Cluster+_+Complete+Initialization+and+SetUp.pdf
├── Section 50- Ansible Environment Preparation & Installation
├── Install+Ansible+Using+PIP.pdf
└── Ansible+Installation+Overview.pdf
├── Section 21- Docker Swarm Secrets Management- Protect Sensitive Data
├── Store+Secret+in+Swarm.pdf
├── Deploy+Stack+using+Secret.pdf
├── Create+Secret+in+Docker+Service.pdf
└── docker-compse.yml.txt
├── Section 57- Operators and Conditional Statement in Ansible Playbook
├── Comparison+Operators.pdf
├── Membership+Operators+in+Ansible.pdf
├── logical_operator.yml
├── condition_statement.yml
├── comparision_operator.yml
└── memebership_tests.yml
├── Section 16- Handle Persistent Data in Docker Containers
├── Issue+with+Persistent+Data+in+Containers.pdf
├── Persistent+Data+_+Handle+with+Data+Binds.pdf
├── Assignment+_+Bind+Mounts+in+Docker+Container.pdf
├── Persistent+Data+_+Handle+with+Data+Volumes.pdf
├── Assignment+_+Data+Volumes+in+Docker+Container.pdf
├── Lab+_+Assignment+Solution+-+Bind+Mounts+in+Docker+Container.pdf
└── Lab+_+Assignment+Solution+-+Data+Volumes+in+Docker+Container.pdf
├── Section 20- Docker Swarm Stack Deployment- Multi Service Deployment
├── Swarm+_+Deploy+Distributed+Application.pdf
├── Swarm+_+Deploy+Distributed+Application (1).pdf
├── Build+and+Deploy+Stack+Using+Docker+Swarm+from+Scratch.pdf
└── Docker+Swarm+Stack+_+Scale+Application+Vertically+and+Horizontally.pdf
├── Section 61- Error Handling in Ansible
├── vsftpd.j2
├── rescue_block.yml
├── error_handling_1.yml
├── block_ansible.yml
└── demo_block_rescue.yml
├── Section 64- Concept of Template in Ansible
├── index.html.j2
├── install_httpd.yml
└── install_tomcat.yml
├── Section 63- Ansible Machine Specific Execution
├── local_action.yml
└── delegate_to.yml
├── Section 58- Handler in Ansible
├── handler_req.yml
└── handler_imp.yml
├── Section 60- Tags in Ansible
└── tags_ansible.yml
├── Section 59- Loops in Ansible Playbook
├── loops_exampleIII.yml
├── loops_exampleII.yml
└── loops_example.yml
└── LICENSE
/Section 54- Ansible Inventories/demo.aws_ec2.yml:
--------------------------------------------------------------------------------
1 | plugin: amazon.aws.aws_ec2
2 | filters:
3 | instance-state-name: running
--------------------------------------------------------------------------------
/Section 62- Working with include and import module in Ansible/tasks-1.yml:
--------------------------------------------------------------------------------
1 | - name: Play 1 - Task 2
2 | debug:
3 | msg: Play 1 - Task 2
--------------------------------------------------------------------------------
/Section 38- Terraform Variables Detailed Explanation/terraform.tfvars:
--------------------------------------------------------------------------------
1 | AWS_ACCESS_KEY="AKIASMSIZOF4QD2NTPB6"
2 | AWS_SECRET_KEY="lfC4ogzBlnoLtyhbTfiRLhQAx"
--------------------------------------------------------------------------------
/Section 42 - Terraform Modules - Code Re-usability/output (1).tf:
--------------------------------------------------------------------------------
1 | output "public_instance_ip" {
2 | value = ["${aws_instance.levelup_instance.public_ip}"]
3 | }
--------------------------------------------------------------------------------
/Section 37- Start With Terraform Basics/provider.tf:
--------------------------------------------------------------------------------
1 | provider "aws" {
2 | access_key = "AKIASMSIZOF4QD2NTPB6"
3 | secret_key = "SECRET_KEY_HERE"
4 | region = "us-east-2"
5 | }
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/provider (1).tf:
--------------------------------------------------------------------------------
1 | provider "aws" {
2 | access_key = var.AWS_ACCESS_KEY
3 | secret_key = var.AWS_SECRET_KEY
4 | region = var.AWS_REGION
5 | }
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/provider.tf:
--------------------------------------------------------------------------------
1 | provider "aws" {
2 | access_key = var.AWS_ACCESS_KEY
3 | secret_key = var.AWS_SECRET_KEY
4 | region = var.AWS_REGION
5 | }
--------------------------------------------------------------------------------
/Section 42 - Terraform Modules - Code Re-usability/provider.tf:
--------------------------------------------------------------------------------
1 | provider "aws" {
2 | access_key = "AKIASMSIZOF4W5NKCW4I"
3 | secret_key = ""
4 | region = "us-east-1"
5 | }
--------------------------------------------------------------------------------
/Section 41- Terraform for AWS Cloud Part II/provider.tf:
--------------------------------------------------------------------------------
1 | provider "aws" {
2 | access_key = var.AWS_ACCESS_KEY
3 | secret_key = var.AWS_SECRET_KEY
4 | region = var.AWS_REGION
5 | }
--------------------------------------------------------------------------------
/Section 02- GIT Introduction/What+is+GIT.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 02- GIT Introduction/What+is+GIT.pdf
--------------------------------------------------------------------------------
/Section 37- Start With Terraform Basics/createInstance.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "aws_instance" "MyFirstInstnace" {
3 | ami = "ami-05692172625678b4e"
4 | instance_type = "t2.micro"
5 | }
--------------------------------------------------------------------------------
/Section 39- Terraform Concepts - Building Blocks/provider.tf:
--------------------------------------------------------------------------------
1 | provider "aws" {
2 | access_key = var.AWS_ACCESS_KEY
3 | secret_key = var.AWS_SECRET_KEY
4 | region = var.AWS_REGION
5 | }
--------------------------------------------------------------------------------
/Section 44- Packer and Terraform/Packer.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 44- Packer and Terraform/Packer.zip
--------------------------------------------------------------------------------
/Section 37- Start With Terraform Basics/createInstance (1).tf:
--------------------------------------------------------------------------------
1 |
2 | resource "aws_instance" "MyFirstInstnace" {
3 | ami = "ami-05692172625678b4e"
4 | instance_type = "t2.micro"
5 | }
--------------------------------------------------------------------------------
/Section 38- Terraform Variables Detailed Explanation/variables.tf:
--------------------------------------------------------------------------------
1 | variable "AWS_ACCESS_KEY" {}
2 |
3 | variable "AWS_SECRET_KEY" {}
4 |
5 | variable "AWS_REGION" {
6 | default = "us-east-2"
7 | }
--------------------------------------------------------------------------------
/Section 39- Terraform Concepts - Building Blocks/provider (1).tf:
--------------------------------------------------------------------------------
1 | provider "aws" {
2 | access_key = var.AWS_ACCESS_KEY
3 | secret_key = var.AWS_SECRET_KEY
4 | region = var.AWS_REGION
5 | }
--------------------------------------------------------------------------------
/Section 02- GIT Introduction/Welcome+&+Goal.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 02- GIT Introduction/Welcome+&+Goal.pdf
--------------------------------------------------------------------------------
/Section 03- GIT Installation/GIT+Installation.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 03- GIT Installation/GIT+Installation.pdf
--------------------------------------------------------------------------------
/Section 04- GIT with GITHUB Advance/GIT+Merge.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 04- GIT with GITHUB Advance/GIT+Merge.pdf
--------------------------------------------------------------------------------
/Section 30- Kubernetes Networking/CNI+Plugins.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 30- Kubernetes Networking/CNI+Plugins.pdf
--------------------------------------------------------------------------------
/Section 44- Packer and Terraform/Packer (1).zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 44- Packer and Terraform/Packer (1).zip
--------------------------------------------------------------------------------
/Section 44- Packer and Terraform/Packer (2).zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 44- Packer and Terraform/Packer (2).zip
--------------------------------------------------------------------------------
/Section 49- Ansible Introduction/Why+Ansible.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 49- Ansible Introduction/Why+Ansible.pdf
--------------------------------------------------------------------------------
/Section 06- GIT Stashing/GIT+Stash+with+Example.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 06- GIT Stashing/GIT+Stash+with+Example.pdf
--------------------------------------------------------------------------------
/Section 06- GIT Stashing/Manage+Multiple+Stash.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 06- GIT Stashing/Manage+Multiple+Stash.pdf
--------------------------------------------------------------------------------
/Section 06- GIT Stashing/Stash+Untracked+Files.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 06- GIT Stashing/Stash+Untracked+Files.pdf
--------------------------------------------------------------------------------
/Section 32- Kubernetes Storage/Storage+Overview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 32- Kubernetes Storage/Storage+Overview.pdf
--------------------------------------------------------------------------------
/Section 32- Kubernetes Storage/Use+K8s+Volumes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 32- Kubernetes Storage/Use+K8s+Volumes.pdf
--------------------------------------------------------------------------------
/Section 36- Micro Services in Kubernetes/retry.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 36- Micro Services in Kubernetes/retry.pdf
--------------------------------------------------------------------------------
/Section 02- GIT Introduction/GIT+Key+Terminology.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 02- GIT Introduction/GIT+Key+Terminology.pdf
--------------------------------------------------------------------------------
/Section 30- Kubernetes Networking/Kubernetes+DNS.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 30- Kubernetes Networking/Kubernetes+DNS.pdf
--------------------------------------------------------------------------------
/Section 32- Kubernetes Storage/Persistent+Volumes+.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 32- Kubernetes Storage/Persistent+Volumes+.pdf
--------------------------------------------------------------------------------
/Section 36- Micro Services in Kubernetes/helm-rbac.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 36- Micro Services in Kubernetes/helm-rbac.pdf
--------------------------------------------------------------------------------
/Section 36- Micro Services in Kubernetes/node-app.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 36- Micro Services in Kubernetes/node-app.pdf
--------------------------------------------------------------------------------
/Section 38- Terraform Variables Detailed Explanation/provider.tf:
--------------------------------------------------------------------------------
1 | provider "aws" {
2 | access_key = "${var.AWS_ACCESS_KEY}"
3 | secret_key = "${var.AWS_SECRET_KEY}"
4 | region = "${var.AWS_REGION}"
5 | }
--------------------------------------------------------------------------------
/Section 25- Kubernetes Object Management/my-serviceaccount.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ServiceAccount
3 | metadata:
4 | name: my-serviceaccount
5 | namespace: development
6 | automountServiceAccountToken: false
--------------------------------------------------------------------------------
/Section 29- Basics of Kubernetes Part II/service-yml.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 29- Basics of Kubernetes Part II/service-yml.pdf
--------------------------------------------------------------------------------
/Section 36- Micro Services in Kubernetes/node-istio.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 36- Micro Services in Kubernetes/node-istio.pdf
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/User+Data+in+AWS.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 40- Terraform for AWS Cloud/User+Data+in+AWS.pdf
--------------------------------------------------------------------------------
/Section 15- Docker Containers- Manage Data/Bind+Mounts.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 15- Docker Containers- Manage Data/Bind+Mounts.pdf
--------------------------------------------------------------------------------
/Section 15- Docker Containers- Manage Data/Data+Volumes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 15- Docker Containers- Manage Data/Data+Volumes.pdf
--------------------------------------------------------------------------------
/Section 29- Basics of Kubernetes Part II/Label-pod-yml.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 29- Basics of Kubernetes Part II/Label-pod-yml.pdf
--------------------------------------------------------------------------------
/Section 29- Basics of Kubernetes Part II/Pod-Lifecycle.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 29- Basics of Kubernetes Part II/Pod-Lifecycle.pdf
--------------------------------------------------------------------------------
/Section 31- Kubernetes Services/How+to+Use+K8s+Services.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 31- Kubernetes Services/How+to+Use+K8s+Services.pdf
--------------------------------------------------------------------------------
/Section 36- Micro Services in Kubernetes/Retry-Policy.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 36- Micro Services in Kubernetes/Retry-Policy.pdf
--------------------------------------------------------------------------------
/Section 36- Micro Services in Kubernetes/node-grafana.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 36- Micro Services in Kubernetes/node-grafana.pdf
--------------------------------------------------------------------------------
/Section 36- Micro Services in Kubernetes/node-istio (1).pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 36- Micro Services in Kubernetes/node-istio (1).pdf
--------------------------------------------------------------------------------
/Section 23- Get Started with Kubernetes/Kubernetes+Intro.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 23- Get Started with Kubernetes/Kubernetes+Intro.pdf
--------------------------------------------------------------------------------
/Section 30- Kubernetes Networking/K8s+Networking+Overview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 30- Kubernetes Networking/K8s+Networking+Overview.pdf
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/AWS+VPC+Introduction.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 40- Terraform for AWS Cloud/AWS+VPC+Introduction.pdf
--------------------------------------------------------------------------------
/Section 09- Docker Container- The Big Picture/Hello+VMware.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 09- Docker Container- The Big Picture/Hello+VMware.pdf
--------------------------------------------------------------------------------
/Section 23- Get Started with Kubernetes/Install+Kubernetes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 23- Get Started with Kubernetes/Install+Kubernetes.pdf
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/example-secrect.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Secret
3 | metadata:
4 | name: example-secret
5 | type: Opaque
6 | stringData:
7 | username: YWRtaW4=
8 | password: YWRtaW5wYXNzd29yZA==
--------------------------------------------------------------------------------
/Section 28- Deployments in Kubernetes/Deployments+Overview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 28- Deployments in Kubernetes/Deployments+Overview.pdf
--------------------------------------------------------------------------------
/Section 31- Kubernetes Services/Discover+Kubernetes+Service.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 31- Kubernetes Services/Discover+Kubernetes+Service.pdf
--------------------------------------------------------------------------------
/Section 36- Micro Services in Kubernetes/Canary-Deployment.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 36- Micro Services in Kubernetes/Canary-Deployment.pdf
--------------------------------------------------------------------------------
/Section 36- Micro Services in Kubernetes/Istio-Introduction.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 36- Micro Services in Kubernetes/Istio-Introduction.pdf
--------------------------------------------------------------------------------
/Section 39- Terraform Concepts - Building Blocks/backend.tf:
--------------------------------------------------------------------------------
1 | terraform {
2 | backend "s3" {
3 | bucket = "tf-state-98fty"
4 | key = "development/terraform_state"
5 | region = "us-east-2"
6 | }
7 | }
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/AWS+VPC+Introduction+II.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 40- Terraform for AWS Cloud/AWS+VPC+Introduction+II.pdf
--------------------------------------------------------------------------------
/Section 46- Job Scenario 2- Terraform Docker and Kubernetes/varaible.tf:
--------------------------------------------------------------------------------
1 | variable "cluster-name" {
2 | default = "levelup-tf-eks-demo"
3 | type = string
4 | }
5 |
6 | variable "AWS_REGION" {
7 | default = "eu-west-1"
8 | }
--------------------------------------------------------------------------------
/Section 53- Ansible Facts, Modules & Variables/Ansible+Facts.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 53- Ansible Facts, Modules & Variables/Ansible+Facts.pdf
--------------------------------------------------------------------------------
/Section 55- Basic of Ansible Playbook/Playbook+Introduction.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 55- Basic of Ansible Playbook/Playbook+Introduction.pdf
--------------------------------------------------------------------------------
/Section 24- Kubernetes Cluster Management/K8s+Management+Tools.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 24- Kubernetes Cluster Management/K8s+Management+Tools.pdf
--------------------------------------------------------------------------------
/Section 25- Kubernetes Object Management/Working+with+Kubectl.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 25- Kubernetes Object Management/Working+with+Kubectl.pdf
--------------------------------------------------------------------------------
/Section 27- Pods Allocation in Kubernetes/K8s+Pods+Scheduling.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 27- Pods Allocation in Kubernetes/K8s+Pods+Scheduling.pdf
--------------------------------------------------------------------------------
/Section 28- Deployments in Kubernetes/ReplicaSet+in+Kubernetes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 28- Deployments in Kubernetes/ReplicaSet+in+Kubernetes.pdf
--------------------------------------------------------------------------------
/Section 29- Basics of Kubernetes Part II/Labels+in+Kubernetes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 29- Basics of Kubernetes Part II/Labels+in+Kubernetes.pdf
--------------------------------------------------------------------------------
/Section 34- Package & Deploy on Kubernetes- HELM/What+is+HELM.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 34- Package & Deploy on Kubernetes- HELM/What+is+HELM.pdf
--------------------------------------------------------------------------------
/Section 36- Micro Services in Kubernetes/Run-Application-Istio.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 36- Micro Services in Kubernetes/Run-Application-Istio.pdf
--------------------------------------------------------------------------------
/Section 42 - Terraform Modules - Code Re-usability/Development.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 42 - Terraform Modules - Code Re-usability/Development.zip
--------------------------------------------------------------------------------
/Section 47- Job Scenario 3- Terraform & AWS ELK/casestudy#ELK.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 47- Job Scenario 3- Terraform & AWS ELK/casestudy#ELK.zip
--------------------------------------------------------------------------------
/Section 49- Ansible Introduction/Ansible+Architecture+Overview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 49- Ansible Introduction/Ansible+Architecture+Overview.pdf
--------------------------------------------------------------------------------
/Section 53- Ansible Facts, Modules & Variables/Ansible+Modules.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 53- Ansible Facts, Modules & Variables/Ansible+Modules.pdf
--------------------------------------------------------------------------------
/Section 54- Ansible Inventories/Unconfirmed 453368.crdownload:
--------------------------------------------------------------------------------
1 | [defaults]
2 | host_key_checking = False
3 | inventory = /root/ansible/inventory/dev/dev_host
4 |
5 | [inventory]
6 | enable_plugins = host_list, script, auto, yaml, ini, toml
--------------------------------------------------------------------------------
/Section 05- Branching & Merging in GIT/Concept+of+Branches+in+GIT.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 05- Branching & Merging in GIT/Concept+of+Branches+in+GIT.pdf
--------------------------------------------------------------------------------
/Section 07- Why Jenkins & Setting Up Jenkins/What+&+Why+Jenkins.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 07- Why Jenkins & Setting Up Jenkins/What+&+Why+Jenkins.pdf
--------------------------------------------------------------------------------
/Section 08- Distributed Builds in Jenkins/Create+Slave+Machines.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 08- Distributed Builds in Jenkins/Create+Slave+Machines.pdf
--------------------------------------------------------------------------------
/Section 09- Docker Container- The Big Picture/Containers+_+Primer.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 09- Docker Container- The Big Picture/Containers+_+Primer.pdf
--------------------------------------------------------------------------------
/Section 10- Getting Docker/Installing+The+Right+Docker+for++you.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 10- Getting Docker/Installing+The+Right+Docker+for++you.pdf
--------------------------------------------------------------------------------
/Section 12- Manage Docker Networking/Docker+Network+_+DNS+Concept.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 12- Manage Docker Networking/Docker+Network+_+DNS+Concept.pdf
--------------------------------------------------------------------------------
/Section 15- Docker Containers- Manage Data/Assignment+Bind+Mounts.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 15- Docker Containers- Manage Data/Assignment+Bind+Mounts.pdf
--------------------------------------------------------------------------------
/Section 15- Docker Containers- Manage Data/Persistant+Data+Issue.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 15- Docker Containers- Manage Data/Persistant+Data+Issue.pdf
--------------------------------------------------------------------------------
/Section 24- Kubernetes Cluster Management/K8s+Management+Overview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 24- Kubernetes Cluster Management/K8s+Management+Overview.pdf
--------------------------------------------------------------------------------
/Section 25- Kubernetes Object Management/User+Management+in+K8s.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 25- Kubernetes Object Management/User+Management+in+K8s.pdf
--------------------------------------------------------------------------------
/Section 29- Basics of Kubernetes Part II/Lab-Lables-in-Kubernetes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 29- Basics of Kubernetes Part II/Lab-Lables-in-Kubernetes.pdf
--------------------------------------------------------------------------------
/Section 29- Basics of Kubernetes Part II/Services-in-Kubernetes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 29- Basics of Kubernetes Part II/Services-in-Kubernetes.pdf
--------------------------------------------------------------------------------
/Section 29- Basics of Kubernetes Part II/pod-lifecycle-hooks-yml.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 29- Basics of Kubernetes Part II/pod-lifecycle-hooks-yml.pdf
--------------------------------------------------------------------------------
/Section 42 - Terraform Modules - Code Re-usability/Development_QA.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 42 - Terraform Modules - Code Re-usability/Development_QA.zip
--------------------------------------------------------------------------------
/Section 43- Conditions, Loops in Terraform/Loops+in+TerraFrom+HCL.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 43- Conditions, Loops in Terraform/Loops+in+TerraFrom+HCL.pdf
--------------------------------------------------------------------------------
/Section 44- Packer and Terraform/Packer+Introduction+and+It's+Use.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 44- Packer and Terraform/Packer+Introduction+and+It's+Use.pdf
--------------------------------------------------------------------------------
/Section 47- Job Scenario 3- Terraform & AWS ELK/casestudy#ELK (1).zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 47- Job Scenario 3- Terraform & AWS ELK/casestudy#ELK (1).zip
--------------------------------------------------------------------------------
/Section 49- Ansible Introduction/Ansible+Introduction+_+As+a+Tool.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 49- Ansible Introduction/Ansible+Introduction+_+As+a+Tool.pdf
--------------------------------------------------------------------------------
/Section 49- Ansible Introduction/Preview+Automation+with+Ansible.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 49- Ansible Introduction/Preview+Automation+with+Ansible.pdf
--------------------------------------------------------------------------------
/Section 04- GIT with GITHUB Advance/Revert+in+Previous+State+in+Git.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 04- GIT with GITHUB Advance/Revert+in+Previous+State+in+Git.pdf
--------------------------------------------------------------------------------
/Section 12- Manage Docker Networking/Docker+Network+CLI+Operations.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 12- Manage Docker Networking/Docker+Network+CLI+Operations.pdf
--------------------------------------------------------------------------------
/Section 12- Manage Docker Networking/Introduction+to+Docker+Network.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 12- Manage Docker Networking/Introduction+to+Docker+Network.pdf
--------------------------------------------------------------------------------
/Section 13- Docker Container Images- Beginning/Docker+Image+Tagging.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 13- Docker Container Images- Beginning/Docker+Image+Tagging.pdf
--------------------------------------------------------------------------------
/Section 15- Docker Containers- Manage Data/Assignment+Named+Volumes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 15- Docker Containers- Manage Data/Assignment+Named+Volumes.pdf
--------------------------------------------------------------------------------
/Section 24- Kubernetes Cluster Management/High+Availability+in+K8s.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 24- Kubernetes Cluster Management/High+Availability+in+K8s.pdf
--------------------------------------------------------------------------------
/Section 27- Pods Allocation in Kubernetes/DaemonSets+in+Kubernetes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 27- Pods Allocation in Kubernetes/DaemonSets+in+Kubernetes.pdf
--------------------------------------------------------------------------------
/Section 27- Pods Allocation in Kubernetes/Static+Pods+in+Kubernetes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 27- Pods Allocation in Kubernetes/Static+Pods+in+Kubernetes.pdf
--------------------------------------------------------------------------------
/Section 29- Basics of Kubernetes Part II/Lab-Services-in-Kubernetes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 29- Basics of Kubernetes Part II/Lab-Services-in-Kubernetes.pdf
--------------------------------------------------------------------------------
/Section 30- Kubernetes Networking/Using+Kubernetes+Network+Policies.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 30- Kubernetes Networking/Using+Kubernetes+Network+Policies.pdf
--------------------------------------------------------------------------------
/Section 53- Ansible Facts, Modules & Variables/Create+Custom+Facts.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 53- Ansible Facts, Modules & Variables/Create+Custom+Facts.pdf
--------------------------------------------------------------------------------
/Section 01- Understanding of DevOps & DevOps Process/What+is+DevOps.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 01- Understanding of DevOps & DevOps Process/What+is+DevOps.pptx
--------------------------------------------------------------------------------
/Section 09- Docker Container- The Big Picture/Docker+_+The+Technology.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 09- Docker Container- The Big Picture/Docker+_+The+Technology.pdf
--------------------------------------------------------------------------------
/Section 12- Manage Docker Networking/Explore+Docker+Container+Networks.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 12- Manage Docker Networking/Explore+Docker+Container+Networks.pdf
--------------------------------------------------------------------------------
/Section 15- Docker Containers- Manage Data/Assigment+Answer+Bind+Mount.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 15- Docker Containers- Manage Data/Assigment+Answer+Bind+Mount.pdf
--------------------------------------------------------------------------------
/Section 22- Docker Swarm Service Management/Constraint+in+Stack+File.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 22- Docker Swarm Service Management/Constraint+in+Stack+File.pdf
--------------------------------------------------------------------------------
/Section 23- Get Started with Kubernetes/Using+NameSpaces+in+Kubernetes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 23- Get Started with Kubernetes/Using+NameSpaces+in+Kubernetes.pdf
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/Pods+Restart+Policies+.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 26- Pods and Containers in Kubernetes/Pods+Restart+Policies+.pdf
--------------------------------------------------------------------------------
/Section 27- Pods Allocation in Kubernetes/Node+Affinity+in+Kubernetes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 27- Pods Allocation in Kubernetes/Node+Affinity+in+Kubernetes.pdf
--------------------------------------------------------------------------------
/Section 31- Kubernetes Services/Manage+Access+via+Ingress+Controller.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 31- Kubernetes Services/Manage+Access+via+Ingress+Controller.pdf
--------------------------------------------------------------------------------
/Section 33- Troubleshoot Self Managed K8s Cluster/Get+Container+Logs.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 33- Troubleshoot Self Managed K8s Cluster/Get+Container+Logs.pdf
--------------------------------------------------------------------------------
/Section 34- Package & Deploy on Kubernetes- HELM/HELM+Charts+and+Repos.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 34- Package & Deploy on Kubernetes- HELM/HELM+Charts+and+Repos.pdf
--------------------------------------------------------------------------------
/Section 35- Serverless Functions on Kubernetes/Demo-Kubeless-Functions.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 35- Serverless Functions on Kubernetes/Demo-Kubeless-Functions.pdf
--------------------------------------------------------------------------------
/Section 35- Serverless Functions on Kubernetes/Kubeless-Introduction.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 35- Serverless Functions on Kubernetes/Kubeless-Introduction.pdf
--------------------------------------------------------------------------------
/Section 37- Start With Terraform Basics/Terraform+State+_+The+Concept.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 37- Start With Terraform Basics/Terraform+State+_+The+Concept.pdf
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/Elastic+Block+Store+(EBS)+in+AWS.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 40- Terraform for AWS Cloud/Elastic+Block+Store+(EBS)+in+AWS.pdf
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/Launch+EC2+Instance+in+Custom+VPC.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 40- Terraform for AWS Cloud/Launch+EC2+Instance+in+Custom+VPC.pdf
--------------------------------------------------------------------------------
/Section 43- Conditions, Loops in Terraform/Terraform+Project+Structure.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 43- Conditions, Loops in Terraform/Terraform+Project+Structure.pdf
--------------------------------------------------------------------------------
/Section 43- Conditions, Loops in Terraform/Terraform_Project_Structure.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 43- Conditions, Loops in Terraform/Terraform_Project_Structure.zip
--------------------------------------------------------------------------------
/Section 43- Conditions, Loops in Terraform/varaible.tf:
--------------------------------------------------------------------------------
1 | variable "AWS_REGION" {
2 | type = string
3 | default = "us-east-2"
4 | }
5 |
6 | variable "environment" {
7 | type = string
8 | default = "Production"
9 | }
--------------------------------------------------------------------------------
/Section 52- Ansible Ad-Hoc Commands/Syntax+of+Ansible+Ad-Hoc+Commands.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 52- Ansible Ad-Hoc Commands/Syntax+of+Ansible+Ad-Hoc+Commands.pdf
--------------------------------------------------------------------------------
/Section 54- Ansible Inventories/Work+with+Dynamic+Inventory+Script+AWS.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 54- Ansible Inventories/Work+with+Dynamic+Inventory+Script+AWS.pdf
--------------------------------------------------------------------------------
/Section 08- Distributed Builds in Jenkins/Distributed+Builds+in+Jenkins.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 08- Distributed Builds in Jenkins/Distributed+Builds+in+Jenkins.pdf
--------------------------------------------------------------------------------
/Section 10- Getting Docker/Required+SetUp+for+Docker+Engine+Installation.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 10- Getting Docker/Required+SetUp+for+Docker+Engine+Installation.pdf
--------------------------------------------------------------------------------
/Section 22- Docker Swarm Service Management/ZeroDownTime+Service+Update.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 22- Docker Swarm Service Management/ZeroDownTime+Service+Update.pdf
--------------------------------------------------------------------------------
/Section 23- Get Started with Kubernetes/Kubernetes+Architecture+Overview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 23- Get Started with Kubernetes/Kubernetes+Architecture+Overview.pdf
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/Manage+Container+Resources.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 26- Pods and Containers in Kubernetes/Manage+Container+Resources.pdf
--------------------------------------------------------------------------------
/Section 28- Deployments in Kubernetes/Scaling+Application+in+Kubernetes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 28- Deployments in Kubernetes/Scaling+Application+in+Kubernetes.pdf
--------------------------------------------------------------------------------
/Section 34- Package & Deploy on Kubernetes- HELM/With+HELM+or+After+HELM.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 34- Package & Deploy on Kubernetes- HELM/With+HELM+or+After+HELM.pdf
--------------------------------------------------------------------------------
/Section 35- Serverless Functions on Kubernetes/Serverless-on-Kubernetes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 35- Serverless Functions on Kubernetes/Serverless-on-Kubernetes.pdf
--------------------------------------------------------------------------------
/Section 39- Terraform Concepts - Building Blocks/DataSource+in+Terraform.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 39- Terraform Concepts - Building Blocks/DataSource+in+Terraform.pdf
--------------------------------------------------------------------------------
/Section 39- Terraform Concepts - Building Blocks/Output+Attribute+in+TF.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 39- Terraform Concepts - Building Blocks/Output+Attribute+in+TF.pdf
--------------------------------------------------------------------------------
/Section 43- Conditions, Loops in Terraform/Terraform+Built-In+Functions.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 43- Conditions, Loops in Terraform/Terraform+Built-In+Functions.pdf
--------------------------------------------------------------------------------
/Section 51- Configure Ansible Engine and Ansible Clients/SetUp+AWS+Nodes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 51- Configure Ansible Engine and Ansible Clients/SetUp+AWS+Nodes.pdf
--------------------------------------------------------------------------------
/Section 52- Ansible Ad-Hoc Commands/Install+Packages+on+Ansible+Clients.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 52- Ansible Ad-Hoc Commands/Install+Packages+on+Ansible+Clients.pdf
--------------------------------------------------------------------------------
/Section 52- Ansible Ad-Hoc Commands/Transfer+file+from+Engine+to+Clients.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 52- Ansible Ad-Hoc Commands/Transfer+file+from+Engine+to+Clients.pdf
--------------------------------------------------------------------------------
/Section 55- Basic of Ansible Playbook/Start+Writing-Executing+PlayBooks.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 55- Basic of Ansible Playbook/Start+Writing-Executing+PlayBooks.pdf
--------------------------------------------------------------------------------
/Section 01- Understanding of DevOps & DevOps Process/Continuous-Deployment.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 01- Understanding of DevOps & DevOps Process/Continuous-Deployment.pptx
--------------------------------------------------------------------------------
/Section 15- Docker Containers- Manage Data/Assignment+Answer+Data+Volumes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 15- Docker Containers- Manage Data/Assignment+Answer+Data+Volumes.pdf
--------------------------------------------------------------------------------
/Section 19- Docker Swarm Features and Applications/Networks+in+Docker+Swarm.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 19- Docker Swarm Features and Applications/Networks+in+Docker+Swarm.pdf
--------------------------------------------------------------------------------
/Section 22- Docker Swarm Service Management/HealthCheck+in+Docker+Services.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 22- Docker Swarm Service Management/HealthCheck+in+Docker+Services.pdf
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/Creating+Multi+Container+Pods.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 26- Pods and Containers in Kubernetes/Creating+Multi+Container+Pods.pdf
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/Pods+and+Containers+Overview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 26- Pods and Containers in Kubernetes/Pods+and+Containers+Overview.pdf
--------------------------------------------------------------------------------
/Section 32- Kubernetes Storage/localhost-sc.yml:
--------------------------------------------------------------------------------
1 | apiVersion: storage.k8s.io/v1
2 | kind: StorageClass
3 | metadata:
4 | name: local-storage
5 | provisioner: kubernetes.io/no-provisioner
6 | volumeBindingMode: WaitForFirstConsumer
7 | allowVolumeExpansion: true
--------------------------------------------------------------------------------
/Section 33- Troubleshoot Self Managed K8s Cluster/Get+Cluster+&+Node+Logs.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 33- Troubleshoot Self Managed K8s Cluster/Get+Cluster+&+Node+Logs.pdf
--------------------------------------------------------------------------------
/Section 37- Start With Terraform Basics/Terraform+Provider+&+Initialization.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 37- Start With Terraform Basics/Terraform+Provider+&+Initialization.pdf
--------------------------------------------------------------------------------
/Section 38- Terraform Variables Detailed Explanation/Variables+in+Terraform.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 38- Terraform Variables Detailed Explanation/Variables+in+Terraform.pdf
--------------------------------------------------------------------------------
/Section 38- Terraform Variables Detailed Explanation/createInstance.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "aws_instance" "MyFirstInstnace" {
3 | ami = "ami-05692172625678b4e"
4 | instance_type = "t2.micro"
5 |
6 | tags = {
7 | Name = "demoinstnce"
8 | }
9 | }
--------------------------------------------------------------------------------
/Section 39- Terraform Concepts - Building Blocks/Remote+State+in+Terraform.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 39- Terraform Concepts - Building Blocks/Remote+State+in+Terraform.pdf
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/installapache.sh:
--------------------------------------------------------------------------------
1 | #! /bin/bash
2 | apt-get update
3 | apt-get install -y apache2
4 | systemctl start apache2
5 | systemctl enable apache2
6 | echo "
Deployed Machine via Terraform
" | sudo tee /var/www/html/index.html
7 |
--------------------------------------------------------------------------------
/Section 46- Job Scenario 2- Terraform Docker and Kubernetes/casestudy#eks.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 46- Job Scenario 2- Terraform Docker and Kubernetes/casestudy#eks.zip
--------------------------------------------------------------------------------
/Section 47- Job Scenario 3- Terraform & AWS ELK/ELK+Basics+and+Application.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 47- Job Scenario 3- Terraform & AWS ELK/ELK+Basics+and+Application.pdf
--------------------------------------------------------------------------------
/Section 48- Terraform Hashicorp Certification Guide/Use+the+Terraform+CLI.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 48- Terraform Hashicorp Certification Guide/Use+the+Terraform+CLI.pdf
--------------------------------------------------------------------------------
/Section 54- Ansible Inventories/Work+with+Dynamic+Inventory+Script+AWS (1).pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 54- Ansible Inventories/Work+with+Dynamic+Inventory+Script+AWS (1).pdf
--------------------------------------------------------------------------------
/Section 56- Basic Concepts of Ansible PlayBooks/Data+Collection+in+Ansible.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 56- Basic Concepts of Ansible PlayBooks/Data+Collection+in+Ansible.pdf
--------------------------------------------------------------------------------
/Section 01- Understanding of DevOps & DevOps Process/Continuous+Development+.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 01- Understanding of DevOps & DevOps Process/Continuous+Development+.pptx
--------------------------------------------------------------------------------
/Section 11- Creating & Managing Docker Containers/Docker+Container+Monitoring.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 11- Creating & Managing Docker Containers/Docker+Container+Monitoring.pdf
--------------------------------------------------------------------------------
/Section 13- Docker Container Images- Beginning/Concept+of+Docker+Image+Layers.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 13- Docker Container Images- Beginning/Concept+of+Docker+Image+Layers.pdf
--------------------------------------------------------------------------------
/Section 33- Troubleshoot Self Managed K8s Cluster/TroubleShooting+K8s+Cluster.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 33- Troubleshoot Self Managed K8s Cluster/TroubleShooting+K8s+Cluster.pdf
--------------------------------------------------------------------------------
/Section 34- Package & Deploy on Kubernetes- HELM/Before+HELM+or+Without+HELM.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 34- Package & Deploy on Kubernetes- HELM/Before+HELM+or+Without+HELM.pdf
--------------------------------------------------------------------------------
/Section 36- Micro Services in Kubernetes/Install-Istio-on-Kubernetes-Cluster.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 36- Micro Services in Kubernetes/Install-Istio-on-Kubernetes-Cluster.pdf
--------------------------------------------------------------------------------
/Section 43- Conditions, Loops in Terraform/Condition+Statements+in+Terraform.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 43- Conditions, Loops in Terraform/Condition+Statements+in+Terraform.pdf
--------------------------------------------------------------------------------
/Section 45- Job Scenario 1- End to End Web-Application Deployment/casestudy#1.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 45- Job Scenario 1- End to End Web-Application Deployment/casestudy#1.zip
--------------------------------------------------------------------------------
/Section 52- Ansible Ad-Hoc Commands/Manage+File_Directory+on+Ansible+Clients.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 52- Ansible Ad-Hoc Commands/Manage+File_Directory+on+Ansible+Clients.pdf
--------------------------------------------------------------------------------
/Section 56- Basic Concepts of Ansible PlayBooks/Uses+of+Set_Fact+and+Register.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 56- Basic Concepts of Ansible PlayBooks/Uses+of+Set_Fact+and+Register.pdf
--------------------------------------------------------------------------------
/Section 17- Docker Compose- Multi Container Orchestration/Role+of+Docker+Compose.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 17- Docker Compose- Multi Container Orchestration/Role+of+Docker+Compose.pdf
--------------------------------------------------------------------------------
/Section 17- Docker Compose- Multi Container Orchestration/YAML+File+Fundamentals.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 17- Docker Compose- Multi Container Orchestration/YAML+File+Fundamentals.pdf
--------------------------------------------------------------------------------
/Section 24- Kubernetes Cluster Management/Maintenance+Window+Kubernetes+Cluster.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 24- Kubernetes Cluster Management/Maintenance+Window+Kubernetes+Cluster.pdf
--------------------------------------------------------------------------------
/Section 25- Kubernetes Object Management/Service+Accounts+in+Kubernetes+Cluster.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 25- Kubernetes Object Management/Service+Accounts+in+Kubernetes+Cluster.pdf
--------------------------------------------------------------------------------
/Section 46- Job Scenario 2- Terraform Docker and Kubernetes/AWS+EKS+Introduction.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 46- Job Scenario 2- Terraform Docker and Kubernetes/AWS+EKS+Introduction.pdf
--------------------------------------------------------------------------------
/Section 46- Job Scenario 2- Terraform Docker and Kubernetes/provider.tf:
--------------------------------------------------------------------------------
1 | provider "aws" {
2 | region = var.AWS_REGION
3 | }
4 |
5 | data "aws_region" "current" {
6 | }
7 |
8 | data "aws_availability_zones" "available" {
9 | }
10 |
11 | provider "http" {
12 | }
--------------------------------------------------------------------------------
/Section 48- Terraform Hashicorp Certification Guide/Implement+and+Maintain+State.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 48- Terraform Hashicorp Certification Guide/Implement+and+Maintain+State.pdf
--------------------------------------------------------------------------------
/Section 48- Terraform Hashicorp Certification Guide/Navigate+Terraform+workflow.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 48- Terraform Hashicorp Certification Guide/Navigate+Terraform+workflow.pdf
--------------------------------------------------------------------------------
/Section 54- Ansible Inventories/Work+with+Dynamic+Inventory+Script+Google+Cloud.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 54- Ansible Inventories/Work+with+Dynamic+Inventory+Script+Google+Cloud.pdf
--------------------------------------------------------------------------------
/Section 14- Docker Container Images- Build Container Images/Basics+of+Docker+File.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 14- Docker Container Images- Build Container Images/Basics+of+Docker+File.pdf
--------------------------------------------------------------------------------
/Section 19- Docker Swarm Features and Applications/Lab+_+Networks+in+Docker+Swarm.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 19- Docker Swarm Features and Applications/Lab+_+Networks+in+Docker+Swarm.pdf
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/Manage+Container+HealthCheck+in+K8s.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 26- Pods and Containers in Kubernetes/Manage+Container+HealthCheck+in+K8s.pdf
--------------------------------------------------------------------------------
/Section 33- Troubleshoot Self Managed K8s Cluster/Troubleshoot+Applications+in+K8s.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 33- Troubleshoot Self Managed K8s Cluster/Troubleshoot+Applications+in+K8s.pdf
--------------------------------------------------------------------------------
/Section 38- Terraform Variables Detailed Explanation/Use+of+Variable+in+Conf+File.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 38- Terraform Variables Detailed Explanation/Use+of+Variable+in+Conf+File.pdf
--------------------------------------------------------------------------------
/Section 39- Terraform Concepts - Building Blocks/Provision+Software+with+Terraform.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 39- Terraform Concepts - Building Blocks/Provision+Software+with+Terraform.pdf
--------------------------------------------------------------------------------
/Section 48- Terraform Hashicorp Certification Guide/Understand+Terraform's+Purpose.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 48- Terraform Hashicorp Certification Guide/Understand+Terraform's+Purpose.pdf
--------------------------------------------------------------------------------
/Section 48- Terraform Hashicorp Certification Guide/Understand+Terraform+Basics+I.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 48- Terraform Hashicorp Certification Guide/Understand+Terraform+Basics+I.pdf
--------------------------------------------------------------------------------
/Section 48- Terraform Hashicorp Certification Guide/Understand+Terraform+Basics+II.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 48- Terraform Hashicorp Certification Guide/Understand+Terraform+Basics+II.pdf
--------------------------------------------------------------------------------
/Section 11- Creating & Managing Docker Containers/Manage+Containers+on+Host+Machine.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 11- Creating & Managing Docker Containers/Manage+Containers+on+Host+Machine.pdf
--------------------------------------------------------------------------------
/Section 13- Docker Container Images- Beginning/Docker+Image+Basics+and+Understanding.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 13- Docker Container Images- Beginning/Docker+Image+Basics+and+Understanding.pdf
--------------------------------------------------------------------------------
/Section 14- Docker Container Images- Build Container Images/Docker+File+Instructions.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 14- Docker Container Images- Build Container Images/Docker+File+Instructions.pdf
--------------------------------------------------------------------------------
/Section 18- Docker Swarm Introduction- Swarm Orchestration/Docker+Swarm+Introduction.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 18- Docker Swarm Introduction- Swarm Orchestration/Docker+Swarm+Introduction.pdf
--------------------------------------------------------------------------------
/Section 18- Docker Swarm Introduction- Swarm Orchestration/Docker+Swarm+Terminology.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 18- Docker Swarm Introduction- Swarm Orchestration/Docker+Swarm+Terminology.pdf
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/Container+Initialisation+in+Kubernetes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 26- Pods and Containers in Kubernetes/Container+Initialisation+in+Kubernetes.pdf
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/Manage+Application+Configuration+in+K8s.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 26- Pods and Containers in Kubernetes/Manage+Application+Configuration+in+K8s.pdf
--------------------------------------------------------------------------------
/Section 31- Kubernetes Services/pod-svc-test.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: pod-svc-test
5 | spec:
6 | containers:
7 | - name: busybox
8 | image: radial/busyboxplus:curl
9 | command:
10 | - sleep
11 | - '3600'
--------------------------------------------------------------------------------
/Section 32- Kubernetes Storage/my-pvc.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: PersistentVolumeClaim
3 | metadata:
4 | name: my-pvc
5 | spec:
6 | storageClassName: local-storage
7 | accessModes:
8 | - ReadWriteOnce
9 | resources:
10 | requests:
11 | storage: 100mi
--------------------------------------------------------------------------------
/Section 42 - Terraform Modules - Code Re-usability/Terraform+Module+and+Application.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 42 - Terraform Modules - Code Re-usability/Terraform+Module+and+Application.pdf
--------------------------------------------------------------------------------
/Section 48- Terraform Hashicorp Certification Guide/Interact+with+Terraform+modules.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 48- Terraform Hashicorp Certification Guide/Interact+with+Terraform+modules.pdf
--------------------------------------------------------------------------------
/Section 50- Ansible Environment Preparation & Installation/Install+Ansible+Using+PIP.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 50- Ansible Environment Preparation & Installation/Install+Ansible+Using+PIP.pdf
--------------------------------------------------------------------------------
/Section 11- Creating & Managing Docker Containers/Execute+Commands+in+Running+Container.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 11- Creating & Managing Docker Containers/Execute+Commands+in+Running+Container.pdf
--------------------------------------------------------------------------------
/Section 11- Creating & Managing Docker Containers/Execute+Your+Application+in+Container.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 11- Creating & Managing Docker Containers/Execute+Your+Application+in+Container.pdf
--------------------------------------------------------------------------------
/Section 11- Creating & Managing Docker Containers/How+Containers+are+Different+from+VMs.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 11- Creating & Managing Docker Containers/How+Containers+are+Different+from+VMs.pdf
--------------------------------------------------------------------------------
/Section 11- Creating & Managing Docker Containers/Manage+Containers+on+Host+Machine+II.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 11- Creating & Managing Docker Containers/Manage+Containers+on+Host+Machine+II.pdf
--------------------------------------------------------------------------------
/Section 14- Docker Container Images- Build Container Images/Create+Custom+Docker+Image.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 14- Docker Container Images- Build Container Images/Create+Custom+Docker+Image.pdf
--------------------------------------------------------------------------------
/Section 17- Docker Compose- Multi Container Orchestration/Create+a+Docker+Compose+File.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 17- Docker Compose- Multi Container Orchestration/Create+a+Docker+Compose+File.pdf
--------------------------------------------------------------------------------
/Section 41- Terraform for AWS Cloud Part II/s3bucket.tf:
--------------------------------------------------------------------------------
1 | #Create AWS S3 Bucket
2 |
3 | resource "aws_s3_bucket" "levelup-s3bucket" {
4 | bucket = "levelup-bucket-141"
5 | acl = "private"
6 |
7 | tags = {
8 | Name = "levelup-bucket-141"
9 | }
10 | }
11 |
12 |
--------------------------------------------------------------------------------
/Section 42 - Terraform Modules - Code Re-usability/output.tf:
--------------------------------------------------------------------------------
1 | output "vpc_id" {
2 | value = aws_vpc.levelup_vpc.id
3 | }
4 | output "public_subnet_id" {
5 | value = aws_subnet.subnet_public.id
6 | }
7 | output "sg_22_id" {
8 | value = ["${aws_security_group.levelup_sg_22.id}"]
9 | }
--------------------------------------------------------------------------------
/Section 45- Job Scenario 1- End to End Web-Application Deployment/Application+Overview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 45- Job Scenario 1- End to End Web-Application Deployment/Application+Overview.pdf
--------------------------------------------------------------------------------
/Section 11- Creating & Managing Docker Containers/Check+Docker+Install+and+Configurations.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 11- Creating & Managing Docker Containers/Check+Docker+Install+and+Configurations.pdf
--------------------------------------------------------------------------------
/Section 14- Docker Container Images- Build Container Images/Assignment_+Build+Docker+Image.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 14- Docker Container Images- Build Container Images/Assignment_+Build+Docker+Image.pdf
--------------------------------------------------------------------------------
/Section 17- Docker Compose- Multi Container Orchestration/Build+Images+with+Docker+Compose.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 17- Docker Compose- Multi Container Orchestration/Build+Images+with+Docker+Compose.pdf
--------------------------------------------------------------------------------
/Section 18- Docker Swarm Introduction- Swarm Orchestration/Create+Service+on+Docker+Swarm.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 18- Docker Swarm Introduction- Swarm Orchestration/Create+Service+on+Docker+Swarm.pdf
--------------------------------------------------------------------------------
/Section 18- Docker Swarm Introduction- Swarm Orchestration/Online+Free+Docker+Swarm+SetUp.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 18- Docker Swarm Introduction- Swarm Orchestration/Online+Free+Docker+Swarm+SetUp.pdf
--------------------------------------------------------------------------------
/Section 21- Docker Swarm Secrets Management- Protect Sensitive Data/Store+Secret+in+Swarm.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 21- Docker Swarm Secrets Management- Protect Sensitive Data/Store+Secret+in+Swarm.pdf
--------------------------------------------------------------------------------
/Section 31- Kubernetes Services/clusterIp-service.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: nginx-service
5 | spec:
6 | type: ClusterIP
7 | selector:
8 | app: frontend
9 | ports:
10 | - protocol: TCP
11 | port: 80
12 | targetPort: 8080
--------------------------------------------------------------------------------
/Section 50- Ansible Environment Preparation & Installation/Ansible+Installation+Overview.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 50- Ansible Environment Preparation & Installation/Ansible+Installation+Overview.pdf
--------------------------------------------------------------------------------
/Section 57- Operators and Conditional Statement in Ansible Playbook/Comparison+Operators.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 57- Operators and Conditional Statement in Ansible Playbook/Comparison+Operators.pdf
--------------------------------------------------------------------------------
/Section 09- Docker Container- The Big Picture/Boxed+Brilliance_+The+Evolution+of+Containers.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 09- Docker Container- The Big Picture/Boxed+Brilliance_+The+Evolution+of+Containers.pdf
--------------------------------------------------------------------------------
/Section 13- Docker Container Images- Beginning/Docker+Central+Repositories+for+Docker+Images.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 13- Docker Container Images- Beginning/Docker+Central+Repositories+for+Docker+Images.pdf
--------------------------------------------------------------------------------
/Section 48- Terraform Hashicorp Certification Guide/Read,+generate,+and+modify+configuration.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 48- Terraform Hashicorp Certification Guide/Read,+generate,+and+modify+configuration.pdf
--------------------------------------------------------------------------------
/Section 11- Creating & Managing Docker Containers/Assignment+_+SetUp+End+to+End+WebApplication.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 11- Creating & Managing Docker Containers/Assignment+_+SetUp+End+to+End+WebApplication.pdf
--------------------------------------------------------------------------------
/Section 19- Docker Swarm Features and Applications/Service+Traffic+Management+in+Docker+Swarm.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 19- Docker Swarm Features and Applications/Service+Traffic+Management+in+Docker+Swarm.pdf
--------------------------------------------------------------------------------
/Section 21- Docker Swarm Secrets Management- Protect Sensitive Data/Deploy+Stack+using+Secret.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 21- Docker Swarm Secrets Management- Protect Sensitive Data/Deploy+Stack+using+Secret.pdf
--------------------------------------------------------------------------------
/Section 25- Kubernetes Object Management/pod-reader-role.yml:
--------------------------------------------------------------------------------
1 | apiVersion: rbac.authorization.k8s.io/v1
2 | kind: Role
3 | metadata:
4 | namespace: development
5 | name: pod-reader
6 | rules:
7 | - apiGroups: [""]
8 | resources: ["pods", "pods/log"]
9 | verbs: ["get", "watch", "list", "update"]
--------------------------------------------------------------------------------
/Section 51- Configure Ansible Engine and Ansible Clients/Connect+AWS+Nodes+with+Ansible+Engine.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 51- Configure Ansible Engine and Ansible Clients/Connect+AWS+Nodes+with+Ansible+Engine.pdf
--------------------------------------------------------------------------------
/Section 56- Basic Concepts of Ansible PlayBooks/Logging+Debug+Statement+using+Ansible+Playbooks.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 56- Basic Concepts of Ansible PlayBooks/Logging+Debug+Statement+using+Ansible+Playbooks.pdf
--------------------------------------------------------------------------------
/Section 62- Working with include and import module in Ansible/play2.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: Play 2 from Include
3 | hosts: localhost
4 | gather_facts: false
5 |
6 | tasks:
7 | - name: Play 2 - Task 1
8 | debug:
9 | msg: "Play 2 - Task 1"
--------------------------------------------------------------------------------
/Section 13- Docker Container Images- Beginning/Upload+Your+Docker+Image+to+Cloud_Docker+Registry.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 13- Docker Container Images- Beginning/Upload+Your+Docker+Image+to+Cloud_Docker+Registry.pdf
--------------------------------------------------------------------------------
/Section 16- Handle Persistent Data in Docker Containers/Issue+with+Persistent+Data+in+Containers.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 16- Handle Persistent Data in Docker Containers/Issue+with+Persistent+Data+in+Containers.pdf
--------------------------------------------------------------------------------
/Section 16- Handle Persistent Data in Docker Containers/Persistent+Data+_+Handle+with+Data+Binds.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 16- Handle Persistent Data in Docker Containers/Persistent+Data+_+Handle+with+Data+Binds.pdf
--------------------------------------------------------------------------------
/Section 18- Docker Swarm Introduction- Swarm Orchestration/Docker+Swarm+Initialisation,+Commands.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 18- Docker Swarm Introduction- Swarm Orchestration/Docker+Swarm+Initialisation,+Commands.pdf
--------------------------------------------------------------------------------
/Section 16- Handle Persistent Data in Docker Containers/Assignment+_+Bind+Mounts+in+Docker+Container.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 16- Handle Persistent Data in Docker Containers/Assignment+_+Bind+Mounts+in+Docker+Container.pdf
--------------------------------------------------------------------------------
/Section 16- Handle Persistent Data in Docker Containers/Persistent+Data+_+Handle+with+Data+Volumes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 16- Handle Persistent Data in Docker Containers/Persistent+Data+_+Handle+with+Data+Volumes.pdf
--------------------------------------------------------------------------------
/Section 21- Docker Swarm Secrets Management- Protect Sensitive Data/Create+Secret+in+Docker+Service.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 21- Docker Swarm Secrets Management- Protect Sensitive Data/Create+Secret+in+Docker+Service.pdf
--------------------------------------------------------------------------------
/Section 22- Docker Swarm Service Management/Manage+Container+Placement+in+Swarm+Service+Constraints.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 22- Docker Swarm Service Management/Manage+Container+Placement+in+Swarm+Service+Constraints.pdf
--------------------------------------------------------------------------------
/Section 31- Kubernetes Services/nginx-deployment-service.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: nginx-official-service
5 | spec:
6 | type: NodePort
7 | ports:
8 | - protocol: TCP
9 | port: 80
10 | nodePort: 31303
11 | selector:
12 | app: nginx-official
--------------------------------------------------------------------------------
/Section 48- Terraform Hashicorp Certification Guide/Understand+Infrastructure+as+Code+(IaC)+Concepts.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 48- Terraform Hashicorp Certification Guide/Understand+Infrastructure+as+Code+(IaC)+Concepts.pdf
--------------------------------------------------------------------------------
/Section 57- Operators and Conditional Statement in Ansible Playbook/Membership+Operators+in+Ansible.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 57- Operators and Conditional Statement in Ansible Playbook/Membership+Operators+in+Ansible.pdf
--------------------------------------------------------------------------------
/Section 16- Handle Persistent Data in Docker Containers/Assignment+_+Data+Volumes+in+Docker+Container.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 16- Handle Persistent Data in Docker Containers/Assignment+_+Data+Volumes+in+Docker+Container.pdf
--------------------------------------------------------------------------------
/Section 19- Docker Swarm Features and Applications/Lab+_+Deploy+Multi-Node+Application+in+Docker+Swarm.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 19- Docker Swarm Features and Applications/Lab+_+Deploy+Multi-Node+Application+in+Docker+Swarm.pdf
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/example-posix-configMap.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: player-posix-demo
5 | data:
6 | PLAYER_LIVES: "5"
7 | PROPERTIES_FILE_NAME: "user-interface.properties"
8 | BASE_PROPERTIES: "Template1"
9 | USER_INTERFACE_PROPERTIES: "Dark"
--------------------------------------------------------------------------------
/Section 31- Kubernetes Services/dns-service-pod.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: svc-test-dns
5 | namespace: service-namespace
6 | spec:
7 | containers:
8 | - name: busybox-svc
9 | image: radial/busyboxplus:curl
10 | command:
11 | - sleep
12 | - '3600'
--------------------------------------------------------------------------------
/Section 31- Kubernetes Services/nodeport-service.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: nginx-service-nodeport
5 | spec:
6 | type: NodePort
7 | selector:
8 | app: frontend
9 | ports:
10 | - protocol: TCP
11 | port: 80
12 | targetPort: 80
13 | nodePort: 30099
--------------------------------------------------------------------------------
/Section 54- Ansible Inventories/demo.gcp.yml:
--------------------------------------------------------------------------------
1 | plugin: gcp_compute
2 | projects:
3 | - velvety-castle-269006
4 | auth_kind: serviceaccount
5 | service_account_file: /root/ansible/ansible-gcp-service-account.json
6 | keyed_groups:
7 | - key: labels
8 | prefix: label
9 | - key: zone
10 | prefix: zone
--------------------------------------------------------------------------------
/Section 11- Creating & Managing Docker Containers/Get+Familiar+with+Docker+Container+and+Container+Registry.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 11- Creating & Managing Docker Containers/Get+Familiar+with+Docker+Container+and+Container+Registry.pdf
--------------------------------------------------------------------------------
/Section 20- Docker Swarm Stack Deployment- Multi Service Deployment/Swarm+_+Deploy+Distributed+Application.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 20- Docker Swarm Stack Deployment- Multi Service Deployment/Swarm+_+Deploy+Distributed+Application.pdf
--------------------------------------------------------------------------------
/Section 48- Terraform Hashicorp Certification Guide/Understand+Terraform+Cloud+and+Enterprise+Capabilities.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 48- Terraform Hashicorp Certification Guide/Understand+Terraform+Cloud+and+Enterprise+Capabilities.pdf
--------------------------------------------------------------------------------
/Section 19- Docker Swarm Features and Applications/Assignment+_+Deploy+Multi-Node+Application+in+Docker+Swarm.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 19- Docker Swarm Features and Applications/Assignment+_+Deploy+Multi-Node+Application+in+Docker+Swarm.pdf
--------------------------------------------------------------------------------
/Section 20- Docker Swarm Stack Deployment- Multi Service Deployment/Swarm+_+Deploy+Distributed+Application (1).pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 20- Docker Swarm Stack Deployment- Multi Service Deployment/Swarm+_+Deploy+Distributed+Application (1).pdf
--------------------------------------------------------------------------------
/Section 31- Kubernetes Services/magicalnginx-deployment-service.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: magical-nginx
5 | spec:
6 | type: NodePort
7 | ports:
8 | - protocol: TCP
9 | port: 80
10 | nodePort: 31304
11 | name: http
12 | selector:
13 | app: magical-nginx
--------------------------------------------------------------------------------
/Section 38- Terraform Variables Detailed Explanation/createInstance (1).tf:
--------------------------------------------------------------------------------
1 |
2 | resource "aws_instance" "MyFirstInstnace" {
3 | ami = lookup(var.AMIS, var.AWS_REGION)
4 | instance_type = "t2.micro"
5 |
6 | tags = {
7 | Name = "demoinstnce"
8 | }
9 |
10 | security_groups = var.Security_Group
11 | }
--------------------------------------------------------------------------------
/Section 18- Docker Swarm Introduction- Swarm Orchestration/Create+Docker+Swarm+Cluster+_+Complete+Configuration.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 18- Docker Swarm Introduction- Swarm Orchestration/Create+Docker+Swarm+Cluster+_+Complete+Configuration.pdf
--------------------------------------------------------------------------------
/Section 16- Handle Persistent Data in Docker Containers/Lab+_+Assignment+Solution+-+Bind+Mounts+in+Docker+Container.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 16- Handle Persistent Data in Docker Containers/Lab+_+Assignment+Solution+-+Bind+Mounts+in+Docker+Container.pdf
--------------------------------------------------------------------------------
/Section 18- Docker Swarm Introduction- Swarm Orchestration/Visualizing+Cluster+State+using+Docker+Swarm+Visualizer.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 18- Docker Swarm Introduction- Swarm Orchestration/Visualizing+Cluster+State+using+Docker+Swarm+Visualizer.pdf
--------------------------------------------------------------------------------
/Section 16- Handle Persistent Data in Docker Containers/Lab+_+Assignment+Solution+-+Data+Volumes+in+Docker+Container.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 16- Handle Persistent Data in Docker Containers/Lab+_+Assignment+Solution+-+Data+Volumes+in+Docker+Container.pdf
--------------------------------------------------------------------------------
/Section 18- Docker Swarm Introduction- Swarm Orchestration/Create+Docker+Swarm+Cluster+_+Complete+Initialization+and+SetUp.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 18- Docker Swarm Introduction- Swarm Orchestration/Create+Docker+Swarm+Cluster+_+Complete+Initialization+and+SetUp.pdf
--------------------------------------------------------------------------------
/Section 20- Docker Swarm Stack Deployment- Multi Service Deployment/Build+and+Deploy+Stack+Using+Docker+Swarm+from+Scratch.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 20- Docker Swarm Stack Deployment- Multi Service Deployment/Build+and+Deploy+Stack+Using+Docker+Swarm+from+Scratch.pdf
--------------------------------------------------------------------------------
/Section 32- Kubernetes Storage/emptyDir-volume.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: redis-emptydir
5 | spec:
6 | containers:
7 | - name: redis
8 | image: redis
9 | volumeMounts:
10 | - name: redis-storage
11 | mountPath: /data/redis
12 | volumes:
13 | - name: redis-storage
14 | emptyDir: {}
15 |
--------------------------------------------------------------------------------
/Section 39- Terraform Concepts - Building Blocks/installNginx.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # sleep until instance is ready
4 | until [[ -f /var/lib/cloud/instance/boot-finished ]]; do
5 | sleep 1
6 | done
7 |
8 | # install nginx
9 | apt-get update
10 | apt-get -y install nginx
11 |
12 | # make sure nginx is started
13 | service nginx start
14 |
--------------------------------------------------------------------------------
/Section 62- Working with include and import module in Ansible/include_playbook.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: Including Include Playbook
3 | hosts: localhost
4 | gather_facts: false
5 |
6 | tasks:
7 | - name: Play 1 - Task 1
8 | debug:
9 | msg: "Play 1 - Task 1"
10 |
11 | - include: play2.yml
--------------------------------------------------------------------------------
/Section 32- Kubernetes Storage/my-persistent-volume.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: PersistentVolume
3 | metadata:
4 | name: my-persistnt-vol
5 | spec:
6 | storageClassName: local-storage
7 | persistentVolumeReclaimPolicy: Recycle
8 | capacity:
9 | storage: 1Gi
10 | accessModes:
11 | - ReadWriteOnce
12 | hostPath:
13 | path: /var/tmp
--------------------------------------------------------------------------------
/Section 62- Working with include and import module in Ansible/import_playbook.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: Including Import Playbook
3 | hosts: localhost
4 | gather_facts: false
5 |
6 | tasks:
7 | - name: Play 1 - Task 1
8 | debug:
9 | msg: "Play 1 - Task 1"
10 |
11 | - import_playbook: play2.yml
--------------------------------------------------------------------------------
/Section 62- Working with include and import module in Ansible/include_tasks.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: This will show the use of include task
3 | hosts: localhost
4 | gather_facts: false
5 |
6 | tasks:
7 | - name: Play 1 - Task 1
8 | debug:
9 | msg: "Play 1 - Task 1"
10 | - include: tasks-1.yml
--------------------------------------------------------------------------------
/Section 20- Docker Swarm Stack Deployment- Multi Service Deployment/Docker+Swarm+Stack+_+Scale+Application+Vertically+and+Horizontally.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rohanmistry231/DevOps-Masterclass-Terraform-Kubernetes-Ansible-Docker/main/Section 20- Docker Swarm Stack Deployment- Multi Service Deployment/Docker+Swarm+Stack+_+Scale+Application+Vertically+and+Horizontally.pdf
--------------------------------------------------------------------------------
/Section 62- Working with include and import module in Ansible/include_tasks_module.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: This will show the use of include task
3 | hosts: localhost
4 | gather_facts: false
5 |
6 | tasks:
7 | - name: Play 1 - Task 1
8 | debug:
9 | msg: "Play 1 - Task 1"
10 | - include_tasks: tasks-1.yml
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/startup-hc.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: startup-probe-http
5 | spec:
6 | containers:
7 | - name: startup-nginx
8 | image: k8s.gcr.io/nginx
9 | startupProbe:
10 | httpGet:
11 | path: /
12 | port: 80
13 | failureThreshold: 30
14 | periodSeconds: 10
--------------------------------------------------------------------------------
/Section 25- Kubernetes Object Management/pod-reader-rolebinding.yml:
--------------------------------------------------------------------------------
1 | apiVersion: rbac.authorization.k8s.io/v1
2 | kind: RoleBinding
3 | metadata:
4 | name: pod-reader
5 | namespace: development
6 | subjects:
7 | - kind: User
8 | name: DevUser
9 | apiGroup: rbac.authorization.k8s.io
10 | roleRef:
11 | kind: Role
12 | name: pod-reader
13 | apiGroup: rbac.authorization.k8s.io
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/configmap-posix-demo.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: configmap-posix-demo
5 | spec:
6 | containers:
7 | - name: configmap-posix
8 | image: anshuldevops/kubernetes-web:1.10.6
9 | ports:
10 | - containerPort: 8080
11 | envFrom:
12 | - configMapRef:
13 | name: player-posix-demo
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/resource_limit.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: frontend-limit
5 | spec:
6 | containers:
7 | - name: app
8 | image: alpine
9 | command: ["sleep", "3600"]
10 | resources:
11 | requests:
12 | memory: "64Mi"
13 | cpu: "250m"
14 | limits:
15 | memory: "128Mi"
16 | cpu: "500m"
--------------------------------------------------------------------------------
/Section 61- Error Handling in Ansible/vsftpd.j2:
--------------------------------------------------------------------------------
1 | anonymous_enable={{ anonymous_enable }}
2 | local_enable={{ local_enable }}
3 | write_enable={{ write_enable }}
4 | anon_upload_enable={{ anon_upload_enable }}
5 | dirmessage_enable=YES
6 | xferlog_enable=YES
7 | connect_from_port_20=YES
8 | pam_service_name=vsftpd
9 | userlist_enable=YES
10 | # MY IP Address={{ ansible_facts['default_ipv4']['address'] }}
--------------------------------------------------------------------------------
/Section 64- Concept of Template in Ansible/index.html.j2:
--------------------------------------------------------------------------------
1 | Hi, This is Custom Index File.
2 |
3 | Executing on Machine IP : {{ ansible_all_ipv4_addresses }}
4 |
5 | This is OS Family : {{ ansible_os_family }}
6 |
7 | This Machine FQDN is : {{ ansible_fqdn }}
8 |
9 | This is Distro : {{ ansible_distribution }} and BIOS : {{ ansible_bios_version }}
10 |
11 | Hard Coded Varaiable : {{ custom_var }}
--------------------------------------------------------------------------------
/Section 37- Start With Terraform Basics/main.tf:
--------------------------------------------------------------------------------
1 | ## Provider's Example
2 |
3 | # Configure the AWS Provider
4 | provider "aws" {
5 | version = "3.53.0"
6 | access_key = "AKIAXC3FBB2OJJC3DUIP"
7 | secret_key = "SECRET_KEY"
8 | region = "us-east-2"
9 | }
10 |
11 | # Configure the Microsoft Azure Provider
12 | provider "azurerm" {
13 | version = "2.72.0"
14 | features {}
15 | }
--------------------------------------------------------------------------------
/Section 30- Kubernetes Networking/pod-dns.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: nginx-nodename
5 | spec:
6 | containers:
7 | - name: nginx
8 | image: nginx
9 | ---
10 | apiVersion: v1
11 | kind: Pod
12 | metadata:
13 | name: frontend-app
14 | spec:
15 | containers:
16 | - name: app
17 | image: alpine
18 | command:
19 | - sleep
20 | - '3600'
--------------------------------------------------------------------------------
/Section 25- Kubernetes Object Management/service-account-binding.yml:
--------------------------------------------------------------------------------
1 | apiVersion: rbac.authorization.k8s.io/v1
2 | kind: RoleBinding
3 | metadata:
4 | name: sa-pod-reader
5 | namespace: development
6 | subjects:
7 | - kind: ServiceAccount
8 | name: my-serviceaccount
9 | namespace: development
10 | roleRef:
11 | kind: Role
12 | name: pod-reader
13 | apiGroup: rbac.authorization.k8s.io
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/initContainer-dependency-service.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: myservice
5 | spec:
6 | ports:
7 | - protocol: TCP
8 | port: 80
9 | targetPort: 9376
10 | ---
11 | apiVersion: v1
12 | kind: Service
13 | metadata:
14 | name: mydb
15 | spec:
16 | ports:
17 | - protocol: TCP
18 | port: 80
19 | targetPort: 9377
--------------------------------------------------------------------------------
/Section 42 - Terraform Modules - Code Re-usability/main.tf:
--------------------------------------------------------------------------------
1 | module "ec2_cluster" {
2 | source = "github.com/terraform-aws-modules/terraform-aws-ec2-instance.git"
3 |
4 | name = "my-cluster"
5 | ami = "ami-0f40c8f97004632f9"
6 | instance_type = "t2.micro"
7 | subnet_id = "subnet-e92f9cc8"
8 |
9 | tags = {
10 | Terraform = "true"
11 | Environment = "dev"
12 | }
13 | }
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/Unconfirmed 655226.crdownload:
--------------------------------------------------------------------------------
1 | #cloud-config
2 |
3 | repo_update: true
4 | repo_upgrade: all
5 |
6 | packages:
7 | - apache2
8 |
9 | runcmd:
10 | - systemctl start apache2
11 | - sudo systemctl enable apache2
12 | - [ sh, -c, 'echo "Deployed Machine via Terraform
" | sudo tee /var/www/html/index.html']
13 |
14 | output:
15 | all: '| tee -a /var/log/cloud-init-output.log'
16 |
--------------------------------------------------------------------------------
/Section 55- Basic of Ansible Playbook/intro_playbook.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: Introduction Ansible Playbooks
3 | hosts: all
4 | remote_user: ec2-user
5 | become: 'yes'
6 | become_user: root
7 |
8 | tasks:
9 | - name: Checking Connection via Ping
10 | ping:
11 |
12 | - name: Uninstall Apache WebServer
13 | yum:
14 | name: httpd
15 | state: absent
--------------------------------------------------------------------------------
/Section 55- Basic of Ansible Playbook/intro_playbook (1).yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: Introduction Ansible Playbooks
3 | hosts: all
4 | remote_user: ec2-user
5 | become: 'yes'
6 | become_user: root
7 |
8 | tasks:
9 | - name: Checking Connection via Ping
10 | ping:
11 |
12 | - name: Uninstall Apache WebServer
13 | yum:
14 | name: httpd
15 | state: absent
--------------------------------------------------------------------------------
/Section 27- Pods Allocation in Kubernetes/daemonset.yml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: DaemonSet
3 | metadata:
4 | name: logging
5 | spec:
6 | selector:
7 | matchLabels:
8 | app: httpd-logging
9 | template:
10 | metadata:
11 | labels:
12 | app: httpd-logging
13 | spec:
14 | containers:
15 | - name: webserver
16 | image: httpd
17 | ports:
18 | - containerPort: 80
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/cloudinit.tf:
--------------------------------------------------------------------------------
1 | data "template_file" "install-apache" {
2 | template = file("init.cfg")
3 | }
4 |
5 | data "template_cloudinit_config" "install-apache-config" {
6 | gzip = false
7 | base64_encode = false
8 |
9 | part {
10 | filename = "init.cfg"
11 | content_type = "text/cloud-config"
12 | content = data.template_file.install-apache.rendered
13 | }
14 | }
--------------------------------------------------------------------------------
/Section 28- Deployments in Kubernetes/replication_controller.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ReplicationController
3 | metadata:
4 | name: alipne-box-replicationcontroller
5 | spec:
6 | replicas: 3
7 | selector:
8 | app: alipne-box
9 | template:
10 | metadata:
11 | name: alpine
12 | labels:
13 | app: alipne-box
14 | spec:
15 | containers:
16 | - name: alpine-box
17 | image: alpine
18 | command: ["sleep", "3600"]
--------------------------------------------------------------------------------
/Section 55- Basic of Ansible Playbook/Install_https.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: Installing WebServer
3 | hosts: all
4 | remote_user: ec2-user
5 | become: 'yes'
6 | become_user: root
7 |
8 | tasks:
9 | - name: Ensure Apache is at the Latest Version
10 | yum:
11 | name: httpd
12 | state: latest
13 | - name: Ensure Apache is Running
14 | service:
15 | name: httpd
16 | state: started
--------------------------------------------------------------------------------
/Section 55- Basic of Ansible Playbook/Install_https (1).yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: Installing WebServer
3 | hosts: all
4 | remote_user: ec2-user
5 | become: 'yes'
6 | become_user: root
7 |
8 | tasks:
9 | - name: Ensure Apache is at the Latest Version
10 | yum:
11 | name: httpd
12 | state: latest
13 | - name: Ensure Apache is Running
14 | service:
15 | name: httpd
16 | state: started
--------------------------------------------------------------------------------
/Section 31- Kubernetes Services/deployment.yml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: Deployment
3 | metadata:
4 | name: nginx-server
5 | labels:
6 | app: frontend
7 | spec:
8 | replicas: 3
9 | selector:
10 | matchLabels:
11 | app: frontend
12 | template:
13 | metadata:
14 | labels:
15 | app: frontend
16 | spec:
17 | containers:
18 | - name: nginx
19 | image: nginx
20 | ports:
21 | - containerPort: 80
--------------------------------------------------------------------------------
/Section 31- Kubernetes Services/nginx-deployment.yml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: Deployment
3 | metadata:
4 | name: nginx-official-deployment
5 | spec:
6 | replicas: 1
7 | selector:
8 | matchLabels:
9 | app: nginx-official
10 | template:
11 | metadata:
12 | labels:
13 | app: nginx-official
14 | spec:
15 | containers:
16 | - name: nginx-official
17 | image: 'nginx:latest'
18 | ports:
19 | - containerPort: 8080
20 |
--------------------------------------------------------------------------------
/Section 32- Kubernetes Storage/hostpath-volume-mount.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: hostpath-pod
5 | spec:
6 | volumes:
7 | - name: hostpath-vol
8 | hostPath:
9 | path: /var/tmp
10 | containers:
11 | - name: hostpath-pod
12 | image: 'k8s.gcr.io/busybox'
13 | command: ["/bin/sh", "-c", "echo Hello Team, This is Sample File for HostVolume - $(date) >> /output/output.txt"]
14 | volumeMounts:
15 | - name: hostpath-vol
16 | mountPath: /output
--------------------------------------------------------------------------------
/Section 32- Kubernetes Storage/my-pv-pod.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: my-pv-pod
5 | spec:
6 | restartPolicy: Never
7 | containers:
8 | - name: busybox
9 | image: busybox
10 | command: ["sh", "-c", "echo Hello Team, This is Persistnent Volume Claim >> /output/success.txt"]
11 | volumeMounts:
12 | - mountPath: /output
13 | name: my-pv
14 | volumes:
15 | - name: my-pv
16 | persistentVolumeClaim:
17 | claimName: my-pvc
--------------------------------------------------------------------------------
/Section 28- Deployments in Kubernetes/replicaSet_and_barePods.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: mypod1
5 | labels:
6 | tier: frontend
7 | spec:
8 | containers:
9 | - name: application1
10 | image: gcr.io/google-samples/hello-app:1.0
11 |
12 | ---
13 |
14 | apiVersion: v1
15 | kind: Pod
16 | metadata:
17 | name: mypod2
18 | labels:
19 | tier: frontend
20 | spec:
21 | containers:
22 | - name: application2
23 | image: gcr.io/google-samples/hello-app:2.0
--------------------------------------------------------------------------------
/Section 30- Kubernetes Networking/network-policy.yml:
--------------------------------------------------------------------------------
1 | apiVersion: networking.k8s.io/v1
2 | kind: NetworkPolicy
3 | metadata:
4 | name: sample-network-policy
5 | namespace: network-policy
6 | spec:
7 | podSelector:
8 | matchLabels:
9 | app: frontend
10 | policyTypes:
11 | - Ingress
12 | - Egress
13 | ingress:
14 | - from:
15 | - namespaceSelector:
16 | matchLabels:
17 | role: test-network-policy
18 | ports:
19 | - protocol: TCP
20 | port: 80
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/readiness-hc.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: hc-probe
5 | spec:
6 | containers:
7 | - name: nginx
8 | image: k8s.gcr.io/nginx
9 | livenessProbe:
10 | httpGet:
11 | path: /
12 | port: 80
13 | initialDelaySeconds: 3
14 | periodSeconds: 3
15 | readinessProbe:
16 | httpGet:
17 | path: /
18 | port: 80
19 | initialDelaySeconds: 3
20 | periodSeconds: 3
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/example-configMap.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | name: player-pro-demo
5 | data:
6 | # property-like keys; each key maps to a simple value
7 | player_lives: "5"
8 | properties_file_name: "user-interface.properties"
9 |
10 | # file-like keys
11 | base.properties: |
12 | enemy.types=aliens,monsters
13 | player.maximum-lives=10
14 | user-interface.properties: |
15 | color.good=purple
16 | color.bad=yellow
17 | allow.textmode=true
--------------------------------------------------------------------------------
/Section 56- Basic Concepts of Ansible PlayBooks/register_ansible.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: This is Overview of Ansible Register and Set_Fact
3 | hosts: all
4 | remote_user: ec2-user
5 | become: 'yes'
6 | become_user: root
7 |
8 | tasks:
9 | - name: Retrive Installed Shell Version
10 | shell: "bash --version"
11 | register: bash_ver
12 |
13 | - set_fact:
14 | bash_version: "{{bash_ver.stdout_lines[0].split()[3]}}"
15 |
16 | - debug:
17 | var: bash_version
--------------------------------------------------------------------------------
/Section 31- Kubernetes Services/magicalnginx-nginx-deployment.yml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: Deployment
3 | metadata:
4 | name: magicalnginx-deployment
5 | spec:
6 | replicas: 1
7 | selector:
8 | matchLabels:
9 | app: magical-nginx
10 | template:
11 | metadata:
12 | labels:
13 | app: magical-nginx
14 | spec:
15 | containers:
16 | - name: magical-nginx
17 | image: 'anshuldevops/magicalnginx:latest'
18 | ports:
19 | - name: nginx-port
20 | containerPort: 3000
21 |
--------------------------------------------------------------------------------
/Section 28- Deployments in Kubernetes/replica-set.yml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: ReplicaSet
3 | metadata:
4 | name: myapp-replicas
5 | labels:
6 | app: myapp
7 | tier: frontend
8 | spec:
9 | replicas: 3
10 | selector:
11 | matchExpressions:
12 | - {key: tier, operator: In, values: [frontend]}
13 | template:
14 | metadata:
15 | labels:
16 | app: myapp
17 | tier: frontend
18 | spec:
19 | containers:
20 | - name: nginx
21 | image: nginx
22 | ports:
23 | - containerPort: 80
--------------------------------------------------------------------------------
/Section 63- Ansible Machine Specific Execution/local_action.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: Local Action in Ansible
3 | hosts: all
4 | remote_user: ec2-user
5 | become: 'yes'
6 | become_user: root
7 |
8 | tasks:
9 | - name: This will create a local file /tmp/local_file.ini
10 | local_action: command touch /tmp/"{{ ansible_hostname }}"_local_file.ini
11 |
12 | - name: Here we copy the local file to remote
13 | copy:
14 | src: /tmp/{{ ansible_hostname }}_local_file.ini
15 | dest: /var/tmp/
--------------------------------------------------------------------------------
/Section 30- Kubernetes Networking/network-policy-pod.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: nginx-pod
5 | namespace: network-policy
6 | labels:
7 | app: frontend
8 | spec:
9 | containers:
10 | - name: nginx
11 | image: nginx
12 | ---
13 | apiVersion: v1
14 | kind: Pod
15 | metadata:
16 | name: busybox-pod
17 | namespace: network-policy
18 | labels:
19 | app: client
20 | spec:
21 | containers:
22 | - name: busybox
23 | image: radial/busyboxplus:curl
24 | command:
25 | - sleep
26 | - '3600'
--------------------------------------------------------------------------------
/Section 39- Terraform Concepts - Building Blocks/variables (1).tf:
--------------------------------------------------------------------------------
1 | variable "AWS_ACCESS_KEY" {
2 | type = string
3 | default = "AKIASMSIZOF42P2VUDSZ"
4 | }
5 |
6 | variable "AWS_SECRET_KEY" {}
7 |
8 | variable "AWS_REGION" {
9 | default = "us-east-2"
10 | }
11 |
12 | variable "Security_Group"{
13 | type = list
14 | default = ["sg-24076", "sg-90890", "sg-456789"]
15 | }
16 |
17 | variable "AMIS" {
18 | type = map
19 | default = {
20 | us-west-2 = "ami-0352d5a37fb4f603f"
21 | us-west-1 = "ami-0f40c8f97004632f9"
22 | }
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/Section 58- Handler in Ansible/handler_req.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: Installing WebServer
3 | hosts: all
4 | remote_user: ec2-user
5 | become: 'yes'
6 | become_user: root
7 |
8 | tasks:
9 | - name: Ensure Apache is at the Latest Version
10 | yum:
11 | name: httpd
12 | state: present
13 | register: httpd_installation_status
14 |
15 |
16 | - name: Ensure Apache is Running
17 | service:
18 | name: httpd
19 | state: started
20 | when: httpd_installation_status.changed == True
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/createInstance.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "aws_key_pair" "levelup_key" {
3 | key_name = "levelup_key"
4 | public_key = file(var.PATH_TO_PUBLIC_KEY)
5 | }
6 |
7 | resource "aws_instance" "MyFirstInstnace" {
8 | ami = lookup(var.AMIS, var.AWS_REGION)
9 | instance_type = "t2.micro"
10 | key_name = aws_key_pair.levelup_key.key_name
11 |
12 | vpc_security_group_ids = [aws_security_group.allow-levelup-ssh.id]
13 | subnet_id = aws_subnet.levelupvpc-public-2.id
14 |
15 | tags = {
16 | Name = "custom_instance"
17 | }
18 |
19 | }
--------------------------------------------------------------------------------
/Section 43- Conditions, Loops in Terraform/create_instance.tf:
--------------------------------------------------------------------------------
1 | provider "aws" {
2 | region = var.AWS_REGION
3 | }
4 |
5 | module "ec2_cluster" {
6 | source = "github.com/terraform-aws-modules/terraform-aws-ec2-instance.git"
7 |
8 | name = "my-cluster"
9 | ami = "ami-05692172625678b4e"
10 | instance_type = "t2.micro"
11 | subnet_id = "subnet-f30171bf"
12 | instance_count = var.environment == "Production" ? 2 : 1
13 |
14 |
15 | tags = {
16 | Terraform = "true"
17 | Environment = var.environment
18 | }
19 | }
--------------------------------------------------------------------------------
/Section 46- Job Scenario 2- Terraform Docker and Kubernetes/vpc.tf:
--------------------------------------------------------------------------------
1 | module "vpc" {
2 | source = "terraform-aws-modules/vpc/aws"
3 | version = "2.64.0"
4 |
5 | name = "vpc-module-demo"
6 | cidr = "10.0.0.0/16"
7 |
8 | azs = slice(data.aws_availability_zones.available.names, 0, 2)
9 | private_subnets = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"]
10 | public_subnets = ["10.0.101.0/24", "10.0.102.0/24", "10.0.103.0/24"]
11 |
12 | enable_nat_gateway = false
13 | enable_vpn_gateway = false
14 |
15 | tags = {
16 | Name = "${var.cluster-name}-vpc"
17 | }
18 | }
--------------------------------------------------------------------------------
/Section 38- Terraform Variables Detailed Explanation/variables (1).tf:
--------------------------------------------------------------------------------
1 | variable "AWS_ACCESS_KEY" {}
2 |
3 | variable "AWS_SECRET_KEY" {}
4 |
5 | variable "AWS_REGION" {
6 | default = "us-east-2"
7 | }
8 |
9 | variable "Security_Group"{
10 | type = list
11 | default = ["sg-24076", "sg-90890", "sg-456789"]
12 | }
13 |
14 | variable "AMIS" {
15 | type = map
16 | default = {
17 | us-east-1 = "ami-0f40c8f97004632f9"
18 | us-east-2 = "ami-05692172625678b4e"
19 | us-west-2 = "ami-0352d5a37fb4f603f"
20 | us-west-1 = "ami-0f40c8f97004632f9"
21 | }
22 | }
--------------------------------------------------------------------------------
/Section 42 - Terraform Modules - Code Re-usability/varaible (1).tf:
--------------------------------------------------------------------------------
1 | variable "region" {
2 | default = "us-east-2"
3 | }
4 |
5 | variable "public_key_path" {
6 | description = "Public key path"
7 | default = "~/.ssh/levelup_key.pub"
8 | }
9 |
10 | variable "instance_ami" {
11 | description = "AMI for aws EC2 instance"
12 | default = "ami-05692172625678b4e"
13 | }
14 |
15 | variable "instance_type" {
16 | description = "type for aws EC2 instance"
17 | default = "t2.micro"
18 | }
19 |
20 | variable "environment_tag" {
21 | description = "Environment tag"
22 | default = "Production"
23 | }
24 |
--------------------------------------------------------------------------------
/Section 56- Basic Concepts of Ansible PlayBooks/arithmetic_operations.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: This is to Display Arithmetic Opeations on Varaibles
3 | hosts: localhost
4 | gather_facts: false
5 |
6 | vars:
7 | a : 10
8 | b : 20
9 |
10 | tasks:
11 | - name: Operations on variables
12 | debug:
13 | msg:
14 | - "value of a is : {{a}}"
15 | - "value of b is : {{b}}"
16 | - "Addtion of a & b : {{a + b}}"
17 | - "Subs of a & b : {{a - b}}"
18 | - "Multi of a & b : {{a * b}}"
19 | - "Devide of a & b : {{a/b}}"
--------------------------------------------------------------------------------
/Section 63- Ansible Machine Specific Execution/delegate_to.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playboo
2 |
3 | - name: Ansible Delegate_to examples
4 | hosts: all
5 | remote_user: ec2-user
6 | become: 'yes'
7 | become_user: root
8 |
9 | vars:
10 | tmplog: /tmp/connection.log
11 |
12 | tasks:
13 | - name: create tmplog
14 | shell: test ! -f {{ tmplog }} && touch {{ tmplog }}
15 | failed_when: false
16 |
17 | - name: delegate_to
18 | shell: echo "delegate_to . {{ inventory_hostname }} $(hostname) ." >> {{ tmplog }}
19 | delegate_to: ec2-13-59-156-142.us-east-2.compute.amazonaws.com
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/nginx-pod.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: nginx-pod
5 | spec:
6 | containers:
7 | - name: nginx-container
8 | image: 'nginx:1.19.1'
9 | ports:
10 | - containerPort: 80
11 | volumeMounts:
12 | - name: nginx-config-volume
13 | mountPath: /etc/nginx
14 | - name: htpasswd-volume
15 | mountPath: /etc/nginx/conf
16 | volumes:
17 | - name: nginx-config-volume
18 | configMap:
19 | name: nginx-config-file
20 | - name: htpasswd-volume
21 | secret:
22 | secretName: nginx-htpasswd
--------------------------------------------------------------------------------
/Section 32- Kubernetes Storage/common-volume.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: shared-multi-container
5 | spec:
6 | volumes:
7 | - name: html
8 | emptyDir: {}
9 | containers:
10 | - name: nginx-container
11 | image: nginx
12 | volumeMounts:
13 | - name: html
14 | mountPath: /usr/share/nginx/html
15 | - name: debian-container
16 | image: debian
17 | volumeMounts:
18 | - name: html
19 | mountPath: /html
20 | command:
21 | - /bin/sh
22 | - '-c'
23 | args:
24 | - while true; do date >> /html/index.html; sleep 5; done
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/security_group.tf:
--------------------------------------------------------------------------------
1 | #Security Group for levelupvpc
2 | resource "aws_security_group" "allow-levelup-ssh" {
3 | vpc_id = aws_vpc.levelupvpc.id
4 | name = "allow-levelup-ssh"
5 | description = "security group that allows ssh connection"
6 |
7 | egress {
8 | from_port = 0
9 | to_port = 0
10 | protocol = "-1"
11 | cidr_blocks = ["0.0.0.0/0"]
12 | }
13 |
14 | ingress {
15 | from_port = 22
16 | to_port = 22
17 | protocol = "tcp"
18 | cidr_blocks = ["0.0.0.0/0"]
19 | }
20 |
21 | tags = {
22 | Name = "allow-levelup-ssh"
23 | }
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/Section 42 - Terraform Modules - Code Re-usability/vpc.tf:
--------------------------------------------------------------------------------
1 | # VPC
2 | resource "aws_vpc" "aws_vpc_levelup" {
3 |
4 | cidr_block = var.cidr
5 | instance_tenancy = var.instance_tenancy
6 | enable_dns_hostnames = var.enable_dns_hostnames
7 | enable_dns_support = var.enable_dns_support
8 | enable_classiclink = var.enable_classiclink
9 | enable_classiclink_dns_support = var.enable_classiclink_dns_support
10 | assign_generated_ipv6_cidr_block = var.enable_ipv6
11 |
12 | tags = {
13 | name = var.vpcname
14 | environment = var.vpcenvironment
15 | }
16 |
17 | }
--------------------------------------------------------------------------------
/Section 39- Terraform Concepts - Building Blocks/securitygroup.tf:
--------------------------------------------------------------------------------
1 | data "aws_ip_ranges" "us_east_ip_range" {
2 | regions = ["us-east-1","us-east-2"]
3 | services = ["ec2"]
4 | }
5 |
6 | resource "aws_security_group" "sg-custom_us_east" {
7 | name = "custom_us_east"
8 |
9 | ingress {
10 | from_port = "443"
11 | to_port = "443"
12 | protocol = "tcp"
13 | cidr_blocks = slice(data.aws_ip_ranges.us_east_ip_range.cidr_blocks, 0, 50)
14 | }
15 |
16 | tags = {
17 | CreateDate = data.aws_ip_ranges.us_east_ip_range.create_date
18 | SyncToken = data.aws_ip_ranges.us_east_ip_range.sync_token
19 | }
20 | }
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/createInstance (2).tf:
--------------------------------------------------------------------------------
1 |
2 | resource "aws_key_pair" "levelup_key" {
3 | key_name = "levelup_key"
4 | public_key = file(var.PATH_TO_PUBLIC_KEY)
5 | }
6 |
7 | #Create AWS Instance
8 | resource "aws_instance" "MyFirstInstnace" {
9 | ami = lookup(var.AMIS, var.AWS_REGION)
10 | instance_type = "t2.micro"
11 | availability_zone = "us-east-2a"
12 | key_name = aws_key_pair.levelup_key.key_name
13 |
14 | user_data = file("installapache.sh")
15 |
16 | tags = {
17 | Name = "custom_instance"
18 | }
19 | }
20 |
21 | output "public_ip" {
22 | value = aws_instance.MyFirstInstnace.public_ip
23 | }
24 |
--------------------------------------------------------------------------------
/Section 42 - Terraform Modules - Code Re-usability/varaible.tf:
--------------------------------------------------------------------------------
1 | # Variables
2 | variable "cidr_vpc" {
3 | description = "CIDR block for the VPC"
4 | default = "10.1.0.0/16"
5 | }
6 |
7 | variable "cidr_subnet" {
8 | description = "CIDR block for the subnet"
9 | default = "10.1.0.0/24"
10 | }
11 |
12 | variable "availability_zone" {
13 | description = "availability zone to create subnet"
14 | default = "us-east-2a"
15 | }
16 |
17 | variable "public_key_path" {
18 | description = "Public key path"
19 | default = "~/.ssh/levelup_key.pub"
20 | }
21 |
22 | variable "environment_tag" {
23 | description = "Environment tag"
24 | default = "Production"
25 | }
26 |
--------------------------------------------------------------------------------
/Section 31- Kubernetes Services/ingress-controller.yml:
--------------------------------------------------------------------------------
1 | apiVersion: networking.k8s.io/v1
2 | kind: Ingress
3 | metadata:
4 | name: nginx-rules
5 | spec:
6 | rules:
7 | - host: nginx-official.example.com
8 | http:
9 | paths:
10 | - path: /
11 | pathType: Exact
12 | backend:
13 | service:
14 | name: nginx-official-service
15 | port:
16 | number: 80
17 | - host: magical-nginx.example.com
18 | http:
19 | paths:
20 | - path: /
21 | pathType: Exact
22 | backend:
23 | service:
24 | name: magical-nginx
25 | port:
26 | number: 80
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/multi-container.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: two-containers
5 | spec:
6 | restartPolicy: OnFailure
7 | containers:
8 | - name: nginx-container
9 | image: nginx
10 | volumeMounts:
11 | - name: shared-data
12 | mountPath: /usr/share/nginx/html
13 | - name: debian-container
14 | image: debian
15 | volumeMounts:
16 | - name: shared-data
17 | mountPath: /pod-data
18 | command: ["/bin/sh"]
19 | args: ["-c", "echo Hello from the Secondary container > /pod-data/index.html"]
20 | volumes:
21 | - name: shared-data
22 | emptyDir: {}
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/createInstance (3).tf:
--------------------------------------------------------------------------------
1 |
2 | resource "aws_key_pair" "levelup_key" {
3 | key_name = "levelup_key"
4 | public_key = file(var.PATH_TO_PUBLIC_KEY)
5 | }
6 |
7 | #Create AWS Instance
8 | resource "aws_instance" "MyFirstInstnace" {
9 | ami = lookup(var.AMIS, var.AWS_REGION)
10 | instance_type = "t2.micro"
11 | availability_zone = "us-east-2a"
12 | key_name = aws_key_pair.levelup_key.key_name
13 |
14 | user_data = data.template_cloudinit_config.install-apache-config.rendered
15 |
16 | tags = {
17 | Name = "custom_instance"
18 | }
19 | }
20 |
21 | output "public_ip" {
22 | value = aws_instance.MyFirstInstnace.public_ip
23 | }
24 |
--------------------------------------------------------------------------------
/Section 58- Handler in Ansible/handler_imp.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: Installing WebServer
3 | hosts: all
4 | remote_user: ec2-user
5 | become: 'yes'
6 | become_user: root
7 |
8 | tasks:
9 | - name: Ensure Apache is at the Latest Version
10 | yum:
11 | name: httpd
12 | state: present
13 | notify:
14 | - Ensure Apache is Running
15 | - Ensure Apache restart
16 |
17 | handlers:
18 | - name: Ensure Apache is Running
19 | service:
20 | name: httpd
21 | state: started
22 |
23 | - name: Ensure Apache restart
24 | service:
25 | name: httpd
26 | state: restarted
--------------------------------------------------------------------------------
/Section 41- Terraform for AWS Cloud Part II/createInstance (1).tf:
--------------------------------------------------------------------------------
1 |
2 | resource "aws_key_pair" "levelup_key" {
3 | key_name = "levelup_key"
4 | public_key = file(var.PATH_TO_PUBLIC_KEY)
5 | }
6 |
7 | #Create AWS Instance
8 | resource "aws_instance" "MyFirstInstnace" {
9 | ami = lookup(var.AMIS, var.AWS_REGION)
10 | instance_type = "t2.micro"
11 | availability_zone = "us-east-2a"
12 | key_name = aws_key_pair.levelup_key.key_name
13 |
14 | iam_instance_profile = aws_iam_instance_profile.s3-levelupbucket-role-instanceprofile.name
15 |
16 | tags = {
17 | Name = "custom_instance"
18 | }
19 | }
20 |
21 | output "public_ip" {
22 | value = aws_instance.MyFirstInstnace.public_ip
23 | }
24 |
--------------------------------------------------------------------------------
/Section 39- Terraform Concepts - Building Blocks/createInstance (1).tf:
--------------------------------------------------------------------------------
1 |
2 | data "aws_availability_zones" "avilable" {}
3 |
4 | data "aws_ami" "latest-ubuntu" {
5 | most_recent = true
6 | owners = ["099720109477"]
7 |
8 | filter {
9 | name = "name"
10 | values = "ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-*"
11 | }
12 |
13 | filter {
14 | name = "virtualization-type"
15 | values = ["hvm"]
16 | }
17 | }
18 |
19 |
20 | resource "aws_instance" "MyFirstInstnace" {
21 | ami = data.aws_ami.latest-ubuntu.id
22 | instance_type = "t2.micro"
23 | availability_zone = data.aws_availability_zones.avilable.names[1]
24 |
25 | tags = {
26 | Name = "custom_instance"
27 | }
28 |
29 | }
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/restartPolicies.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: restart-always-pod
5 | spec:
6 | restartPolicy: Always
7 | containers:
8 | - name: app
9 | image: alpine
10 | command: ["sleep", "20"]
11 |
12 | ---
13 | apiVersion: v1
14 | kind: Pod
15 | metadata:
16 | name: onfailure-always-pod
17 | spec:
18 | restartPolicy: OnFailure
19 | containers:
20 | - name: app
21 | image: alpine
22 | command: ["sleep", "20"]
23 |
24 | ---
25 | apiVersion: v1
26 | kind: Pod
27 | metadata:
28 | name: never-always-pod
29 | spec:
30 | restartPolicy: Never
31 | containers:
32 | - name: app
33 | image: alpine
34 | command: ["sleep", "20"]
--------------------------------------------------------------------------------
/Section 61- Error Handling in Ansible/rescue_block.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: Ansible Blocks
3 | hosts: all
4 | remote_user: ec2-user
5 |
6 | tasks:
7 | - block:
8 | - name: List home directory content
9 | command: ls -l ~/
10 |
11 | - name: Failing intentionally
12 | command: ls -l /tmp/
13 | become: 'yes'
14 | #ignore_errors: yes
15 |
16 | rescue:
17 | - name: Rescue block (perform recovery)
18 | debug:
19 | msg: 'Something went wrong, cleaning up..'
20 |
21 | always:
22 | - name: This will execute always
23 | debug:
24 | msg: I will execute even in failure scenario
--------------------------------------------------------------------------------
/Section 41- Terraform for AWS Cloud Part II/createInstance.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "aws_key_pair" "levelup_key" {
3 | key_name = "levelup_key"
4 | public_key = file(var.PATH_TO_PUBLIC_KEY)
5 | }
6 |
7 | #Create AWS Instance
8 | resource "aws_instance" "MyFirstInstnace" {
9 | ami = lookup(var.AMIS, var.AWS_REGION)
10 | instance_type = "t2.micro"
11 | availability_zone = "us-east-2a"
12 | key_name = aws_key_pair.levelup_key.key_name
13 | vpc_security_group_ids = [aws_security_group.allow-levelup-ssh.id]
14 | subnet_id = aws_subnet.levelupvpc-public-1.id
15 |
16 | tags = {
17 | Name = "custom_instance"
18 | }
19 | }
20 |
21 | output "public_ip" {
22 | value = aws_instance.MyFirstInstnace.public_ip
23 | }
24 |
--------------------------------------------------------------------------------
/Section 57- Operators and Conditional Statement in Ansible Playbook/logical_operator.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: This will show the Use of Comparision Operators
3 | hosts: localhost
4 | gather_facts: false
5 |
6 | vars:
7 | a : "HELLO"
8 | d : "hello"
9 | b : 10
10 | c : 20
11 | e : [1,5,9,10,15,109]
12 | x: true
13 | y: false
14 | z: false
15 | m: true
16 |
17 | tasks:
18 | - name: Operations on variables
19 | debug:
20 | msg:
21 | - "x and y : {{ x and y }}"
22 | - "x and m : {{ x and m }}"
23 | - "x or m : {{ x or m }}"
24 | - "y or z : {{ y or z}}"
25 | - "x and y or m: {{ x and y or m}}"
26 |
27 |
--------------------------------------------------------------------------------
/Section 57- Operators and Conditional Statement in Ansible Playbook/condition_statement.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: This is for Conditional Statement
3 | hosts: localhost
4 | gather_facts: false
5 |
6 | vars:
7 | x : 20
8 | y : 10
9 |
10 | tasks:
11 | - name: Operation for Conditional Statement
12 | debug:
13 | msg:
14 | - "Value of x : {{ x }}, Value of y: {{ y }}"
15 |
16 | - name: Operation for Conditional Statement I
17 | debug:
18 | msg:
19 | - "x is Small of y"
20 | when: x < y
21 |
22 | - name: Operation for Conditional Statement II
23 | debug:
24 | msg:
25 | - "x is not Small then y"
26 | when: x > y
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/variables (1).tf:
--------------------------------------------------------------------------------
1 | variable "AWS_ACCESS_KEY" {
2 | type = string
3 | default = "AKIASMSIZOF42P2VUDSZ"
4 | }
5 |
6 | variable "AWS_SECRET_KEY" {}
7 |
8 | variable "AWS_REGION" {
9 | default = "us-east-2"
10 | }
11 |
12 | variable "AMIS" {
13 | type = map
14 | default = {
15 | us-east-1 = "ami-0f40c8f97004632f9"
16 | us-east-2 = "ami-05692172625678b4e"
17 | us-west-2 = "ami-0352d5a37fb4f603f"
18 | us-west-1 = "ami-0f40c8f97004632f9"
19 | }
20 | }
21 |
22 | variable "PATH_TO_PRIVATE_KEY" {
23 | default = "levelup_key"
24 | }
25 |
26 | variable "PATH_TO_PUBLIC_KEY" {
27 | default = "levelup_key.pub"
28 | }
29 |
30 | variable "INSTANCE_USERNAME" {
31 | default = "ubuntu"
32 | }
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/variables (2).tf:
--------------------------------------------------------------------------------
1 | variable "AWS_ACCESS_KEY" {
2 | type = string
3 | default = "AKIASMSIZOF42P2VUDSZ"
4 | }
5 |
6 | variable "AWS_SECRET_KEY" {}
7 |
8 | variable "AWS_REGION" {
9 | default = "us-east-2"
10 | }
11 |
12 | variable "AMIS" {
13 | type = map
14 | default = {
15 | us-east-1 = "ami-0f40c8f97004632f9"
16 | us-east-2 = "ami-05692172625678b4e"
17 | us-west-2 = "ami-0352d5a37fb4f603f"
18 | us-west-1 = "ami-0f40c8f97004632f9"
19 | }
20 | }
21 |
22 | variable "PATH_TO_PRIVATE_KEY" {
23 | default = "levelup_key"
24 | }
25 |
26 | variable "PATH_TO_PUBLIC_KEY" {
27 | default = "levelup_key.pub"
28 | }
29 |
30 | variable "INSTANCE_USERNAME" {
31 | default = "ubuntu"
32 | }
--------------------------------------------------------------------------------
/Section 41- Terraform for AWS Cloud Part II/variables.tf:
--------------------------------------------------------------------------------
1 | variable "AWS_ACCESS_KEY" {
2 | type = string
3 | default = "AKIASMSIZOF42P2VUDSZ"
4 | }
5 |
6 | variable "AWS_SECRET_KEY" {}
7 |
8 | variable "AWS_REGION" {
9 | default = "us-east-2"
10 | }
11 |
12 | variable "AMIS" {
13 | type = map
14 | default = {
15 | us-east-1 = "ami-0f40c8f97004632f9"
16 | us-east-2 = "ami-05692172625678b4e"
17 | us-west-2 = "ami-0352d5a37fb4f603f"
18 | us-west-1 = "ami-0f40c8f97004632f9"
19 | }
20 | }
21 |
22 | variable "PATH_TO_PRIVATE_KEY" {
23 | default = "levelup_key"
24 | }
25 |
26 | variable "PATH_TO_PUBLIC_KEY" {
27 | default = "levelup_key.pub"
28 | }
29 |
30 | variable "INSTANCE_USERNAME" {
31 | default = "ubuntu"
32 | }
--------------------------------------------------------------------------------
/Section 56- Basic Concepts of Ansible PlayBooks/ansible_var.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: This is Overview of Ansible Debug Module
3 | hosts: all
4 | remote_user: ec2-user
5 | become: 'yes'
6 | become_user: root
7 |
8 | vars:
9 | test: hello, this is dummy value
10 | my_name: Anshul Chauhan
11 | my_age: 31
12 | my_height: 5.11
13 | is_male: true
14 |
15 | tasks:
16 | - name: Reading Ansible Playbook varaible
17 | debug:
18 | var: test
19 |
20 | - name: Reading Ansible Playbook varaibles
21 | debug:
22 | msg:
23 | - My name is {{ my_name }}
24 | - I am {{ my_age }} years old.
25 | - And I am {{ my_height }} long, my gender is male - {{ is_male }}
--------------------------------------------------------------------------------
/Section 61- Error Handling in Ansible/error_handling_1.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: Error Handling Part I
3 | hosts: all
4 | remote_user: ec2-user
5 | become: 'yes'
6 | become_user: root
7 |
8 | tasks:
9 | - name: List all files/dirs in /etc location
10 | command: "ls /etcc/"
11 | register: home_out
12 | ignore_errors: yes
13 | - debug: var=home_out
14 |
15 | - name: List all files/dirs in /tmp location
16 | command: "ls /tmp/"
17 | register: tmp_out
18 | - debug: var=tmp_out
19 |
20 | - name: List all files/dirs in /etc location
21 | command: "ls /etcc/"
22 | register: home1_out
23 | ignore_errors: yes
24 | - debug: var=home1_out
25 | failed_when: home1_out.rc==2
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/configmap-vol-demo.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: configmap-vol-demo
5 | spec:
6 | containers:
7 | - name: configmap-vol-demo
8 | image: alpine
9 | command: ["sleep", "3600"]
10 | volumeMounts:
11 | - name: player-map
12 | mountPath: /etc/config/configMap
13 | - name: player-secret
14 | mountPath: /etc/config/secret
15 | volumes:
16 | # You set volumes at the Pod level, then mount them into containers inside that Pod
17 | - name: player-map
18 | configMap:
19 | # Provide the name of the ConfigMap you want to mount.
20 | name: player-pro-demo
21 | - name: player-secret
22 | secret:
23 | secretName: example-secret
24 |
--------------------------------------------------------------------------------
/Section 42 - Terraform Modules - Code Re-usability/main (2).tf:
--------------------------------------------------------------------------------
1 | #Provider
2 | provider "aws" {
3 | region = var.region
4 | }
5 |
6 | #Module
7 | module "myvpc" {
8 | source = "./module/network"
9 | }
10 |
11 | #Resource key pair
12 | resource "aws_key_pair" "levelup_key" {
13 | key_name = "levelup_key"
14 | public_key = file(var.public_key_path)
15 | }
16 |
17 | #EC2 Instance
18 | resource "aws_instance" "levelup_instance" {
19 | ami = var.instance_ami
20 | instance_type = var.instance_type
21 | subnet_id = module.myvpc.public_subnet_id
22 | vpc_security_group_ids = module.myvpc.sg_22_id
23 | key_name = aws_key_pair.levelup_key.key_name
24 |
25 | tags = {
26 | Environment = var.environment_tag
27 | }
28 | }
--------------------------------------------------------------------------------
/Section 56- Basic Concepts of Ansible PlayBooks/filter_methods_ansible.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: This is to Display filter and method Opeations on Varaibles
3 | hosts: localhost
4 | gather_facts: false
5 |
6 | vars:
7 | a : "HeLLo tHiS is ANSHUL and i aM a SoftWARE enginEER"
8 | b : 10
9 | c : "20"
10 |
11 | tasks:
12 | - name: Operations on variables
13 | debug:
14 | msg:
15 | - "value of a is : {{a}}"
16 | - "value of b + c is : {{b+c|int}}"
17 | - "Small case value of a : {{a|lower}}"
18 | - "Capital case Value of a: {{a|upper}}"
19 | - "Title Case value of a : {{a|title}}"
20 | - "Small case value of a : {{a.lower()}}"
21 | - "Capital case Value of a: {{a.upper()}}"
22 | - " Split of String a : {{a.split()}} "
--------------------------------------------------------------------------------
/Section 61- Error Handling in Ansible/block_ansible.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: Ansible Blocks
3 | hosts: all
4 | remote_user: ec2-user
5 |
6 | tasks:
7 | - block:
8 | - name: List usr directory content
9 | command: "ls -l /usr/"
10 | register: usr_out
11 |
12 | - name: List root partition content
13 | command: "ls -l /roott/"
14 | register: root_out
15 |
16 | - name: List bin diretcory content
17 | command: "ls -l /bin/"
18 | register: bin_out
19 | become: 'yes'
20 | ignore_errors: yes
21 |
22 | - name: List ansible user's home directory content
23 | command: "ls -l ~/"
24 | register: userhome_out
25 |
26 | - debug: var=usr_out
27 | - debug: var=root_out
28 | - debug: var=userhome_out
29 | #- debug: var=bin_out
--------------------------------------------------------------------------------
/Section 56- Basic Concepts of Ansible PlayBooks/pratice_arithmetic.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: This is to Display Arithmetic Opeations on Varaibles
3 | hosts: localhost
4 | gather_facts: false
5 |
6 | vars:
7 | a : 10
8 | b : "{{a*10}}"
9 |
10 | vars_prompt:
11 | - name : x
12 | prompt: Please enter Value of x
13 | private: no
14 |
15 | - name : y
16 | prompt: Please eneter value of y
17 | private: no
18 |
19 | tasks:
20 | - name: Operations on variables
21 | debug:
22 | msg:
23 | - "value of a is : {{a}}"
24 | - "value of b is : {{b}}"
25 | - "Addition of User Defined Values x, y is : {{x+y}}"
26 | - "Addition of User Defined Values x, y is : {{x|int + y|int}}"
27 | - "Multiple of User Defined Values x, y is : {{x|int * y|int}}"
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/variables.tf:
--------------------------------------------------------------------------------
1 | variable "AWS_ACCESS_KEY" {
2 | type = string
3 | default = "AKIASMSIZOF42P2VUDSZ"
4 | }
5 |
6 | variable "AWS_SECRET_KEY" {}
7 |
8 | variable "AWS_REGION" {
9 | default = "us-east-2"
10 | }
11 |
12 | variable "Security_Group"{
13 | type = list
14 | default = ["sg-24076", "sg-90890", "sg-456789"]
15 | }
16 |
17 | variable "AMIS" {
18 | type = map
19 | default = {
20 | us-east-1 = "ami-0f40c8f97004632f9"
21 | us-east-2 = "ami-05692172625678b4e"
22 | us-west-2 = "ami-0352d5a37fb4f603f"
23 | us-west-1 = "ami-0f40c8f97004632f9"
24 | }
25 | }
26 |
27 | variable "PATH_TO_PRIVATE_KEY" {
28 | default = "levelup_key"
29 | }
30 |
31 | variable "PATH_TO_PUBLIC_KEY" {
32 | default = "levelup_key.pub"
33 | }
34 |
35 | variable "INSTANCE_USERNAME" {
36 | default = "ubuntu"
37 | }
--------------------------------------------------------------------------------
/Section 41- Terraform for AWS Cloud Part II/iamuser.tf:
--------------------------------------------------------------------------------
1 | #TF File for IAM Users and Groups
2 |
3 | resource "aws_iam_user" "adminuser1" {
4 | name = "adminuser1"
5 | }
6 |
7 | resource "aws_iam_user" "adminuser2" {
8 | name = "adminuser2"
9 | }
10 |
11 | # Group TF Definition
12 | resource "aws_iam_group" "admingroup" {
13 | name = "admingroup"
14 | }
15 |
16 | #Assign User to AWS Group
17 | resource "aws_iam_group_membership" "admin-users" {
18 | name = "admin-users"
19 | users = [
20 | aws_iam_user.adminuser1.name,
21 | aws_iam_user.adminuser2.name,
22 | ]
23 | group = aws_iam_group.admingroup.name
24 | }
25 |
26 | #Policy for AWS Group
27 | resource "aws_iam_policy_attachment" "admin-users-attach" {
28 | name = "admin-users-attach"
29 | groups = [aws_iam_group.admingroup.name]
30 | policy_arn = "arn:aws:iam::aws:policy/AdministratorAccess"
31 | }
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/liveness-hc.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: liveness-probe
5 | spec:
6 | containers:
7 | - name: liveness
8 | image: k8s.gcr.io/busybox
9 | args:
10 | - /bin/sh
11 | - -c
12 | - touch /tmp/healthcheck; sleep 60; rm -rf /tmp/healthcheck; sleep 600
13 | livenessProbe:
14 | exec:
15 | command:
16 | - cat
17 | - /tmp/healthcheck
18 | initialDelaySeconds: 5
19 | periodSeconds: 5
20 |
21 | ---
22 | apiVersion: v1
23 | kind: Pod
24 | metadata:
25 | name: liveness-probe-http
26 | spec:
27 | containers:
28 | - name: liveness-nginx
29 | image: k8s.gcr.io/nginx
30 | livenessProbe:
31 | httpGet:
32 | path: /
33 | port: 80
34 | initialDelaySeconds: 3
35 | periodSeconds: 3
--------------------------------------------------------------------------------
/Section 39- Terraform Concepts - Building Blocks/variables.tf:
--------------------------------------------------------------------------------
1 | variable "AWS_ACCESS_KEY" {
2 | type = string
3 | default = "AKIASMSIZOF42P2VUDSZ"
4 | }
5 |
6 | variable "AWS_SECRET_KEY" {}
7 |
8 | variable "AWS_REGION" {
9 | default = "us-east-2"
10 | }
11 |
12 | variable "Security_Group"{
13 | type = list
14 | default = ["sg-24076", "sg-90890", "sg-456789"]
15 | }
16 |
17 | variable "AMIS" {
18 | type = map
19 | default = {
20 | us-east-1 = "ami-0f40c8f97004632f9"
21 | us-east-2 = "ami-05692172625678b4e"
22 | us-west-2 = "ami-0352d5a37fb4f603f"
23 | us-west-1 = "ami-0f40c8f97004632f9"
24 | }
25 | }
26 |
27 | variable "PATH_TO_PRIVATE_KEY" {
28 | default = "levelup_key"
29 | }
30 |
31 | variable "PATH_TO_PUBLIC_KEY" {
32 | default = "levelup_key.pub"
33 | }
34 |
35 | variable "INSTANCE_USERNAME" {
36 | default = "ubuntu"
37 | }
--------------------------------------------------------------------------------
/Section 23- Get Started with Kubernetes/Intract+with+Kubenetes:
--------------------------------------------------------------------------------
1 | ********** Interact Cluster Using KubeCtl **********
2 | 1. Use the kubectl create command to create a Deployment that manages a Pod. The Pod runs a Container based on the provided Docker image.
3 | kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.10
4 |
5 | 2. View the Deployment:
6 | kubectl get deployments
7 |
8 | 3. View the Pod:
9 | kubectl get pods
10 |
11 | 4. Expose the Pod to the public internet using the kubectl expose command:
12 | kubectl expose deployment hello-node --type=LoadBalancer --port=8080
13 |
14 | **The --type=LoadBalancer flag indicates that you want to expose your Service outside of the cluster.
15 |
16 | 5. View the Service you created:
17 | minikube service hello-node
18 |
19 | CleanUP -
20 | 1. Remove service
21 | kubectl delete service hello-node
22 |
23 | 2. Remove Deployments-
24 | kubectl delete deployment hello-node
--------------------------------------------------------------------------------
/Section 56- Basic Concepts of Ansible PlayBooks/ansible_datacollection.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: This is Overview of Ansible Data Collection
3 | hosts: all
4 | remote_user: ec2-user
5 | become: 'yes'
6 | become_user: root
7 |
8 | vars:
9 | xyz: Hello this is XYZ
10 | packages: ['wget', 'unzip', 'curl', 'vim']
11 | cities:
12 | - New York
13 | - London
14 | - Tokyo
15 | - Dubai
16 | web_server: {'Linux': 'httpd', 'Unix': 'apache2'}
17 |
18 | tasks:
19 | - name: This is Data Collection Retrieval
20 | debug:
21 | var: xyz
22 |
23 | - name: Getting Sequence Data Collection F 1
24 | debug:
25 | var: packages
26 |
27 | - name: Getting Sequence Data Collection F 2
28 | debug:
29 | var: cities
30 |
31 | - name: Getting Sequence Data Collection F 3
32 | debug:
33 | var: web_server
34 |
--------------------------------------------------------------------------------
/Section 21- Docker Swarm Secrets Management- Protect Sensitive Data/docker-compse.yml.txt:
--------------------------------------------------------------------------------
1 | version: "3.1"
2 | services:
3 | # Service Name Defined as web
4 | postgresDB:
5 | # Pull the Image from Repository.
6 | image: postgres:latest
7 | # Command to use secrects in
8 | secrets:
9 | # define Secrets name
10 | - db_username
11 | - db_password
12 | environment:
13 | # Define environment varaibles
14 | POSTGRES_PASSWORD_FILE: /run/secrets/db_password
15 | POSTGRES_USER_FILE: /run/secrets/db_username
16 |
17 | centOS:
18 | image: centos
19 | deploy:
20 | replicas: 1
21 | entrypoint: /bin/sh
22 | stdin_open: true
23 | tty: true
24 | secrets:
25 | - source: my-secret
26 |
27 |
28 | secrets:
29 | db_username:
30 | file: ./postgres_user.txt
31 | db_password:
32 | file: ./postgres_password.txt
33 | my-secret:
34 | external: true
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/init-container.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: application-pod
5 | spec:
6 | containers:
7 | - name: myapp-container
8 | image: busybox:1.28
9 | command: ["sh", "-c", "echo The app is running! && sleep 3600"]
10 | initContainers:
11 | - name: init-myservice
12 | image: busybox:1.28
13 | command:
14 | [
15 | "sh",
16 | "-c",
17 | "until nslookup myservice.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local; do echo waiting for myservice; sleep 5; done",
18 | ]
19 | - name: init-mydb
20 | image: busybox:1.28
21 | command:
22 | [
23 | "sh",
24 | "-c",
25 | "until nslookup mydb.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local; do echo waiting for mydb; sleep 5; done",
26 | ]
--------------------------------------------------------------------------------
/Section 64- Concept of Template in Ansible/install_httpd.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: Installing WebServer
3 | hosts: all
4 | remote_user: ec2-user
5 | become: 'yes'
6 | become_user: root
7 |
8 | vars:
9 | custom_var : 123abc
10 |
11 | tasks:
12 | - name: Ensure Apache is at the Latest Version
13 | yum:
14 | name: httpd
15 | state: present
16 | notify:
17 | - Ensure Apache is Running
18 |
19 | - name: Updating Index HTML file
20 | template:
21 | src: index.html.j2
22 | dest: /usr/share/httpd/noindex/index.html
23 | notify:
24 | - Ensure Apache restart
25 |
26 | handlers:
27 | - name: Ensure Apache is Running
28 | service:
29 | name: httpd
30 | state: started
31 |
32 | - name: Ensure Apache restart
33 | service:
34 | name: httpd
35 | state: restarted
--------------------------------------------------------------------------------
/Section 27- Pods Allocation in Kubernetes/node-affinity.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: nginx-nodeaffinity
5 | spec:
6 | containers:
7 | - name: nginx
8 | image: nginx
9 | affinity:
10 | nodeAffinity:
11 | requiredDuringSchedulingIgnoredDuringExecution:
12 | nodeSelectorTerms:
13 | - matchExpressions:
14 | - key: disktype
15 | operator: In
16 | values:
17 | - ssd
18 | ---
19 | apiVersion: v1
20 | kind: Pod
21 | metadata:
22 | name: nginx-node-anti-affinity
23 | spec:
24 | containers:
25 | - name: nginx
26 | image: nginx
27 | affinity:
28 | nodeAffinity:
29 | requiredDuringSchedulingIgnoredDuringExecution:
30 | nodeSelectorTerms:
31 | - matchExpressions:
32 | - key: disktype
33 | operator: NotIn
34 | values:
35 | - ssd
--------------------------------------------------------------------------------
/Section 28- Deployments in Kubernetes/deployment.yml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: Deployment
3 | metadata:
4 | name: chef-server
5 | labels:
6 | app: chef
7 | spec:
8 | replicas: 3
9 | selector:
10 | matchLabels:
11 | app: chef-server
12 | template:
13 | metadata:
14 | labels:
15 | app: chef-server
16 | spec:
17 | containers:
18 | - name: chef-server
19 | image: 'chef/chefdk:4.9'
20 | ports:
21 | - containerPort: 8080
22 | command:
23 | - /bin/sh
24 | args:
25 | - '-c'
26 | - echo Hello from the Chef container; sleep 3600
27 | - name: ubuntu
28 | image: 'ubuntu:18.04'
29 | ports:
30 | - containerPort: 8080
31 | command:
32 | - /bin/sh
33 | args:
34 | - '-c'
35 | - echo Hello from the Ubantu container; sleep 3600
36 |
--------------------------------------------------------------------------------
/Section 39- Terraform Concepts - Building Blocks/createInstance (2).tf:
--------------------------------------------------------------------------------
1 |
2 | data "aws_availability_zones" "avilable" {}
3 |
4 | data "aws_ami" "latest-ubuntu" {
5 | most_recent = true
6 | owners = ["099720109477"]
7 |
8 | filter {
9 | name = "name"
10 | values = ["ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-*"]
11 | }
12 |
13 | filter {
14 | name = "virtualization-type"
15 | values = ["hvm"]
16 | }
17 | }
18 |
19 |
20 | resource "aws_instance" "MyFirstInstnace" {
21 | ami = data.aws_ami.latest-ubuntu.id
22 | instance_type = "t2.micro"
23 | availability_zone = data.aws_availability_zones.avilable.names[1]
24 |
25 | provisioner "local-exec" {
26 | command = "echo ${aws_instance.MyFirstInstnace.private_ip} >> my_private_ips.txt"
27 | }
28 |
29 | tags = {
30 | Name = "custom_instance"
31 | }
32 | }
33 |
34 | output "public_ip" {
35 | value = aws_instance.MyFirstInstnace.public_ip
36 | }
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/createInstance (1).tf:
--------------------------------------------------------------------------------
1 |
2 | resource "aws_key_pair" "levelup_key" {
3 | key_name = "levelup_key"
4 | public_key = file(var.PATH_TO_PUBLIC_KEY)
5 | }
6 |
7 | #Create AWS Instance
8 | resource "aws_instance" "MyFirstInstnace" {
9 | ami = lookup(var.AMIS, var.AWS_REGION)
10 | instance_type = "t2.micro"
11 | availability_zone = "us-east-2a"
12 | key_name = aws_key_pair.levelup_key.key_name
13 |
14 | tags = {
15 | Name = "custom_instance"
16 | }
17 | }
18 |
19 | #EBS resource Creation
20 | resource "aws_ebs_volume" "ebs-volume-1" {
21 | availability_zone = "us-east-2a"
22 | size = 50
23 | type = "gp2"
24 |
25 | tags = {
26 | Name = "Secondary Volume Disk"
27 | }
28 | }
29 |
30 | #Atatch EBS volume with AWS Instance
31 | resource "aws_volume_attachment" "ebs-volume-1-attachment" {
32 | device_name = "/dev/xvdh"
33 | volume_id = aws_ebs_volume.ebs-volume-1.id
34 | instance_id = aws_instance.MyFirstInstnace.id
35 | }
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/configmap-env-demo.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: configmap-env-demo
5 | spec:
6 | containers:
7 | - name: configmap-demo
8 | image: alpine
9 | command: ["sleep", "3600"]
10 | env:
11 | # Define the environment variable
12 | - name: PLAYER_LIVES
13 | valueFrom:
14 | configMapKeyRef:
15 | name: player-pro-demo # The ConfigMap this value comes from.
16 | key: player_lives # The key to fetch.
17 | - name: PROPERTIES_FILE_NAME
18 | valueFrom:
19 | configMapKeyRef:
20 | name: player-pro-demo
21 | key: properties_file_name
22 | - name: SECRET_USERNAME
23 | valueFrom:
24 | secretKeyRef:
25 | name: example-secret
26 | key: username
27 | - name: SECRET_PASSWORD
28 | valueFrom:
29 | secretKeyRef:
30 | name: example-secret
31 | key: password
--------------------------------------------------------------------------------
/Section 39- Terraform Concepts - Building Blocks/createInstance.tf:
--------------------------------------------------------------------------------
1 |
2 | resource "aws_key_pair" "levelup_key" {
3 | key_name = "levelup_key"
4 | public_key = file(var.PATH_TO_PUBLIC_KEY)
5 | }
6 |
7 | resource "aws_instance" "MyFirstInstnace" {
8 | ami = lookup(var.AMIS, var.AWS_REGION)
9 | instance_type = "t2.micro"
10 | key_name = aws_key_pair.levelup_key.key_name
11 |
12 | tags = {
13 | Name = "custom_instance"
14 | }
15 |
16 | provisioner "file" {
17 | source = "installNginx.sh"
18 | destination = "/tmp/installNginx.sh"
19 | }
20 |
21 | provisioner "remote-exec" {
22 | inline = [
23 | "chmod +x /tmp/installNginx.sh",
24 | "sudo sed -i -e 's/\r$//' /tmp/installNginx.sh", # Remove the spurious CR characters.
25 | "sudo /tmp/installNginx.sh",
26 | ]
27 | }
28 |
29 | connection {
30 | host = coalesce(self.public_ip, self.private_ip)
31 | type = "ssh"
32 | user = var.INSTANCE_USERNAME
33 | private_key = file(var.PATH_TO_PRIVATE_KEY)
34 | }
35 | }
--------------------------------------------------------------------------------
/Section 27- Pods Allocation in Kubernetes/pod-scheduling.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: nginx-nodeselector
5 | spec:
6 | containers:
7 | - name: nginx
8 | image: nginx
9 | nodeSelector:
10 | disktype: ssd
11 | ---
12 | apiVersion: v1
13 | kind: Pod
14 | metadata:
15 | name: nginx-nodename
16 | spec:
17 | containers:
18 | - name: nginx
19 | image: nginx
20 | nodeName: k8s-worder-01
21 | ---
22 | apiVersion: v1
23 | kind: Pod
24 | metadata:
25 | name: frontend-app
26 | spec:
27 | containers:
28 | - name: app
29 | image: alpine
30 | command:
31 | - sleep
32 | - '3600'
33 | resources:
34 | requests:
35 | memory: 64Mi
36 | cpu: 1000m
37 | nodeSelector:
38 | disktype: ssd
39 | ---
40 | apiVersion: v1
41 | kind: Pod
42 | metadata:
43 | name: frontend-app-2
44 | spec:
45 | containers:
46 | - name: app
47 | image: alpine
48 | command:
49 | - sleep
50 | - '3600'
51 | resources:
52 | requests:
53 | memory: 64Mi
54 | cpu: 1000m
--------------------------------------------------------------------------------
/Section 56- Basic Concepts of Ansible PlayBooks/ansible_debug.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: This is Overview of Ansible Debug Module
3 | hosts: all
4 | remote_user: ec2-user
5 | become: 'yes'
6 | become_user: root
7 |
8 | tasks:
9 | - name: Task for Debug Module Messaging
10 | debug:
11 | msg: "Hi, this is Custom message for Debug Module"
12 |
13 | - name: Prints two lines of messages
14 | debug:
15 | msg:
16 | - "Hi This is multiline message."
17 | - "And I am line number 2..."
18 |
19 | - name: Print Varaible in messages
20 | debug:
21 | msg:
22 | - "Host IP is - {{ inventory_hostname }}"
23 | - Host IP is - {{ inventory_hostname }}
24 | - System {{ inventory_hostname }} has gateway {{ ansible_default_ipv4.gateway }}
25 |
26 | - name: debug module var parameter
27 | debug:
28 | var: inventory_hostname
29 |
30 | - name: verbocity in debug module
31 | debug:
32 | msg: "Hi this is deep logging at deub level 2"
33 | verbocity: 2
--------------------------------------------------------------------------------
/Section 60- Tags in Ansible/tags_ansible.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: This will show the Use of Tags
3 | hosts: localhost
4 | gather_facts: false
5 |
6 | tasks:
7 | - name: Operations using the Tags 1
8 | debug:
9 | msg:
10 | - "Hi, This is Debug Message 1 "
11 | tags:
12 | - first
13 |
14 | - name: Operations using the Tags 2
15 | debug:
16 | msg:
17 | - "Hi, This is Debug Message 2 "
18 | tags:
19 | - Second
20 | - Common
21 |
22 | - name: Operations using the Tags 3
23 | debug:
24 | msg:
25 | - "Hi, This is Debug Message 3 "
26 |
27 | - name: Operations using the Tags 4
28 | debug:
29 | msg:
30 | - "Hi, This is Debug Message 4 "
31 |
32 | - name: Operations using the Tags 5
33 | debug:
34 | msg:
35 | - "Hi, This is Debug Message 5 "
36 | tags:
37 | - first
38 |
39 | - name: Operations using the Tags 6
40 | debug:
41 | msg:
42 | - "Hi, This is Debug Message 6 "
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/Nginx.conf:
--------------------------------------------------------------------------------
1 | user nginx;
2 |
3 | worker_processes auto;
4 |
5 |
6 |
7 | error_log /var/log/nginx/error.log notice;
8 |
9 | pid /var/run/nginx.pid;
10 |
11 |
12 |
13 | events
14 |
15 | {
16 |
17 | worker_connections 1024;
18 |
19 | }
20 |
21 |
22 |
23 | http
24 |
25 | {
26 |
27 | server
28 |
29 | {
30 |
31 | listen 80;
32 |
33 | server_name localhost;
34 |
35 |
36 |
37 | location /
38 |
39 | {
40 |
41 | root /usr/share/nginx/html;
42 |
43 | index index.html index.htm;
44 |
45 | }
46 |
47 |
48 |
49 | auth_basic "Secure Site";
50 |
51 | auth_basic_user_file conf/.htpasswd;
52 |
53 | }
54 |
55 |
56 |
57 | default_type application/octet-stream;
58 |
59 | log_format main '$remote_addr - $remote_user [$time_local] "$request" '
60 |
61 | '$status $body_bytes_sent "$http_referer" '
62 |
63 | '"$http_user_agent" "$http_x_forwarded_for"';
64 |
65 |
66 |
67 | access_log /var/log/nginx/access.log main;
68 |
69 | sendfile on;
70 |
71 | keepalive_timeout 65;
72 |
73 | include /etc/nginx/conf.d/*.conf;
74 |
75 | }
--------------------------------------------------------------------------------
/Section 59- Loops in Ansible Playbook/loops_exampleIII.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: Loops in Ansible Playbook Part III
3 | hosts: all
4 | remote_user: ec2-user
5 | become: 'yes'
6 | become_user: root
7 |
8 | vars:
9 | packages: [ 'gettext-devel', 'openssl-devel', 'perl-CPAN', 'perl-devel', 'zlib-devel', 'unzip', 'curl', 'wget' ]
10 | tasks:
11 | - name: Install Multiple Packages using Loop
12 | yum:
13 | name: '{{ item }}'
14 | state: present
15 | loop:
16 | - gettext-devel
17 | - openssl-devel
18 | - perl-CPAN
19 | - perl-devel
20 | - zlib-devel
21 | - unzip
22 | - curl
23 | - wget
24 |
25 |
26 | - name: UnInstall Multiple Packages using Index Loop
27 | yum:
28 | name: '{{ item.1 }}'
29 | state: absent
30 | with_indexed_items:
31 | - "{{ packages }}"
32 |
33 |
34 | - name: Install Multiple Packages using Index Loop
35 | yum:
36 | name: '{{ item.0 }}'
37 | state: present
38 | with_together:
39 | - "{{ packages }}"
40 |
--------------------------------------------------------------------------------
/Section 59- Loops in Ansible Playbook/loops_exampleII.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: Loops in Ansible Playbook Part II
3 | hosts: all
4 | remote_user: ec2-user
5 | become: 'yes'
6 | become_user: root
7 |
8 | vars:
9 | alpha: [ 'a', 'b', 'c', 'd' ]
10 | numbers: [ 1, 2, 3, 4 ]
11 |
12 | tasks:
13 | # Add Multiple User's in one go
14 | - name : Random Looping Example
15 | debug:
16 | msg: "{{ item }}"
17 | with_random_choice:
18 | - "go through the door"
19 | - "drink from the goblet"
20 | - "press the red button"
21 | - "do nothing"
22 |
23 | # Looping Over A List With An Index
24 | - name: Looping over a List
25 | debug:
26 | msg: "At array position {{ item.0 }} there is a value {{ item.1 }}"
27 | with_indexed_items:
28 | - "{{ alpha }}"
29 |
30 | # Do Until Loop
31 | - name: Ensure Apache is Running
32 | service:
33 | name: httpd
34 | state: started
35 | register: result
36 | until: result.changed == True
37 | retries: 10
38 | delay: 4
39 |
40 |
--------------------------------------------------------------------------------
/Section 26- Pods and Containers in Kubernetes/request_limit.yml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Pod
3 | metadata:
4 | name: frontend-1
5 | spec:
6 | containers:
7 | - name: app
8 | image: alpine
9 | command: ["sleep", "3600"]
10 | resources:
11 | requests:
12 | memory: "64Mi"
13 | cpu: "250m"
14 | ---
15 | apiVersion: v1
16 | kind: Pod
17 | metadata:
18 | name: frontend-2
19 | spec:
20 | containers:
21 | - name: app
22 | image: alpine
23 | command: ["sleep", "3600"]
24 | resources:
25 | requests:
26 | memory: "64Mi"
27 | cpu: "250m"
28 | ---
29 | apiVersion: v1
30 | kind: Pod
31 | metadata:
32 | name: frontend-3
33 | spec:
34 | containers:
35 | - name: app
36 | image: alpine
37 | command: ["sleep", "3600"]
38 | resources:
39 | requests:
40 | memory: "64Mi"
41 | cpu: "250m"
42 | ---
43 | apiVersion: v1
44 | kind: Pod
45 | metadata:
46 | name: frontend-4
47 | spec:
48 | containers:
49 | - name: app
50 | image: alpine
51 | command: ["sleep", "3600"]
52 | resources:
53 | requests:
54 | memory: "64Mi"
55 | cpu: "250m"
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2025 rohanmistry231
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/Section 45- Job Scenario 1- End to End Web-Application Deployment/varaible.tf:
--------------------------------------------------------------------------------
1 | variable "AWS_REGION" {
2 | type = string
3 | default = "us-east-2"
4 | }
5 |
6 | variable "LEVELUP_VPC_CIDR_BLOC" {
7 | description = "The CIDR block for the VPC"
8 | type = string
9 | default = "10.0.0.0/16"
10 | }
11 |
12 | variable "LEVELUP_VPC_PUBLIC_SUBNET1_CIDR_BLOCK" {
13 | description = "The CIDR block for the VPC"
14 | type = string
15 | default = "10.0.101.0/24"
16 | }
17 |
18 | variable "LEVELUP_VPC_PUBLIC_SUBNET2_CIDR_BLOCK" {
19 | description = "The CIDR block for the VPC"
20 | type = string
21 | default = "10.0.102.0/24"
22 | }
23 |
24 | variable "LEVELUP_VPC_PRIVATE_SUBNET1_CIDR_BLOCK" {
25 | description = "The CIDR block for the VPC"
26 | type = string
27 | default = "10.0.1.0/24"
28 | }
29 |
30 | variable "LEVELUP_VPC_PRIVATE_SUBNET2_CIDR_BLOCK" {
31 | description = "The CIDR block for the VPC"
32 | type = string
33 | default = "10.0.2.0/24"
34 | }
35 |
36 | variable "ENVIRONMENT" {
37 | description = "AWS VPC Environment Name"
38 | type = string
39 | default = "Development"
40 | }
41 |
42 |
--------------------------------------------------------------------------------
/Section 57- Operators and Conditional Statement in Ansible Playbook/comparision_operator.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: This will show the Use of Comparision Operators
3 | hosts: localhost
4 | gather_facts: false
5 |
6 | vars:
7 | a : "HELLO"
8 | d : "hello"
9 | b : 10
10 | c : 20
11 |
12 | tasks:
13 | - name: Operations on variables
14 | debug:
15 | msg:
16 | - "The value of b is - {{ b }}, and Value of c is - {{ c }}"
17 | - "Is b greater than c : {{ b > c }}"
18 | - "Is b less than c : {{ b < c }}"
19 | - "Is b equals to c : {{ b == c }}"
20 | - "Is b not equal to c : {{ b != c }}"
21 | - "Is b greater than or equal to c : {{ b >= c }}"
22 | - "Is b less than or equal to c : {{ b <= c }}"
23 | - "Below Comparision is for String"
24 | - "The value of a is - {{ a }}, and Value of d is - {{ d }}"
25 | - "Is a greater than d : {{ a > d }}"
26 | - "Is a less than d : {{ a < d }}"
27 | - "Is a equals to d : {{ a == d }}"
28 | - "Is a not equal to d : {{ a != d }}"
29 | - "Is a equals to d : {{ a|lower == d }}"
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/nat.tf:
--------------------------------------------------------------------------------
1 | #Define External IP
2 | resource "aws_eip" "levelup-nat" {
3 | vpc = true
4 | }
5 |
6 | resource "aws_nat_gateway" "levelup-nat-gw" {
7 | allocation_id = aws_eip.levelup-nat.id
8 | subnet_id = aws_subnet.levelupvpc-public-1.id
9 | depends_on = [aws_internet_gateway.levelup-gw]
10 | }
11 |
12 | resource "aws_route_table" "levelup-private" {
13 | vpc_id = aws_vpc.levelupvpc.id
14 | route {
15 | cidr_block = "0.0.0.0/0"
16 | nat_gateway_id = aws_nat_gateway.levelup-nat-gw.id
17 | }
18 |
19 | tags = {
20 | Name = "levelup-private"
21 | }
22 | }
23 |
24 | # route associations private
25 | resource "aws_route_table_association" "level-private-1-a" {
26 | subnet_id = aws_subnet.levelupvpc-private-1.id
27 | route_table_id = aws_route_table.levelup-private.id
28 | }
29 |
30 | resource "aws_route_table_association" "level-private-1-b" {
31 | subnet_id = aws_subnet.levelupvpc-private-2.id
32 | route_table_id = aws_route_table.levelup-private.id
33 | }
34 |
35 | resource "aws_route_table_association" "level-private-1-c" {
36 | subnet_id = aws_subnet.levelupvpc-private-3.id
37 | route_table_id = aws_route_table.levelup-private.id
38 | }
--------------------------------------------------------------------------------
/Section 41- Terraform for AWS Cloud Part II/security_group.tf:
--------------------------------------------------------------------------------
1 | #Security Group for levelupvpc
2 | resource "aws_security_group" "allow-levelup-ssh" {
3 | vpc_id = aws_vpc.levelupvpc.id
4 | name = "allow-levelup-ssh"
5 | description = "security group that allows ssh connection"
6 |
7 | egress {
8 | from_port = 0
9 | to_port = 0
10 | protocol = "-1"
11 | cidr_blocks = ["0.0.0.0/0"]
12 | }
13 |
14 | ingress {
15 | from_port = 22
16 | to_port = 22
17 | protocol = "tcp"
18 | cidr_blocks = ["0.0.0.0/0"]
19 | }
20 |
21 | tags = {
22 | Name = "allow-levelup-ssh"
23 | }
24 | }
25 |
26 | #Security Group for MariaDB
27 | resource "aws_security_group" "allow-mariadb" {
28 | vpc_id = aws_vpc.levelupvpc.id
29 | name = "allow-mariadb"
30 | description = "security group for Maria DB"
31 |
32 | egress {
33 | from_port = 0
34 | to_port = 0
35 | protocol = "-1"
36 | cidr_blocks = ["0.0.0.0/0"]
37 | }
38 |
39 | ingress {
40 | from_port = 3306
41 | to_port = 3306
42 | protocol = "tcp"
43 | security_groups = [aws_security_group.allow-levelup-ssh.id]
44 | }
45 |
46 | tags = {
47 | Name = "allow-mariadb"
48 | }
49 | }
--------------------------------------------------------------------------------
/Section 59- Loops in Ansible Playbook/loops_example.yml:
--------------------------------------------------------------------------------
1 | #!/root/ansible/myansible/bin/ansible-playbook
2 | - name: Loops in Ansible Playbook Part I
3 | hosts: all
4 | remote_user: ec2-user
5 | become: 'yes'
6 | become_user: root
7 |
8 | vars:
9 | alpha: [ 'a', 'b', 'c', 'd' ]
10 | numbers: [ 1, 2, 3, 4 ]
11 |
12 | tasks:
13 | # Add Multiple User's in one go
14 | - name: add several users in one go
15 | user:
16 | name: "{{ item }}"
17 | state: present
18 | groups: "games"
19 | with_items:
20 | - testuser1
21 | - testuser2
22 | - testuser3
23 | - testuser4
24 | - testuser5
25 |
26 |
27 | - name: add several users
28 | user:
29 | name: "{{ item.name }}"
30 | state: present
31 | groups: "{{ item.groups }}"
32 | with_items:
33 | - { name: 'testuser6', groups: 'nobody' }
34 | - { name: 'testuser7', groups: 'nobody' }
35 | - { name: 'testuser8', groups: 'postfix' }
36 | - { name: 'testuser9', groups: 'postfix' }
37 |
38 |
39 | - name: Loop Over Set of Collection variable
40 | debug:
41 | msg: "{{ item.0 }} and {{ item.1 }}"
42 | with_together:
43 | - "{{ alpha }}"
44 | - "{{ numbers }}"
--------------------------------------------------------------------------------
/Section 46- Job Scenario 2- Terraform Docker and Kubernetes/ekscluster.tf:
--------------------------------------------------------------------------------
1 |
2 |
3 | resource "aws_eks_cluster" "aws_eks" {
4 | name = "eks_cluster_levelup"
5 | role_arn = aws_iam_role.eks_cluster.arn
6 |
7 | vpc_config {
8 | subnet_ids = module.vpc.public_subnets
9 | }
10 |
11 | depends_on = [
12 | aws_iam_role_policy_attachment.AmazonEKSClusterPolicy,
13 | aws_iam_role_policy_attachment.AmazonEKSServicePolicy,
14 | ]
15 |
16 | tags = {
17 | Name = "EKS_Cluster_LevelUp"
18 | }
19 | }
20 |
21 | resource "aws_eks_node_group" "node" {
22 | cluster_name = aws_eks_cluster.aws_eks.name
23 | node_group_name = "node_levelup"
24 | node_role_arn = aws_iam_role.eks_nodes.arn
25 | subnet_ids = module.vpc.public_subnets
26 |
27 | scaling_config {
28 | desired_size = 1
29 | max_size = 1
30 | min_size = 1
31 | }
32 |
33 | # Ensure that IAM Role permissions are created before and deleted after EKS Node Group handling.
34 | # Otherwise, EKS will not be able to properly delete EC2 Instances and Elastic Network Interfaces.
35 | depends_on = [
36 | aws_iam_role_policy_attachment.AmazonEKSWorkerNodePolicy,
37 | aws_iam_role_policy_attachment.AmazonEKS_CNI_Policy,
38 | aws_iam_role_policy_attachment.AmazonEC2ContainerRegistryReadOnly,
39 | ]
40 | }
--------------------------------------------------------------------------------
/Section 41- Terraform for AWS Cloud Part II/iamroles.tf:
--------------------------------------------------------------------------------
1 | #Roles to access the AWS S3 Bucket
2 | resource "aws_iam_role" "s3-levelupbucket-role" {
3 | name = "s3-levelupbucket-role"
4 | assume_role_policy = </etc/apt/sources.list.d/kubernetes.list
17 | deb http://apt.kubernetes.io/ kubernetes-xenial main
18 | EOF
19 |
20 | 6. Install the three pieces you’ll need, kubeadm, kubelet, and kubectl
21 | sudo apt-get update
22 | sudo apt-get install -y kubelet kubeadm kubectl
23 | sudo apt-mark hold kubelet kubeadm kubectl
24 |
25 | 7. Create the actual cluster
26 | kubeadm init --pod-network-cidr=192.168.0.0/16
27 |
28 | Note - Notedown the Command to join cluster
29 |
30 | 8. Install the Calico network plugin
31 | kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
32 |
33 | 9. Untaint the master so that it will be available for scheduling workloads
34 | kubectl taint nodes --all node-role.kubernetes.io/master-
35 |
36 | 10. Get Cluster Nodes
37 | kubectl get nodes
38 |
39 |
40 |
41 | ************* Install & Configure Kubernertes Worker Node *************
42 |
43 | 1. Upgrade apt packages
44 | sudo apt-get update
45 |
46 | 2. Install Docker Engine
47 | sudo apt-get install -y docker.io
48 |
49 | 3. Install Support packages
50 | sudo apt-get install -y apt-transport-https curl
51 |
52 | 4. Retrieve the key for the Kubernetes repo and add it to your key manager
53 | curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
54 |
55 | 5. Add the kubernetes repo to your system
56 | cat </etc/apt/sources.list.d/kubernetes.list
57 | deb http://apt.kubernetes.io/ kubernetes-xenial main
58 | EOF
59 |
60 | 6. Install the three pieces you’ll need, kubeadm, kubelet, and kubectl
61 | sudo apt-get update
62 | sudo apt-get install -y kubelet kubeadm kubectl
63 | sudo apt-mark hold kubelet kubeadm kubectl
64 |
65 | 7. Join the Worker Nodes to the Cluster
66 | In the Control Plane Node, create the token and copy the kubeadm join command (NOTE:The join command can also be found in the output from kubeadm init command):
67 | kubeadm token create --print-join-command
68 |
69 | 8. In both Worker Nodes, paste the kubeadm join command to join the cluster:
70 | sudo kubeadm join
71 |
72 | 9. In the Control Plane Node, view cluster status (Note: You may have to wait a few moments to allow the cluster to become ready):
73 | kubectl get nodes
--------------------------------------------------------------------------------
/Section 41- Terraform for AWS Cloud Part II/autoscaling.tf:
--------------------------------------------------------------------------------
1 | #AutoScaling Launch Configuration
2 | resource "aws_launch_configuration" "levelup-launchconfig" {
3 | name_prefix = "levelup-launchconfig"
4 | image_id = lookup(var.AMIS, var.AWS_REGION)
5 | instance_type = "t2.micro"
6 | key_name = aws_key_pair.levelup_key.key_name
7 | }
8 |
9 | #Generate Key
10 | resource "aws_key_pair" "levelup_key" {
11 | key_name = "levelup_key"
12 | public_key = file(var.PATH_TO_PUBLIC_KEY)
13 | }
14 |
15 | #Autoscaling Group
16 | resource "aws_autoscaling_group" "levelup-autoscaling" {
17 | name = "levelup-autoscaling"
18 | vpc_zone_identifier = ["subnet-9e0ad9f5", "subnet-d7a6afad"]
19 | launch_configuration = aws_launch_configuration.levelup-launchconfig.name
20 | min_size = 1
21 | max_size = 2
22 | health_check_grace_period = 200
23 | health_check_type = "EC2"
24 | force_delete = true
25 |
26 | tag {
27 | key = "Name"
28 | value = "LevelUp Custom EC2 instance"
29 | propagate_at_launch = true
30 | }
31 | }
32 |
33 | #Autoscaling Configuration policy - Scaling Alarm
34 | resource "aws_autoscaling_policy" "levelup-cpu-policy" {
35 | name = "levelup-cpu-policy"
36 | autoscaling_group_name = aws_autoscaling_group.levelup-autoscaling.name
37 | adjustment_type = "ChangeInCapacity"
38 | scaling_adjustment = "1"
39 | cooldown = "200"
40 | policy_type = "SimpleScaling"
41 | }
42 |
43 | #Auto scaling Cloud Watch Monitoring
44 | resource "aws_cloudwatch_metric_alarm" "levelup-cpu-alarm" {
45 | alarm_name = "levelup-cpu-alarm"
46 | alarm_description = "Alarm once CPU Uses Increase"
47 | comparison_operator = "GreaterThanOrEqualToThreshold"
48 | evaluation_periods = "2"
49 | metric_name = "CPUUtilization"
50 | namespace = "AWS/EC2"
51 | period = "120"
52 | statistic = "Average"
53 | threshold = "30"
54 |
55 | dimensions = {
56 | "AutoScalingGroupName" = aws_autoscaling_group.levelup-autoscaling.name
57 | }
58 |
59 | actions_enabled = true
60 | alarm_actions = [aws_autoscaling_policy.levelup-cpu-policy.arn]
61 | }
62 |
63 | #Auto Descaling Policy
64 | resource "aws_autoscaling_policy" "levelup-cpu-policy-scaledown" {
65 | name = "levelup-cpu-policy-scaledown"
66 | autoscaling_group_name = aws_autoscaling_group.levelup-autoscaling.name
67 | adjustment_type = "ChangeInCapacity"
68 | scaling_adjustment = "-1"
69 | cooldown = "200"
70 | policy_type = "SimpleScaling"
71 | }
72 |
73 | #Auto descaling cloud watch
74 | resource "aws_cloudwatch_metric_alarm" "levelup-cpu-alarm-scaledown" {
75 | alarm_name = "levelup-cpu-alarm-scaledown"
76 | alarm_description = "Alarm once CPU Uses Decrease"
77 | comparison_operator = "LessThanOrEqualToThreshold"
78 | evaluation_periods = "2"
79 | metric_name = "CPUUtilization"
80 | namespace = "AWS/EC2"
81 | period = "120"
82 | statistic = "Average"
83 | threshold = "10"
84 |
85 | dimensions = {
86 | "AutoScalingGroupName" = aws_autoscaling_group.levelup-autoscaling.name
87 | }
88 |
89 | actions_enabled = true
90 | alarm_actions = [aws_autoscaling_policy.levelup-cpu-policy-scaledown.arn]
91 | }
--------------------------------------------------------------------------------
/Section 40- Terraform for AWS Cloud/vpc.tf:
--------------------------------------------------------------------------------
1 | #Create AWS VPC
2 | resource "aws_vpc" "levelupvpc" {
3 | cidr_block = "10.0.0.0/16"
4 | instance_tenancy = "default"
5 | enable_dns_support = "true"
6 | enable_dns_hostnames = "true"
7 | enable_classiclink = "false"
8 |
9 | tags = {
10 | Name = "levelupvpc"
11 | }
12 | }
13 |
14 | # Public Subnets in Custom VPC
15 | resource "aws_subnet" "levelupvpc-public-1" {
16 | vpc_id = aws_vpc.levelupvpc.id
17 | cidr_block = "10.0.1.0/24"
18 | map_public_ip_on_launch = "true"
19 | availability_zone = "us-east-2a"
20 |
21 | tags = {
22 | Name = "levelupvpc-public-1"
23 | }
24 | }
25 |
26 | resource "aws_subnet" "levelupvpc-public-2" {
27 | vpc_id = aws_vpc.levelupvpc.id
28 | cidr_block = "10.0.2.0/24"
29 | map_public_ip_on_launch = "true"
30 | availability_zone = "us-east-2b"
31 |
32 | tags = {
33 | Name = "levelupvpc-public-2"
34 | }
35 | }
36 |
37 | resource "aws_subnet" "levelupvpc-public-3" {
38 | vpc_id = aws_vpc.levelupvpc.id
39 | cidr_block = "10.0.3.0/24"
40 | map_public_ip_on_launch = "true"
41 | availability_zone = "us-east-2c"
42 |
43 | tags = {
44 | Name = "levelupvpc-public-3"
45 | }
46 | }
47 |
48 | # Private Subnets in Custom VPC
49 | resource "aws_subnet" "levelupvpc-private-1" {
50 | vpc_id = aws_vpc.levelupvpc.id
51 | cidr_block = "10.0.4.0/24"
52 | map_public_ip_on_launch = "false"
53 | availability_zone = "us-east-2a"
54 |
55 | tags = {
56 | Name = "levelupvpc-private-1"
57 | }
58 | }
59 |
60 | resource "aws_subnet" "levelupvpc-private-2" {
61 | vpc_id = aws_vpc.levelupvpc.id
62 | cidr_block = "10.0.5.0/24"
63 | map_public_ip_on_launch = "false"
64 | availability_zone = "us-east-2b"
65 |
66 | tags = {
67 | Name = "levelupvpc-private-2"
68 | }
69 | }
70 |
71 | resource "aws_subnet" "levelupvpc-private-3" {
72 | vpc_id = aws_vpc.levelupvpc.id
73 | cidr_block = "10.0.6.0/24"
74 | map_public_ip_on_launch = "false"
75 | availability_zone = "us-east-2c"
76 |
77 | tags = {
78 | Name = "levelupvpc-private-3"
79 | }
80 | }
81 |
82 | # Custom internet Gateway
83 | resource "aws_internet_gateway" "levelup-gw" {
84 | vpc_id = aws_vpc.levelupvpc.id
85 |
86 | tags = {
87 | Name = "levelup-gw"
88 | }
89 | }
90 |
91 | #Routing Table for the Custom VPC
92 | resource "aws_route_table" "levelup-public" {
93 | vpc_id = aws_vpc.levelupvpc.id
94 | route {
95 | cidr_block = "0.0.0.0/0"
96 | gateway_id = aws_internet_gateway.levelup-gw.id
97 | }
98 |
99 | tags = {
100 | Name = "levelup-public-1"
101 | }
102 | }
103 |
104 | resource "aws_route_table_association" "levelup-public-1-a" {
105 | subnet_id = aws_subnet.levelupvpc-public-1.id
106 | route_table_id = aws_route_table.levelup-public.id
107 | }
108 |
109 | resource "aws_route_table_association" "levelup-public-2-a" {
110 | subnet_id = aws_subnet.levelupvpc-public-2.id
111 | route_table_id = aws_route_table.levelup-public.id
112 | }
113 |
114 | resource "aws_route_table_association" "levelup-public-3-a" {
115 | subnet_id = aws_subnet.levelupvpc-public-3.id
116 | route_table_id = aws_route_table.levelup-public.id
117 | }
118 |
--------------------------------------------------------------------------------
/Section 41- Terraform for AWS Cloud Part II/vpc.tf:
--------------------------------------------------------------------------------
1 | #Create AWS VPC
2 | resource "aws_vpc" "levelupvpc" {
3 | cidr_block = "10.0.0.0/16"
4 | instance_tenancy = "default"
5 | enable_dns_support = "true"
6 | enable_dns_hostnames = "true"
7 | enable_classiclink = "false"
8 |
9 | tags = {
10 | Name = "levelupvpc"
11 | }
12 | }
13 |
14 | # Public Subnets in Custom VPC
15 | resource "aws_subnet" "levelupvpc-public-1" {
16 | vpc_id = aws_vpc.levelupvpc.id
17 | cidr_block = "10.0.1.0/24"
18 | map_public_ip_on_launch = "true"
19 | availability_zone = "us-east-2a"
20 |
21 | tags = {
22 | Name = "levelupvpc-public-1"
23 | }
24 | }
25 |
26 | resource "aws_subnet" "levelupvpc-public-2" {
27 | vpc_id = aws_vpc.levelupvpc.id
28 | cidr_block = "10.0.2.0/24"
29 | map_public_ip_on_launch = "true"
30 | availability_zone = "us-east-2b"
31 |
32 | tags = {
33 | Name = "levelupvpc-public-2"
34 | }
35 | }
36 |
37 | resource "aws_subnet" "levelupvpc-public-3" {
38 | vpc_id = aws_vpc.levelupvpc.id
39 | cidr_block = "10.0.3.0/24"
40 | map_public_ip_on_launch = "true"
41 | availability_zone = "us-east-2c"
42 |
43 | tags = {
44 | Name = "levelupvpc-public-3"
45 | }
46 | }
47 |
48 | # Private Subnets in Custom VPC
49 | resource "aws_subnet" "levelupvpc-private-1" {
50 | vpc_id = aws_vpc.levelupvpc.id
51 | cidr_block = "10.0.4.0/24"
52 | map_public_ip_on_launch = "false"
53 | availability_zone = "us-east-2a"
54 |
55 | tags = {
56 | Name = "levelupvpc-private-1"
57 | }
58 | }
59 |
60 | resource "aws_subnet" "levelupvpc-private-2" {
61 | vpc_id = aws_vpc.levelupvpc.id
62 | cidr_block = "10.0.5.0/24"
63 | map_public_ip_on_launch = "false"
64 | availability_zone = "us-east-2b"
65 |
66 | tags = {
67 | Name = "levelupvpc-private-2"
68 | }
69 | }
70 |
71 | resource "aws_subnet" "levelupvpc-private-3" {
72 | vpc_id = aws_vpc.levelupvpc.id
73 | cidr_block = "10.0.6.0/24"
74 | map_public_ip_on_launch = "false"
75 | availability_zone = "us-east-2c"
76 |
77 | tags = {
78 | Name = "levelupvpc-private-3"
79 | }
80 | }
81 |
82 | # Custom internet Gateway
83 | resource "aws_internet_gateway" "levelup-gw" {
84 | vpc_id = aws_vpc.levelupvpc.id
85 |
86 | tags = {
87 | Name = "levelup-gw"
88 | }
89 | }
90 |
91 | #Routing Table for the Custom VPC
92 | resource "aws_route_table" "levelup-public" {
93 | vpc_id = aws_vpc.levelupvpc.id
94 | route {
95 | cidr_block = "0.0.0.0/0"
96 | gateway_id = aws_internet_gateway.levelup-gw.id
97 | }
98 |
99 | tags = {
100 | Name = "levelup-public-1"
101 | }
102 | }
103 |
104 | resource "aws_route_table_association" "levelup-public-1-a" {
105 | subnet_id = aws_subnet.levelupvpc-public-1.id
106 | route_table_id = aws_route_table.levelup-public.id
107 | }
108 |
109 | resource "aws_route_table_association" "levelup-public-2-a" {
110 | subnet_id = aws_subnet.levelupvpc-public-2.id
111 | route_table_id = aws_route_table.levelup-public.id
112 | }
113 |
114 | resource "aws_route_table_association" "levelup-public-3-a" {
115 | subnet_id = aws_subnet.levelupvpc-public-3.id
116 | route_table_id = aws_route_table.levelup-public.id
117 | }
118 |
--------------------------------------------------------------------------------