Skip to content

Cluster (Auto Mode)

Skip this page if you already have a suitable cluster. Jump to Argo CD capability or CodeCommit publish.

Reuse the exports from Prerequisites and Bootstrap AWS. Work under demo/ (config/ below is demo/config/):

Terminal window
export AWS_PROFILE=sandbox
export AWS_PAGER=""
export CLUSTER_NAME=cluster-1
export AWS_REGION=ap-southeast-2
export 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"
Terminal window
mkdir -p config
cat > config/cluster.yaml <<EOF
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: ${CLUSTER_NAME}
region: ${AWS_REGION}
version: "${K8S_VERSION}"
autoModeConfig:
enabled: true
EOF
cat config/cluster.yaml

Auto 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.

Terminal window
eksctl create cluster -f config/cluster.yaml

Expect 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.

Terminal window
aws eks update-kubeconfig --name "$CLUSTER_NAME" --region "$AWS_REGION"
kubectl get nodes

An 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.

Terminal window
aws eks describe-cluster --name "$CLUSTER_NAME" --region "$AWS_REGION" \
--query 'cluster.{version:version,status:status,compute:computeConfig}'
kubectl config current-context

Expect 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.