Use this skill whenever the user needs to provision an EKS Fargate cluster on AWS. Triggers on mentions of Fargate setup, serverless Kubernetes on AWS, EKS Fargate, or Terraform Fargate EKS. Also applies when the user wants serverless compute for Kubernetes workloads on AWS.
Provision an AWS EKS cluster with Fargate compute profiles using Terraform. Pods run serverlessly without EC2 instances.
The complete setup is documented in README.md. The Terraform scripts in scripts/ create:
cd scripts/
cp terraform.tfvars.example terraform.tfvars
# Edit terraform.tfvars with your values
terraform init
terraform plan
terraform apply
aws eks update-kubeconfig --name <CLUSTER_NAME> --region <REGION>
kubectl get nodes
# Expected: Fargate nodes (fargate-ip-*) in Ready status
kubectl get pods -n kube-system
# Expected: CoreDNS pods running on Fargate
Cause: Fargate profile for kube-system not created or subnets not tagged correctly.
Fix: Verify Fargate profile exists and private subnets have the kubernetes.io/role/internal-elb: 1 tag.
Cause: No Fargate profile matches the default namespace.
Fix: Ensure a Fargate profile with namespace: default selector exists.