Amazon EKS — Prerequisites and Tools
Before you create an EKS cluster, you need a few tools installed and an AWS account configured. This page walks through everything.
Prerequisites Checklist
| Requirement | Purpose |
|---|---|
| AWS Account | Create and manage AWS resources |
| IAM User or Role | Authenticate with AWS CLI |
| AWS CLI v2 | Interact with AWS services from the terminal |
| eksctl | Create and manage EKS clusters |
| kubectl | Interact with Kubernetes clusters |
| Helm | Install Kubernetes packages (charts) |
| Terraform (optional) | Infrastructure as Code for EKS |
AWS Account Setup
- Create an AWS account at aws.amazon.com if you don’t have one
- Create an IAM user with programmatic access (or use IAM Identity Center / SSO)
- Attach policies — For learning, use
AdministratorAccess. For production, use least-privilege policies
Important: The IAM principal (user or role) that creates the EKS cluster becomes the cluster admin. Make sure you’re using the right identity.
Install AWS CLI v2
The AWS CLI lets you interact with all AWS services including EKS.
macOS
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /
Linux
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
Windows
Download and run the installer from: https://awscli.amazonaws.com/AWSCLIV2.msi
Configure AWS CLI
aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-east-1
Default output format [None]: json
Verify
aws --version
# aws-cli/2.x.x Python/3.x.x ...
aws sts get-caller-identity
# Shows your AWS account ID, ARN, and user ID
Install eksctl
eksctl is the official CLI tool for creating and managing EKS clusters. It’s maintained by Weaveworks and AWS.
macOS (Homebrew)
brew tap weaveworks/tap
brew install weaveworks/tap/eksctl
Linux
ARCH=amd64
PLATFORM=$(uname -s)_$ARCH
curl -sLO "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_$PLATFORM.tar.gz"
tar -xzf eksctl_$PLATFORM.tar.gz -C /tmp && rm eksctl_$PLATFORM.tar.gz
sudo mv /tmp/eksctl /usr/local/bin
Verify
eksctl version
# 0.x.x
Install kubectl
kubectl is the Kubernetes command-line tool for interacting with any K8s cluster.
macOS (Homebrew)
brew install kubectl
Linux
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
Verify
kubectl version --client
# Client Version: v1.x.x
Tip: Keep kubectl within one minor version of your cluster. If your cluster runs K8s 1.29, use kubectl 1.28, 1.29, or 1.30.
Install Helm
Helm is the package manager for Kubernetes. Many EKS ecosystem tools (AWS Load Balancer Controller, Prometheus, ArgoCD) are installed via Helm charts.
macOS (Homebrew)
brew install helm
Linux
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
Verify
helm version
# version.BuildInfo{Version:"v3.x.x", ...}
Install Terraform (Optional)
If you plan to manage EKS infrastructure as code with Terraform:
macOS (Homebrew)
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
Linux
sudo apt-get update && sudo apt-get install -y gnupg software-properties-common
wget -O- https://apt.releases.hashicorp.com/gpg | \
gpg --dearmor | \
sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] \
https://apt.releases.hashicorp.com $(lsb_release -cs) main" | \
sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform
Verify
terraform version
# Terraform v1.x.x
IDE Recommendations
| IDE | EKS Benefit |
|---|---|
| VS Code | Kubernetes extension, YAML schema validation, terminal integration |
| IntelliJ / GoLand | Great for Terraform HCL, Go (for custom controllers) |
| Lens | Kubernetes IDE — visual cluster management |
Recommended VS Code Extensions
- Kubernetes (by Microsoft)
- YAML (by Red Hat)
- HashiCorp Terraform
- AWS Toolkit
Verification Commands
Run these commands to verify everything is set up correctly:
# AWS CLI
aws --version
aws sts get-caller-identity
# eksctl
eksctl version
# kubectl
kubectl version --client
# Helm
helm version
# Terraform (optional)
terraform version
Expected Output Summary:
✅ AWS CLI v2.x.x installed
✅ AWS identity confirmed (account ID, ARN)
✅ eksctl v0.x.x installed
✅ kubectl v1.x.x installed
✅ Helm v3.x.x installed
✅ Terraform v1.x.x installed (optional)
What’s Next?
All tools are ready. Let’s test your Introduction knowledge with practice questions before moving on to creating your first EKS cluster.