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

Example · bash
# Verify each tool is installed
aws --version
kubectl version --client
eksctl version

# Confirm which AWS identity you are using
aws sts get-caller-identity

When 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.

Example · bash
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 version

Configure AWS CLI credentials

Sets up AWS credentials and verifies the active IAM identity before any EKS API calls are made.

Example · bash
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-identity

Install kubectl matching cluster version

Installs a kubectl version that matches the target EKS cluster version to avoid API skew issues.

Example · bash
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

  • Be the first to comment on this lesson.