Getting Started
Prerequisites
Deploy the base cluster
git clone https://github.com/aws-samples/sample-aws-eks-auto-mode.git
cd sample-aws-eks-auto-mode/terraform
terraform init
terraform apply -auto-approve
Configure kubectl:
$(terraform output -raw configure_kubectl)
Apply an example
Each example is self-contained. Pick one and apply:
kubectl apply -f examples/graviton/
Configuration
All inputs are defined in terraform/variables.tf. Override with -var flags or a terraform.tfvars file.
| Variable | Description | Default |
|---|---|---|
name | VPC and EKS cluster name | automode-cluster |
region | AWS region | us-west-2 |
eks_cluster_version | Kubernetes version | 1.34 |
vpc_cidr | VPC CIDR block | 10.0.0.0/16 |
tags | Tags applied to all resources (5-layer) | {"auto-delete" = "never"} |
base_domain | Route53 zone for HTTPS (empty = internal-only) | "" |
subdomain | Prefix under base_domain | "" |
ephemeral_storage_kms_key_id | KMS key for node storage encryption | "" |
enable_observability | CloudWatch Container Insights | false |
Public exposure (opt-in)
By default, all workloads are internal-only. To expose on a real domain:
terraform apply \
-var='base_domain=example.com' \
-var='subdomain=automode' \
-var='enable_observability=true'
Cleanup
./scripts/cleanup.sh
See Cleanup Architecture for the full teardown playbook.