This repository contains Terraform code to provision and manage a foundational AWS environment, including a Virtual Private Cloud (VPC) and an Elastic Kubernetes Service (EKS) cluster.
This project serves as a practical example of using Terraform to implement Infrastructure as Code (IaC). It automates the setup of a scalable and secure Kubernetes environment on AWS, suitable for deploying containerized applications.
- Custom VPC: Deploys a custom VPC with public and private subnets across multiple availability zones for high availability.
- EKS Cluster: Provisions an EKS cluster with a managed node group.
- Networking: Sets up essential networking components like Internet Gateways, NAT Gateways, and route tables.
-
Clone the repository:
git clone https://github.com/austinkaruru/terraform-learn.git cd terraform-learn -
Initialize Terraform:
terraform init
-
Review the deployment plan:
terraform plan
-
Apply the configuration:
terraform apply
This Terraform configuration will create the following resources in your AWS account:
- AWS VPC: A logically isolated virtual network.
- Subnets: Public and private subnets.
- Internet Gateway & NAT Gateway: For internet access.
- EKS Cluster: The Kubernetes control plane.
- EKS Node Group: The worker nodes for the cluster.