├── 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 | --------------------------------------------------------------------------------