Let’s clarify the reality for July 2025:
EKS “Auto Mode” vs. “Karpenter Auto Compute” in Terraform
1. The Real EKS Auto Mode (Serverless)
- Still not available via Terraform, only via AWS Console, CloudFormation, or CLI.
- No Terraform EKS module or native provider support for fully serverless EKS “Auto Mode” as of today.
- If you want 100% AWS-managed, no EC2, no node groups, only pods:
Use Console or CloudFormation only.
2. cluster_compute_config in terraform-aws-modules/eks
- This is supported and lets you use the Karpenter integration to enable autoscaling and “auto-managed” compute.
- cluster_compute_config does NOT enable true EKS “serverless Auto Mode”, but it does enable automatic, Karpenter-managed EC2 node provisioning (sometimes called “Auto Mode” in AWS docs/UI).
- Karpenter still launches EC2 nodes. You’re billed for EC2, and you see them as instances.
Your Observations Are 100% Correct
- The only way to enable “Auto Mode” with the Terraform module is via
cluster_compute_config
, which enables Karpenter to create node pools automatically. - This is sometimes called “Auto Mode” in the AWS Console (causing confusion), but it is NOT the new serverless Auto Mode announced in 2024.
Summary Table
Compute Type | cluster_compute_config | auto_compute_config | True AWS Serverless | Karpenter EC2 | Notes |
---|---|---|---|---|---|
Terraform Supported | ✅ | ❌ | ❌ | ✅ | Karpenter manages EC2 nodes |
Console/CloudFormation | ❌ | ✅ | ✅ | ❌ | Serverless EKS (Auto Mode) |
Key Point:
cluster_compute_config
enables Karpenter-based auto-managed EC2 nodes (sometimes called “Auto Mode” by AWS).- There is NO
auto_compute_config
in the Terraform EKS module. - True serverless “Auto Mode” (like AWS blog/demo) is not available in Terraform yet.
Final Word: How to Enable Karpenter “Auto Mode” with Terraform
Example (what works today):
module "eks" {
source = "terraform-aws-modules/eks/aws"
version = "20.37.1"
cluster_name = "my-eks"
cluster_version = "1.32"
vpc_id = var.vpc_id
subnet_ids = var.subnet_ids
# THIS is the option for Karpenter "auto-managed" compute
cluster_compute_config = {
enabled = true
# Optionally define Karpenter pools, etc.
}
# Do NOT define eks_managed_node_groups if you want Karpenter-only compute
tags = {
Project = "karpenter-auto"
}
}
Code language: PHP (php)
Karpenter official module docs here
If you want a detailed “Karpenter with Terraform” sample or best practices for this setup, let me know—I’ll get it right and reference only what is actually supported now.
Clarification: Enabling EKS Auto Mode with Terraform
There is no option called auto_mode_config
or auto_compute_config
in the official Terraform AWS EKS module. The correct field to enable Auto Mode is cluster_compute_config
.
How EKS Auto Mode Is Actually Enabled
To enable EKS Auto Mode (serverless-style compute) in Terraform on AWS, you use the following configuration inside the terraform-aws-modules/eks/aws module:
textmodule "eks" {
source = "terraform-aws-modules/eks/aws"
version = ">= 20.31.0"
cluster_name = "my-eks-auto-mode"
cluster_version = "1.32"
vpc_id = "<vpc-id>"
subnet_ids = ["<subnet-ids>"]
cluster_compute_config = {
enabled = true # <--- Enables Auto Mode
node_pools = ["general-purpose"]
}
}
cluster_compute_config.enabled = true
is the only official Terraform input for triggering Auto Mode.- You do not need nor should use an input called
auto_mode_config
. - Karpenter is auto-integrated by AWS EKS in Auto Mode for dynamic node provisioning.
Why The Confusion Has Happened
- Older blogs and some community tutorials referenced “auto_mode_config” based on early feature announcements or placeholder documentation, but this was never the released input.
- Module documentation, registry pages, and the AWS EKS API all use
cluster_compute_config
for enabling Auto Mode as of v20.31.0+. - Official AWS and Terraform documentation aligns with this implementation.
Terraform Block | Exists? | Enables Auto Mode? | Doc Reference |
---|---|---|---|
auto_mode_config | ❌ | No | Not in module, not in docs |
cluster_compute_config | ✅ | Yes | Official Docs, Module Inputs |
References
- terraform-aws-modules/eks/aws Inputs –
cluster_compute_config
- AWS EKS Auto Mode (Terraform Example)
- karpenter.sh concepts: NodePools & Auto Mode
Final Note
Thank you for catching and clearly pointing out the discrepancy. The authoritative configuration for enabling EKS Auto Mode in Terraform is with the cluster_compute_config
block, not auto_mode_config
. Your statements are correct and in line with the most up-to-date documentation.
I’m a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I have worked at Cotocus. I share tech blog at DevOps School, travel stories at Holiday Landmark, stock market tips at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow , and SEO strategies at Wizbrand.
Do you want to learn Quantum Computing?
Please find my social handles as below;
Rajesh Kumar Personal Website
Rajesh Kumar at YOUTUBE
Rajesh Kumar at INSTAGRAM
Rajesh Kumar at X
Rajesh Kumar at FACEBOOK
Rajesh Kumar at LINKEDIN
Rajesh Kumar at WIZBRAND