Cluster (Auto Mode)
Skip this page if you already have a suitable cluster. Jump to Argo CD capability or CodeCommit publish.
Set variables
Section titled “Set variables”Reuse the exports from Prerequisites and Bootstrap AWS. Work under demo/ (config/ below is demo/config/):
export AWS_PROFILE=sandboxexport AWS_PAGER=""export CLUSTER_NAME=cluster-1export AWS_REGION=ap-southeast-2export AWS_DEFAULT_REGION="$AWS_REGION"export IDC_REGION="$AWS_REGION"export K8S_VERSION=1.36# From repository root if LAB_DIR is unset:export LAB_DIR="${LAB_DIR:-$(pwd)/demo}"cd "$LAB_DIR"Create the cluster config
Section titled “Create the cluster config”mkdir -p config
cat > config/cluster.yaml <<EOFapiVersion: eksctl.io/v1alpha5kind: ClusterConfig
metadata: name: ${CLUSTER_NAME} region: ${AWS_REGION} version: "${K8S_VERSION}"
autoModeConfig: enabled: trueEOF
cat config/cluster.yamlAuto Mode enables default system and general-purpose node pools. You do not manage managed node groups for this lab. Nodes appear when workloads need capacity — including kpack
Kubernetes-native build service that runs CNB builds on-cluster and pushes images to a registry. builds and Pulse
Sample app in this lab — HTTP service monitor with dashboard, API, and Kubernetes health probes. — not necessarily right after create.
Create the cluster
Section titled “Create the cluster”eksctl create cluster -f config/cluster.yamlExpect roughly 10–20 minutes for a new VPC and control plane. eksctl
CLI for creating and managing EKS clusters — used here for the eval cluster and IRSA. also installs the metrics-server addon and writes a kubeconfig entry when the cluster is ready.
Configure kubectl
Section titled “Configure kubectl”aws eks update-kubeconfig --name "$CLUSTER_NAME" --region "$AWS_REGION"kubectl get nodesAn empty node list (No resources found) is normal for a fresh Auto Mode EKS
Amazon Elastic Kubernetes Service — this lab uses cluster name `cluster-1`. cluster. Nodes scale in when kpack builds or Pulse pods are scheduled.
Verify Auto Mode
Section titled “Verify Auto Mode”aws eks describe-cluster --name "$CLUSTER_NAME" --region "$AWS_REGION" \ --query 'cluster.{version:version,status:status,compute:computeConfig}'kubectl config current-contextExpect status ACTIVE, version 1.36, and compute.enabled true with node pools such as general-purpose and system.
Argo CD capability — enable managed Argo CD
Argo CD — GitOps controller that syncs cluster state from Git repositories. on this cluster.