Prerequisites & Tools
Install and configure the AWS CLI, kubectl, and eksctl before creating your first cluster.
Three command-line tools do almost all EKS work. Install them once and confirm their versions.
The toolbelt
- AWS CLI v2 — authenticates to AWS and manages EKS resources.
- kubectl — talks to the Kubernetes API. Match its minor version to your cluster (within one version).
- eksctl — a community CLI that creates whole clusters from one command or a YAML file.
AWS credentials
You need an IAM user or role with permission to create EKS clusters, EC2 instances, VPCs, and IAM roles. Configure them with aws configure or an SSO profile.
Example
# Verify each tool is installed
aws --version
kubectl version --client
eksctl version
# Confirm which AWS identity you are using
aws sts get-caller-identityWhen to use it
- A new team member sets up AWS CLI, eksctl, and kubectl on their laptop in 20 minutes before creating their first dev cluster.
- A CI/CD pipeline installs the exact pinned versions of eksctl and kubectl in a Docker container used to provision staging clusters.
- A platform team documents the prerequisite setup in a runbook so any engineer can bootstrap a new EKS environment from scratch.
More examples
Install eksctl on Linux
Downloads the latest eksctl binary, installs it to PATH, and confirms the version — the first prerequisite for EKS cluster management.
curl -sLO "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_Linux_amd64.tar.gz"
tar -xzf eksctl_Linux_amd64.tar.gz -C /tmp
sudo mv /tmp/eksctl /usr/local/bin
eksctl versionConfigure AWS CLI credentials
Sets up AWS credentials and verifies the active IAM identity before any EKS API calls are made.
aws configure
# AWS Access Key ID: AKIA...
# AWS Secret Access Key: ...
# Default region name: us-east-1
# Default output format: json
aws sts get-caller-identityInstall kubectl matching cluster version
Installs a kubectl version that matches the target EKS cluster version to avoid API skew issues.
K8S_VERSION=1.30
curl -LO "https://dl.k8s.io/release/v${K8S_VERSION}.0/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
kubectl version --client
Discussion