Manual Kubernetes setups don’t break immediately — they erode over time. Misconfigured security groups. Environments that don’t match. Nodes that don’t scale fast enough when traffic spikes on a Tuesday afternoon. This project replaces all of that with one clean Terraform run.

How It’s Structured

The entire cluster is declared in HCL and broken into three focused layers:

  1. Network — A dedicated VPC spanning three availability zones, with private worker subnets and public load balancer subnets. NAT Gateways handle outbound access from private nodes.
  2. Compute — Managed EKS worker node groups inside private subnets, scaling automatically on CPU thresholds via Auto Scaling Groups.
  3. Access Control — IAM boundary policies applied via IRSA, mapping Kubernetes service accounts to least-privilege AWS roles.