Amazon Elastic Kubernetes Service (EKS) offers a fully managed Kubernetes environment, making it easy to deploy, manage, and scale containerized applications. You’ll use Terraform to automate the setup of an EKS cluster and build a CI/CD pipeline that integrates infrastructure as code with continuous deployment.
In this Cloud Lab, you will create an S3 bucket using Terraform to store the necessary files to deploy a CI/CD pipeline on EKS. These files will create another S3 bucket to manage pipeline artifacts and deploy a custom VPC with public and private subnets for secure network traffic management. You will also set up an EKS cluster and node groups to provide the required compute resources. Following this, you will create an ECR repository to store the images used by the EKS cluster. The next step involves configuring a CI/CD pipeline with AWS CodePipeline and CodeBuild to automate builds, tests, and application deployments with each code change and update in the GitHub repository. Finally, you will deploy the infrastructure stored in the S3 bucket using AWS CloudShell.
After completing this Cloud Lab, you’ll have hands-on experience with Terraform for infrastructure automation, managing Kubernetes clusters on EKS, and creating automated CI/CD pipelines—valuable skills for any DevOps or cloud professional.
The following is the high-level architecture diagram of the infrastructure you’ll create in this Cloud Lab: