Skip to content

akshayghalme/terraform-eks-production

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

terraform-eks-production

Production-ready AWS EKS Terraform module with managed node groups, IRSA (IAM Roles for Service Accounts), cluster logging, and security best practices.

Features

  • 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

Usage

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" }
}

Need More?

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

License

MIT

Author

Akshay Ghalmeakshayghalme.com

About

Production-ready AWS EKS Terraform module with managed node groups, IRSA, OIDC provider, cluster logging, and spot instance support

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages