Skip to main content
Skip this guide if you already have an EKS cluster with sufficient CPU/memory and the ability to create LoadBalancer services. Proceed directly to Configure PrivateLink or Install the Helm Chart.
This guide provisions a production-ready EKS cluster from scratch — VPC with public/private subnets, IAM roles, node groups, and required add-ons.

Prerequisites

  • AWS CLI v2 configured with appropriate credentials
  • kubectl installed
  • Helm v3 installed
  • An AWS account with permissions to create EKS clusters, VPCs, and IAM roles

1. Create a VPC

Create a VPC with public and private subnets across two availability zones.
Create four subnets:

2. Create Internet Gateway and NAT Gateway

3. Route Tables

4. IAM Roles

5. Create EKS Cluster

Wait for the cluster to become active (~10 minutes):

6. Create Node Group

xpander container images are amd64 only. Do not use ARM/Graviton instances (t4g, m7g, c7g, etc.).
Minimum requirements:
  • Recommended minimum: 2 × t3x.large nodes, or equivalent capacity
  • xpander workload requests: ~7 vCPU / ~10 GiB memory
  • xpander configured limits: ~14 vCPU / ~13 GiB memory
  • Agent Worker runs 2 replicas by default; each requests 2 vCPU / 2.25 GiB
  • Plan additional headroom for Kubernetes system pods, DaemonSets, upgrades, and burst capacity
  • Production deployments with significant agent runtime concurrency would require more capacity.
Wait for the node group:

7. Configure kubectl


EKS Add-Ons

Install the required EKS add-ons for networking, DNS, storage, and pod identity.

EBS CSI IAM Setup (Pod Identity)

The EBS CSI driver needs IAM permissions to provision volumes.

Create Default StorageClass


Next Steps

Your EKS cluster is ready. Continue with:
  1. Configure PrivateLink — If your security policy requires traffic to stay within the AWS network
  2. Install the Helm Chart — SSL certificate, ingress, Helm chart installation, DNS, and verification