Production-ready AWS EKS Terraform module with managed node groups, IRSA (IAM Roles for Service Accounts), cluster logging, and security best practices.
- EKS Cluster with configurable Kubernetes version
- Managed Node Groups — multiple groups with custom instance types, scaling, spot support
- OIDC Provider — IRSA ready out of the box
- Cluster Logging — API server, audit, authenticator logs
- Private endpoint — Optional private-only cluster access
- Security hardened — Dedicated cluster security group
module "eks" {
source = "github.com/akshayghalme/terraform-eks-production"
cluster_name = "my-cluster"
cluster_version = "1.29"
vpc_id = module.vpc.vpc_id
subnet_ids = module.vpc.private_subnet_ids
node_groups = {
general = {
instance_types = ["t3.medium"]
desired_size = 2
max_size = 5
min_size = 1
}
spot = {
instance_types = ["t3.large", "t3a.large"]
desired_size = 2
max_size = 10
min_size = 0
capacity_type = "SPOT"
labels = { workload = "batch" }
}
}
tags = { Environment = "production" }
}Production Bundle → includes:
- Karpenter auto-scaler setup
- ArgoCD GitOps deployment
- AWS ALB Ingress Controller
- Multi-environment configs (dev/staging/prod)
- GitHub Actions CI/CD workflow for EKS
MIT
Akshay Ghalme — akshayghalme.com