Skip to content


eksctl is available to install from official releases as described below. We recommend that you install eksctl from only the official GitHub releases. You may opt to use a third-party installer, but please be advised that AWS does not maintain nor support these methods of installation. Use them at your own discretion.


You will need to have AWS API credentials configured. What works for AWS CLI or any other tools (kops, Terraform, etc.) should be sufficient. You can use ~/.aws/credentials file or environment variables. For more information read AWS documentation.

You will also need AWS IAM Authenticator for Kubernetes command (either aws-iam-authenticator or aws eks get-token (available in version 1.16.156 or greater of AWS CLI) in your PATH.

The IAM account used for EKS cluster creation should have these minimal access levels.

AWS Service Access Level
CloudFormation Full Access
EC2 Full: Tagging Limited: List, Read, Write
EC2 Auto Scaling Limited: List, Write
EKS Full Access
IAM Limited: List, Read, Write, Permissions Management
Systems Manager Limited: List, Read

For Unix

To download the latest release, run:

# for ARM systems, set ARCH to: `arm64`, `armv6` or `armv7`
PLATFORM=$(uname -s)_$ARCH

curl -sLO "$PLATFORM.tar.gz"

# (Optional) Verify checksum
curl -sL "" | grep $PLATFORM | sha256sum --check

tar -xzf eksctl_$PLATFORM.tar.gz -C /tmp && rm eksctl_$PLATFORM.tar.gz

sudo mv /tmp/eksctl /usr/local/bin

For Windows

Direct download (latest release): AMD64/x86_64 - ARMv6 - ARMv7 - ARM64

Make sure to unzip the archive to a folder in the PATH variable.

Optionally, verify the checksum:

  1. Download the checksum file: latest
  2. Use Command Prompt to manually compare CertUtil's output to the checksum file downloaded.
    REM Replace amd64 with armv6, armv7 or arm64
    CertUtil -hashfile SHA256
  3. Using PowerShell to automate the verification using the -eq operator to get a True or False result:
    # Replace amd64 with armv6, armv7 or arm64
     (Get-FileHash -Algorithm SHA256 .\ -eq ((Get-Content .\eksctl_checksums.txt) -match '' -split ' ')[0]
    #### Using Git Bash: 
    # for ARM systems, set ARCH to: `arm64`, `armv6` or `armv7`
    curl -sLO "$"
    # (Optional) Verify checksum
    curl -sL "" | grep $PLATFORM | sha256sum --check
    unzip eksctl_$ -d $HOME/bin
    rm eksctl_$

The eksctl executable is placed in $HOME/bin, which is in $PATH from Git Bash.


For every release and RC a container image is pushed to ECR repository Learn more about the usage on ECR Public Gallery - eksctl. For example,

docker run --rm -it version

For MacOS


brew tap weaveworks/tap
brew install weaveworks/tap/eksctl


port install eksctl

For Windows


choco install eksctl


scoop install eksctl

Shell Completion


To enable bash completion, run the following, or put it in ~/.bashrc or ~/.profile:

. <(eksctl completion bash)


For zsh completion, please run:

mkdir -p ~/.zsh/completion/
eksctl completion zsh > ~/.zsh/completion/_eksctl

and put the following in ~/.zshrc:

fpath=($fpath ~/.zsh/completion)

Note if you're not running a distribution like oh-my-zsh you may first have to enable autocompletion (and put in ~/.zshrc to make it persistent):

autoload -U compinit


The below commands can be used for fish auto completion:

mkdir -p ~/.config/fish/completions
eksctl completion fish > ~/.config/fish/completions/


The below command can be referred for setting it up. Please note that the path might be different depending on your system settings.

eksctl completion powershell > C:\Users\Documents\WindowsPowerShell\Scripts\eksctl.ps1


The features that are currently implemented are:

  • Create, get, list and delete clusters
  • Create, drain and delete nodegroups
  • Scale a nodegroup
  • Update a cluster
  • Use custom AMIs
  • Configure VPC Networking
  • Configure access to API endpoints
  • Support for GPU nodegroups
  • Spot instances and mixed instances
  • IAM Management and Add-on Policies
  • List cluster Cloudformation stacks
  • Install coredns
  • Write kubeconfig file for a cluster