terraform-aws-chamber-eks module deploys a production-ready Amazon EKS cluster with GPU autoscaling, NVIDIA drivers, and the Chamber Agent — all in a single terraform apply.
Prerequisites
Terraform >= 1.3.0
Terraform >= 1.3.0
Install from developer.hashicorp.com/terraform/install. Verify with
terraform version.AWS CLI configured
AWS CLI configured
The AWS provider uses your local credentials. Verify with
aws sts get-caller-identity.Chamber Console account
Chamber Console account
You need a cluster token and cluster ID from the Chamber Console. See Getting a Cluster Token for instructions.
Quick Start
1
Create main.tf
Create a new directory for your Terraform configuration and add a
main.tf file:2
Create terraform.tfvars
3
Deploy
4
Configure kubectl
5
Verify
Using an Existing VPC
To deploy into an existing VPC instead of creating a new one:Key Variables
The table below covers the most commonly configured variables. For the complete list, see the module README on GitHub.Required
AWS
VPC
EKS
GPU
Chamber
Key Outputs
For all outputs, see the module README on GitHub.
GPU Pool Management
After deployment, you need GPU pools for Karpenter to know which GPU nodes to provision. There are two approaches:- Console-managed (default)
- Terraform-managed
Manage GPU pools through the Chamber Console:
- Go to Capacity Pools > Create Dynamic Pool
- Select your cluster and configure GPU type, limits, and capacity types
- The pool syncs to your cluster automatically — Karpenter provisions GPU nodes on demand
Troubleshooting
Cluster not appearing in Chamber Console
Cluster not appearing in Chamber Console
Check the Chamber Agent logs:Verify your
chamber_cluster_token and chamber_cluster_id are correct.GPU nodes not provisioning
GPU nodes not provisioning
-
Verify a GPU pool exists:
If none exists, create one via the Chamber Console or set
create_default_gpu_nodepool = true. -
Check Karpenter logs:
-
Check for capacity errors:
MaxSpotInstanceCountExceeded
MaxSpotInstanceCountExceeded
Your AWS account lacks GPU Spot quota. Either request a quota increase via the AWS Service Quotas console, or set
capacity_types = ["on-demand"].GPU Operator pods stuck in Pending
GPU Operator pods stuck in Pending
This is expected when no GPU nodes exist yet. GPU Operator DaemonSets start automatically when Karpenter provisions GPU nodes in response to a workload.
Cleanup
Next Steps
Quickstart
Submit your first GPU workload
Capacity Management
Configure capacity pools and reservations
Agent Troubleshooting
Detailed troubleshooting guide
GitHub Repository
Full source, examples, and changelog

