terraform-google-chamber-gke module deploys a production-ready Google GKE 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.gcloud CLI authenticated
gcloud CLI authenticated
Install the gcloud CLI and authenticate:
Required GCP APIs enabled
Required GCP APIs enabled
Enable the required APIs in your project:
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
The GKE module requires explicit provider configuration because the
kubernetes, helm, and kubectl providers need the cluster endpoint and credentials from the module outputs. The full configuration is shown below.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
GCP
VPC
GKE
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
Chamber Agent not connecting
Chamber Agent not connecting
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:
-
Verify GCENodeClass:
GPU pods stuck in Pending
GPU pods stuck in Pending
Check the KAI Scheduler logs and pod events:
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

