Amazon EKS — Prerequisites and Tools

3 minute read

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

  1. Create an AWS account at aws.amazon.com if you don’t have one
  2. Create an IAM user with programmatic access (or use IAM Identity Center / SSO)
  3. 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
  • 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.

Next: Practice Questions →

Updated: