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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages