Creating a Cluster
Create a full EKS cluster — VPC, control plane, and nodes — with one eksctl command.
The simplest path is a single eksctl create cluster command. It provisions a VPC across multiple AZs, the managed control plane, and a managed node group, then writes your kubeconfig automatically.
A cluster takes roughly 15–20 minutes to become active because the control plane and node group are provisioned in sequence.
Example
# Create a complete cluster with sensible defaults
eksctl create cluster \
--name demo \
--region us-east-1 \
--version 1.30 \
--nodegroup-name ng-default \
--node-type t3.medium \
--nodes 2 --nodes-min 1 --nodes-max 4 \
--managed
# When it finishes, nodes should be Ready
kubectl get nodesWhen to use it
- A platform team creates a production EKS cluster with a custom VPC CIDR and private subnets to meet network isolation requirements.
- A developer creates a minimal single-node cluster for local integration testing of Kubernetes manifests before deploying to prod.
- A CI/CD system runs eksctl create cluster at the start of an end-to-end test suite and deletes it on completion to keep costs low.
More examples
Quick cluster creation
Creates an EKS cluster with three nodes using eksctl defaults for VPC and subnets, then verifies it is ACTIVE.
eksctl create cluster \
--name my-cluster \
--region us-west-2 \
--version 1.30 \
--nodes 3
eksctl get cluster --name my-clusterCluster with existing VPC
Creates the cluster inside an existing VPC and private subnets, required when networking is managed centrally by a network team.
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: prod
region: us-east-1
vpc:
id: vpc-0abc123456789def0
subnets:
private:
us-east-1a: {id: subnet-0aaa}
us-east-1b: {id: subnet-0bbb}
managedNodeGroups:
- name: workers
instanceType: m5.large
minSize: 2
maxSize: 6Watch cluster creation progress
Runs eksctl with verbose output redirected to a log file so the team can monitor CloudFormation stack progress.
eksctl create cluster \
--name staging \
--region us-east-1 \
--nodes 2 \
--verbose 4 2>&1 | tee /tmp/cluster-create.log
# Then tail the log
tail -f /tmp/cluster-create.log
Discussion