Skip to main content

Using eksctl

This section outlines how to build a cluster for the lab exercises using the eksctl tool. This is the easiest way to get started, and is recommended for most learners.

The eksctl utility has been pre-installed in your IDE environment, so we can immediately create the cluster. This is the configuration that will be used to build the cluster:

cluster.yaml
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
availabilityZones:
- ${AWS_REGION}a
- ${AWS_REGION}b
- ${AWS_REGION}c
metadata:
name: ${EKS_CLUSTER_NAME}
region: ${AWS_REGION}
version: "1.33"
tags:
karpenter.sh/discovery: ${EKS_CLUSTER_NAME}
created-by: eks-workshop-v2
env: ${EKS_CLUSTER_NAME}
iam:
withOIDC: true
vpc:
cidr: 10.42.0.0/16
clusterEndpoints:
privateAccess: true
publicAccess: true
managedNodeGroups:
- name: default
desiredCapacity: 3
minSize: 3
maxSize: 6
instanceType: m5.large
privateNetworking: true
releaseVersion: "1.33.0-20250704"
updateConfig:
maxUnavailablePercentage: 50
labels:
workshop-default: "yes"
addons:
- name: vpc-cni
version: 1.19.2
configurationValues: '{"env":{"ENABLE_PREFIX_DELEGATION":"true", "ENABLE_POD_ENI":"true", "POD_SECURITY_GROUP_ENFORCING_MODE":"standard"},"enableNetworkPolicy": "true", "nodeAgent": {"enablePolicyEventLogs": "true"}}'
resolveConflicts: overwrite
remoteNetworkConfig:
remoteNodeNetworks:
- cidrs: ["10.52.0.0/16"]
remotePodNetworks:
- cidrs: ["10.53.0.0/16"]
A

Create a VPC across three availability zones

B

Create an EKS cluster, which default is named eks-workshop

C

Create an IAM OIDC provider

D

Add a managed node group named default

E

Configure the VPC CNI to use prefix delegation

Apply the configuration file like so:

~$export EKS_CLUSTER_NAME=eks-workshop
~$curl -fsSL https://raw.githubusercontent.com/aws-samples/eks-workshop-v2/stable/cluster/eksctl/cluster.yaml | \
envsubst | eksctl create cluster -f -

This process will take approximately 20 minutes to complete.

Next Steps

Now that the cluster is ready, head to the Navigating the labs section or skip ahead to any module in the workshop using the top navigation bar. Once you've completed the workshop, follow the steps below to clean up your environment.

Cleaning Up (steps once you are done with the Workshop)

tip

The following demonstrates how to clean up resources once you are done using the EKS cluster. Completing these steps will prevent further charges to your AWS account.

Before deleting the IDE environment, clean up the cluster that we set up in previous steps.

First, use delete-environment to ensure that the sample application and any left-over lab infrastructure is removed:

~$delete-environment

Next, delete the cluster with eksctl:

~$eksctl delete cluster $EKS_CLUSTER_NAME --wait

You can now proceed to cleaning up the IDE.