安装或更新 kubectl - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

安装或更新 kubectl

Kubectl 是一个命令行工具,用于与 Kubernetes API 服务器进行通信。很多操作系统程序包管理器中都提供 kubectl 二进制文件。使用程序包管理器进行安装通常比手动下载并安装这一过程更简单。

本主题将帮助您下载并安装或更新设备上的 kubectl 二进制文件。该二进制文件与上游社区版本相同。该二进制文件不为 Amazon EKS 或 Amazon 所特有。

注意

您必须使用与您的 Amazon EKS 集群控制层面不同的一个次要版本内的 kubectl 版本。例如,1.28 kubectl 客户端使用 Kubernetes 1.271.281.29 集群。

要安装或更新 kubectl
  1. 确定您是否已将 kubectl 安装在设备上。

    kubectl version --client

    如果您已将 kubectl 安装在设备路径中,示例输出包括类似于如下的信息。如果要使用更高版本更新当前已安装的版本,请完成下一步,确保将新版本安装在当前版本所在的位置。

    Client Version: v1.29.X-eks-1234567

    如果您没有收到任何输出,则可能尚未安装 kubectl,或者未安装在设备路径中的位置。

  2. macOS、Linux 和 Windows 操作系统上安装或更新 kubectl

    macOS
    要在 macOS 上安装或更新 kubectl
    1. 从 Amazon S3 为集群的 Kubernetes 版本下载二进制文件。

      • Kubernetes 1.29

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.29.0/2024-01-04/bin/darwin/amd64/kubectl
      • Kubernetes 1.28

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.28.5/2024-01-04/bin/darwin/amd64/kubectl
      • Kubernetes 1.27

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.27.9/2024-01-04/bin/darwin/amd64/kubectl
      • Kubernetes 1.26

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.26.12/2024-01-04/bin/darwin/amd64/kubectl
      • Kubernetes 1.25

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.25.16/2024-01-04/bin/darwin/amd64/kubectl
      • Kubernetes 1.24

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.24.17/2024-01-04/bin/darwin/amd64/kubectl
      • Kubernetes 1.23

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.23.17/2024-01-04/bin/darwin/amd64/kubectl
    2. (可选)使用二进制文件的 SHA-256 校验和验证下载的二进制文件。

      1. 下载集群 Kubernetes 版本的 SHA-256 校验和。

        • Kubernetes 1.29

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.29.0/2024-01-04/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.28

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.28.5/2024-01-04/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.27

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.27.9/2024-01-04/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.26

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.26.12/2024-01-04/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.25

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.25.16/2024-01-04/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.24

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.24.17/2024-01-04/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.23

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.23.17/2024-01-04/bin/darwin/amd64/kubectl.sha256
      2. 检查下载的二进制文件的 SHA-256 校验和。

        openssl sha1 -sha256 kubectl
      3. 确保输出中生成的校验和与下载的 kubectl.sha256 文件中的校验和相匹配。

    3. 将执行权限应用于二进制文件。

      chmod +x ./kubectl
    4. 将二进制文件复制到您的 PATH 中的文件夹。如果您已经安装了某个版本的 kubectl,建议您创建一个 $HOME/bin/kubectl 并确保 $HOME/bin 先出现在您的 $PATH 中。

      mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH
    5. (可选) 将 $HOME/bin 路径添加到 shell 初始化文件,以便在打开 shell 时配置此路径。

      echo 'export PATH=$HOME/bin:$PATH' >> ~/.bash_profile
    Linux (amd64)
    要在 Linux(amd64)上安装或更新 kubectl
    1. 从 Amazon S3 为集群的 Kubernetes 版本下载 kubectl 二进制文件。

      • Kubernetes 1.29

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.29.0/2024-01-04/bin/linux/amd64/kubectl
      • Kubernetes 1.28

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.28.5/2024-01-04/bin/linux/amd64/kubectl
      • Kubernetes 1.27

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.27.9/2024-01-04/bin/linux/amd64/kubectl
      • Kubernetes 1.26

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.26.12/2024-01-04/bin/linux/amd64/kubectl
      • Kubernetes 1.25

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.25.16/2024-01-04/bin/linux/amd64/kubectl
      • Kubernetes 1.24

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.24.17/2024-01-04/bin/linux/amd64/kubectl
      • Kubernetes 1.23

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.23.17/2024-01-04/bin/linux/amd64/kubectl
    2. (可选)使用二进制文件的 SHA-256 校验和验证下载的二进制文件。

      1. 使用适用于您的设备硬件平台的命令从 Amazon S3 为集群的 Kubernetes 版本下载 SHA-256 校验和。每个版本的第一个链接对应的是 amd64,第二个链接对应的是 arm64

        • Kubernetes 1.29

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.29.0/2024-01-04/bin/linux/amd64/kubectl.sha256
        • Kubernetes 1.28

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.28.5/2024-01-04/bin/linux/amd64/kubectl.sha256
        • Kubernetes 1.27

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.27.9/2024-01-04/bin/linux/amd64/kubectl.sha256
        • Kubernetes 1.26

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.26.12/2024-01-04/bin/linux/amd64/kubectl.sha256
        • Kubernetes 1.25

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.25.16/2024-01-04/bin/linux/amd64/kubectl.sha256
        • Kubernetes 1.24

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.24.17/2024-01-04/bin/linux/amd64/kubectl.sha256
        • Kubernetes 1.23

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.23.17/2024-01-04/bin/linux/amd64/kubectl.sha256
      2. 使用下面的命令之一检查下载的二进制文件的 SHA-256 校验和。

        • sha256sum -c kubectl.sha256

          使用此命令时,请确保看到以下输出:

          kubectl: OK
        • openssl sha1 -sha256 kubectl

          使用此命令时,请确保输出中生成的校验和与下载的 kubectl.sha256 文件中的校验和相匹配。

    3. 将执行权限应用于二进制文件。

      chmod +x ./kubectl
    4. 将二进制文件复制到您的 PATH 中的文件夹。如果您已经安装了某个版本的 kubectl,建议您创建一个 $HOME/bin/kubectl 并确保 $HOME/bin 先出现在您的 $PATH 中。

      mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH
    5. (可选) 将 $HOME/bin 路径添加到 shell 初始化文件,以便在打开 shell 时配置此路径。

      注意

      这一步假设您使用 Bash Shell;如果使用其他 Shell,请将命令更改为使用您的特定 Shell 的初始化文件。

      echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
    Linux(arm64)
    要在 Linux(arm64)上安装或更新 kubectl
    1. 从 Amazon S3 为集群的 Kubernetes 版本下载 kubectl 二进制文件。

      • Kubernetes 1.29

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.29.0/2024-01-04/bin/linux/arm64/kubectl
      • Kubernetes 1.28

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.28.5/2024-01-04/bin/linux/arm64/kubectl
      • Kubernetes 1.27

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.27.9/2024-01-04/bin/linux/arm64/kubectl
      • Kubernetes 1.26

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.26.12/2024-01-04/bin/linux/arm64/kubectl
      • Kubernetes 1.25

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.25.16/2024-01-04/bin/linux/arm64/kubectl
      • Kubernetes 1.24

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.24.17/2024-01-04/bin/linux/arm64/kubectl
      • Kubernetes 1.23

        curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.23.17/2024-01-04/bin/linux/arm64/kubectl
    2. (可选)使用二进制文件的 SHA-256 校验和验证下载的二进制文件。

      1. 使用适用于您的设备硬件平台的命令从 Amazon S3 为集群的 Kubernetes 版本下载 SHA-256 校验和。每个版本的第一个链接对应的是 amd64,第二个链接对应的是 arm64

        • Kubernetes 1.29

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.29.0/2024-01-04/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.28

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.28.5/2024-01-04/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.27

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.27.9/2024-01-04/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.26

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.26.12/2024-01-04/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.25

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.25.16/2024-01-04/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.24

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.24.17/2024-01-04/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.23

          curl -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.23.17/2024-01-04/bin/linux/arm64/kubectl.sha256
      2. 使用下面的命令之一检查下载的二进制文件的 SHA-256 校验和。

        • sha256sum -c kubectl.sha256

          使用此命令时,请确保看到以下输出:

          kubectl: OK
        • openssl sha1 -sha256 kubectl

          使用此命令时,请确保输出中生成的校验和与下载的 kubectl.sha256 文件中的校验和相匹配。

    3. 将执行权限应用于二进制文件。

      chmod +x ./kubectl
    4. 将二进制文件复制到您的 PATH 中的文件夹。如果您已经安装了某个版本的 kubectl,建议您创建一个 $HOME/bin/kubectl 并确保 $HOME/bin 先出现在您的 $PATH 中。

      mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH
    5. (可选) 将 $HOME/bin 路径添加到 shell 初始化文件,以便在打开 shell 时配置此路径。

      注意

      这一步假设您使用 Bash Shell;如果使用其他 Shell,请将命令更改为使用您的特定 Shell 的初始化文件。

      echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
    Windows
    要在 Windows 上安装或更新 kubectl
    1. 打开 PowerShell 终端。

    2. 从 Amazon S3 为集群的 Kubernetes 版本下载 kubectl 二进制文件。

      • Kubernetes 1.29

        curl.exe -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.29.0/2024-01-04/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.28

        curl.exe -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.28.5/2024-01-04/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.27

        curl.exe -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.27.9/2024-01-04/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.26

        curl.exe -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.26.12/2024-01-04/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.25

        curl.exe -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.25.16/2024-01-04/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.24

        curl.exe -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.24.17/2024-01-04/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.23

        curl.exe -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.23.17/2024-01-04/bin/windows/amd64/kubectl.exe
    3. (可选)使用二进制文件的 SHA-256 校验和验证下载的二进制文件。

      1. 为 Windows 的集群的 Kubernetes 版本下载 SHA-256 校验和。

        • Kubernetes 1.29

          curl.exe -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.29.0/2024-01-04/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.28

          curl.exe -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.28.5/2024-01-04/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.27

          curl.exe -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.27.9/2024-01-04/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.26

          curl.exe -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.26.12/2024-01-04/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.25

          curl.exe -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.25.16/2024-01-04/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.24

          curl.exe -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.24.17/2024-01-04/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.23

          curl.exe -O https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.23.17/2024-01-04/bin/windows/amd64/kubectl.exe.sha256
      2. 检查下载的二进制文件的 SHA-256 校验和。

        Get-FileHash kubectl.exe
      3. 确保输出中生成的校验和与下载的 kubectl.sha256 文件中的校验和相匹配。PowerShell 的输出应为等效的大写字符串。

    4. 将二进制文件复制到您的 PATH 中的文件夹。如果 PATH 中有现有目录可用于命令行实用程序,请将二进制文件复制到该目录。否则,请完成以下步骤。

      1. 为命令行二进制文件创建一个新目录,例如 C:\bin

      2. kubectl.exe 二进制文件复制到新目录。

      3. 编辑用户或系统 PATH 环境变量,将新目录添加到 PATH 中。

      4. 关闭 PowerShell 终端并打开一个新的终端来选取新的 PATH 变量。

  3. 安装 kubectl 后,您可以验证其版本。

    kubectl version --client

首次安装 kubectl 时,它尚未配置为与任何服务器通信。我们将根据需要在其他过程中介绍此配置。如果您需要更新配置以与特定集群通信,可以运行以下命令。region-code 替换为集群所在的 Amazon Web Services 区域。my-cluster 替换为您的集群名称。

aws eks update-kubeconfig --region region-code --name my-cluster