Installing or updating kubectl
Kubectl is a command line tool that you use to
communicate with the Kubernetes API server. The kubectl binary is available in many operating
system package managers. Using a package manager for your installation is often easier than
a manual download and install process.
This topic helps you to download and install, or update, the kubectl binary on your
device. The binary is identical to the upstream community
versions
Note
You must use a kubectl version that is within one minor version difference of your
Amazon EKS cluster control plane. For example, a 1.28 kubectl client
works with Kubernetes 1.27, 1.28, and
1.29 clusters.
To install or update kubectl
-
Determine whether you already have
kubectlinstalled on your device.kubectl version --clientIf you have
kubectlinstalled in the path of your device, the example output includes information similar to the following. If you want to update the version that you currently have installed with a later version, complete the next step, making sure to install the new version in the same location that your current version is in.Client Version: v
1.29.X-eks-1234567If you receive no output, then you either don't have
kubectlinstalled, or it's not installed in a location that's in your device's path. -
Install or update
kubectlonmacOS, Linux, and Windows operating systems.- macOS
-
To install or update
kubectlonmacOS-
Download the binary for your cluster's Kubernetes version from Amazon S3.
Kubernetes
1.29curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.0/2024-01-04/bin/darwin/amd64/kubectlKubernetes
1.28curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.28.5/2024-01-04/bin/darwin/amd64/kubectl-
Kubernetes
1.27curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.27.9/2024-01-04/bin/darwin/amd64/kubectl -
Kubernetes
1.26curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.26.12/2024-01-04/bin/darwin/amd64/kubectl -
Kubernetes
1.25curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.25.16/2024-01-04/bin/darwin/amd64/kubectl -
Kubernetes
1.24curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.17/2024-01-04/bin/darwin/amd64/kubectl -
Kubernetes
1.23curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.17/2024-01-04/bin/darwin/amd64/kubectl
-
(Optional) Verify the downloaded binary with the
SHA-256checksum for your binary.-
Download the
SHA-256checksum for your cluster's Kubernetes version.Kubernetes
1.29curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.0/2024-01-04/bin/darwin/amd64/kubectl.sha256Kubernetes
1.28curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.28.5/2024-01-04/bin/darwin/amd64/kubectl.sha256-
Kubernetes
1.27curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.27.9/2024-01-04/bin/darwin/amd64/kubectl.sha256 -
Kubernetes
1.26curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.26.12/2024-01-04/bin/darwin/amd64/kubectl.sha256 -
Kubernetes
1.25curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.25.16/2024-01-04/bin/darwin/amd64/kubectl.sha256 -
Kubernetes
1.24curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.17/2024-01-04/bin/darwin/amd64/kubectl.sha256 -
Kubernetes
1.23curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.17/2024-01-04/bin/darwin/amd64/kubectl.sha256
-
Check the
SHA-256checksum for your downloaded binary.openssl sha1 -sha256 kubectl -
Make sure that the generated checksum in the output matches in the checksum in the downloaded
kubectl.sha256file.
-
-
Apply execute permissions to the binary.
chmod +x ./kubectl -
Copy the binary to a folder in your
PATH. If you have already installed a version ofkubectl, then we recommend creating a$HOME/bin/kubectland ensuring that$HOME/bincomes first in your$PATH.mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH -
(Optional) Add the
$HOME/binpath to your shell initialization file so that it is configured when you open a shell.echo 'export PATH=$HOME/bin:$PATH' >> ~/.bash_profile
-
- Linux (amd64)
-
To install or update
kubectlon Linux (amd64)-
Download the
kubectlbinary for your cluster's Kubernetes version from Amazon S3.-
Kubernetes
1.29curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.0/2024-01-04/bin/linux/amd64/kubectl -
Kubernetes
1.28curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.28.5/2024-01-04/bin/linux/amd64/kubectl -
Kubernetes
1.27curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.27.9/2024-01-04/bin/linux/amd64/kubectl -
Kubernetes
1.26curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.26.12/2024-01-04/bin/linux/amd64/kubectl -
Kubernetes
1.25curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.25.16/2024-01-04/bin/linux/amd64/kubectl -
Kubernetes
1.24curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.17/2024-01-04/bin/linux/amd64/kubectl -
Kubernetes
1.23curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.17/2024-01-04/bin/linux/amd64/kubectl
-
-
(Optional) Verify the downloaded binary with the
SHA-256checksum for your binary.-
Download the
SHA-256checksum for your cluster's Kubernetes version from Amazon S3 using the command for your device's hardware platform. The first link for each version is foramd64and the second link is forarm64.-
Kubernetes
1.29curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.0/2024-01-04/bin/linux/amd64/kubectl.sha256 -
Kubernetes
1.28curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.28.5/2024-01-04/bin/linux/amd64/kubectl.sha256 -
Kubernetes
1.27curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.27.9/2024-01-04/bin/linux/amd64/kubectl.sha256 -
Kubernetes
1.26curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.26.12/2024-01-04/bin/linux/amd64/kubectl.sha256 -
Kubernetes
1.25curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.25.16/2024-01-04/bin/linux/amd64/kubectl.sha256 -
Kubernetes
1.24curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.17/2024-01-04/bin/linux/amd64/kubectl.sha256 -
Kubernetes
1.23curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.17/2024-01-04/bin/linux/amd64/kubectl.sha256
-
-
Check the
SHA-256checksum for your downloaded binary with one of the following commands.-
sha256sum -c kubectl.sha256When using this command, make sure that you see the following output:
kubectl: OK
-
openssl sha1 -sha256 kubectlWhen using this command, make sure that the generated checksum in the output matches in the checksum in the downloaded
kubectl.sha256file.
-
-
-
Apply execute permissions to the binary.
chmod +x ./kubectl -
Copy the binary to a folder in your
PATH. If you have already installed a version ofkubectl, then we recommend creating a$HOME/bin/kubectland ensuring that$HOME/bincomes first in your$PATH.mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH -
(Optional) Add the
$HOME/binpath to your shell initialization file so that it is configured when you open a shell.Note
This step assumes you are using the Bash shell; if you are using another shell, change the command to use your specific shell initialization file.
echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
-
- Linux (arm64)
-
To install or update
kubectlon Linux (arm64)-
Download the
kubectlbinary for your cluster's Kubernetes version from Amazon S3.-
Kubernetes
1.29curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.0/2024-01-04/bin/linux/arm64/kubectl -
Kubernetes
1.28curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.28.5/2024-01-04/bin/linux/arm64/kubectl -
Kubernetes
1.27curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.27.9/2024-01-04/bin/linux/arm64/kubectl -
Kubernetes
1.26curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.26.12/2024-01-04/bin/linux/arm64/kubectl -
Kubernetes
1.25curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.25.16/2024-01-04/bin/linux/arm64/kubectl -
Kubernetes
1.24curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.17/2024-01-04/bin/linux/arm64/kubectl -
Kubernetes
1.23curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.17/2024-01-04/bin/linux/arm64/kubectl
-
-
(Optional) Verify the downloaded binary with the
SHA-256checksum for your binary.-
Download the
SHA-256checksum for your cluster's Kubernetes version from Amazon S3 using the command for your device's hardware platform. The first link for each version is foramd64and the second link is forarm64.-
Kubernetes
1.29curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.0/2024-01-04/bin/linux/arm64/kubectl.sha256 -
Kubernetes
1.28curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.28.5/2024-01-04/bin/linux/arm64/kubectl.sha256 -
Kubernetes
1.27curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.27.9/2024-01-04/bin/linux/arm64/kubectl.sha256 -
Kubernetes
1.26curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.26.12/2024-01-04/bin/linux/arm64/kubectl.sha256 -
Kubernetes
1.25curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.25.16/2024-01-04/bin/linux/arm64/kubectl.sha256 -
Kubernetes
1.24curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.17/2024-01-04/bin/linux/arm64/kubectl.sha256 -
Kubernetes
1.23curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.17/2024-01-04/bin/linux/arm64/kubectl.sha256
-
-
Check the
SHA-256checksum for your downloaded binary with one of the following commands.-
sha256sum -c kubectl.sha256When using this command, make sure that you see the following output:
kubectl: OK
-
openssl sha1 -sha256 kubectlWhen using this command, make sure that the generated checksum in the output matches in the checksum in the downloaded
kubectl.sha256file.
-
-
-
Apply execute permissions to the binary.
chmod +x ./kubectl -
Copy the binary to a folder in your
PATH. If you have already installed a version ofkubectl, then we recommend creating a$HOME/bin/kubectland ensuring that$HOME/bincomes first in your$PATH.mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH -
(Optional) Add the
$HOME/binpath to your shell initialization file so that it is configured when you open a shell.Note
This step assumes you are using the Bash shell; if you are using another shell, change the command to use your specific shell initialization file.
echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
-
- Windows
-
To install or update
kubectlon Windows-
Open a PowerShell terminal.
-
Download the
kubectlbinary for your cluster's Kubernetes version from Amazon S3.Kubernetes
1.29curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.0/2024-01-04/bin/windows/amd64/kubectl.exeKubernetes
1.28curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.28.5/2024-01-04/bin/windows/amd64/kubectl.exe-
Kubernetes
1.27curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.27.9/2024-01-04/bin/windows/amd64/kubectl.exe -
Kubernetes
1.26curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.26.12/2024-01-04/bin/windows/amd64/kubectl.exe -
Kubernetes
1.25curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.25.16/2024-01-04/bin/windows/amd64/kubectl.exe -
Kubernetes
1.24curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.17/2024-01-04/bin/windows/amd64/kubectl.exe -
Kubernetes
1.23curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.17/2024-01-04/bin/windows/amd64/kubectl.exe
-
(Optional) Verify the downloaded binary with the
SHA-256checksum for your binary.-
Download the
SHA-256checksum for your cluster's Kubernetes version for Windows.Kubernetes
1.29curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.0/2024-01-04/bin/windows/amd64/kubectl.exe.sha256Kubernetes
1.28curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.28.5/2024-01-04/bin/windows/amd64/kubectl.exe.sha256-
Kubernetes
1.27curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.27.9/2024-01-04/bin/windows/amd64/kubectl.exe.sha256 -
Kubernetes
1.26curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.26.12/2024-01-04/bin/windows/amd64/kubectl.exe.sha256 -
Kubernetes
1.25curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.25.16/2024-01-04/bin/windows/amd64/kubectl.exe.sha256 -
Kubernetes
1.24curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.17/2024-01-04/bin/windows/amd64/kubectl.exe.sha256 -
Kubernetes
1.23curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.17/2024-01-04/bin/windows/amd64/kubectl.exe.sha256
-
Check the
SHA-256checksum for your downloaded binary.Get-FileHash kubectl.exe -
Make sure that the generated checksum in the output matches in the checksum in the downloaded
kubectl.sha256file. The PowerShell output should be an uppercase equivalent string of characters.
-
-
Copy the binary to a folder in your
PATH. If you have an existing directory in yourPATHthat you use for command line utilities, copy the binary to that directory. Otherwise, complete the following steps.-
Create a new directory for your command line binaries, such as
C:\bin. -
Copy the
kubectl.exebinary to your new directory. -
Edit your user or system
PATHenvironment variable to add the new directory to yourPATH. -
Close your PowerShell terminal and open a new one to pick up the new
PATHvariable.
-
-
-
After you install
kubectl, you can verify its version.kubectl version --client
When first installing kubectl, it isn't yet configured to communicate with any server.
We will cover this configuration as needed in other procedures. If you ever need to update
the configuration to communicate with a particular cluster, you can run the following
command. Replace
with the AWS Region that
your cluster is in. Replace region-code
with the name of your cluster.my-cluster
aws eks update-kubeconfig --regionregion-code--namemy-cluster