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

安装或更新 kubectl

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

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

注意

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

要安装或更新 kubectl

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

    kubectl version | grep Client | cut -d : -f 5

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

    "v1.22.6-eks-7d68063", GitCommit

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

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

    macOS

    要在 macOS 上安装或更新 kubectl

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

      • Kubernetes 1.23

        curl -o kubectl https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.23.7/2022-06-29/bin/darwin/amd64/kubectl
      • Kubernetes 1.22

        curl -o kubectl https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.22.6/2022-03-09/bin/darwin/amd64/kubectl
      • Kubernetes 1.21

        curl -o kubectl https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.21.2/2021-07-05/bin/darwin/amd64/kubectl
      • Kubernetes 1.20

        curl -o kubectl https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.20.4/2021-04-12/bin/darwin/amd64/kubectl
      • Kubernetes 1.19

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

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

        • Kubernetes 1.23

          curl -o kubectl.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.23.7/2022-06-29/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.22

          curl -o kubectl.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.22.6/2022-03-09/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.21

          curl -o kubectl.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.21.2/2021-07-05/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.20

          curl -o kubectl.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.20.4/2021-04-12/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.19

          curl -o kubectl.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.19.6/2021-01-05/bin/darwin/amd64/kubectl.sha256
      2. 检查下载的二进制文件的 SHA-256 总和。

        openssl sha1 -sha256 kubectl
      3. 将命令输出中生成的 SHA-256 总和与下载的 SHA-256 文件进行比较。这两者应该匹配。

    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=$PATH:$HOME/bin' >> ~/.bash_profile
    6. 安装 kubectl 后,可以使用以下命令验证其版本:

      kubectl version --short --client
    Linux

    要在 Linux 上安装或更新 kubectl

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

      • Kubernetes 1.23

        curl -o kubectl https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.23.7/2022-06-29/bin/linux/amd64/kubectl
        curl -o kubectl https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.23.7/2022-06-29/bin/linux/arm64/kubectl
      • Kubernetes 1.22

        curl -o kubectl https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.22.6/2022-03-09/bin/linux/amd64/kubectl
        curl -o kubectl https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.22.6/2022-03-09/bin/linux/arm64/kubectl
      • Kubernetes 1.21

        curl -o kubectl https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.21.2/2021-07-05/bin/linux/amd64/kubectl
        curl -o kubectl https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.21.2/2021-07-05/bin/linux/arm64/kubectl
      • Kubernetes 1.20

        curl -o kubectl https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.20.4/2021-04-12/bin/linux/amd64/kubectl
        curl -o kubectl https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.20.4/2021-04-12/bin/linux/arm64/kubectl
      • Kubernetes 1.19

        curl -o kubectl https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.19.6/2021-01-05/bin/linux/amd64/kubectl
        curl -o kubectl https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.19.6/2021-01-05/bin/linux/arm64/kubectl
    2. (可选)使用二进制文件的 SHA-256 总和验证下载的二进制文件。

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

        • Kubernetes 1.23

          curl -o kubectl.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.23.7/2022-06-29/bin/linux/amd64/kubectl.sha256
          curl -o kubectl.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.23.7/2022-06-29/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.22

          curl -o kubectl.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.22.6/2022-03-09/bin/linux/amd64/kubectl.sha256
          curl -o kubectl.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.22.6/2022-03-09/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.21

          curl -o kubectl.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.21.2/2021-07-05/bin/linux/amd64/kubectl.sha256
          curl -o kubectl.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.21.2/2021-07-05/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.20

          curl -o kubectl.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.20.4/2021-04-12/bin/linux/amd64/kubectl.sha256
          curl -o kubectl.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.20.4/2021-04-12/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.19

          curl -o kubectl.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.19.6/2021-01-05/bin/linux/amd64/kubectl.sha256
          curl -o kubectl.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.19.6/2021-01-05/bin/linux/arm64/kubectl.sha256
      2. 检查下载的二进制文件的 SHA-256 总和。

        openssl sha1 -sha256 kubectl
      3. 将命令输出中生成的 SHA-256 总和与下载的 SHA-256 文件进行比较。这两者应该匹配。

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

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

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

      注意

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

      echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc
    6. 安装 kubectl 后,可以使用以下命令验证其版本:

      kubectl version --short --client
    Windows

    要在 Windows 上安装或更新 kubectl

    1. 打开 PowerShell 终端。

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

      • Kubernetes 1.23

        curl -o kubectl.exe https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.23.7/2022-06-29/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.22

        curl -o kubectl.exe https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.22.6/2022-03-09/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.21

        curl -o kubectl.exe https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.21.2/2021-07-05/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.20

        curl -o kubectl.exe https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.20.4/2021-04-12/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.19

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

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

        • Kubernetes 1.23

          curl -o kubectl.exe.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.23.7/2022-06-29/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.22

          curl -o kubectl.exe.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.22.6/2022-03-09/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.21

          curl -o kubectl.exe.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.21.2/2021-07-05/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.20

          curl -o kubectl.exe.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.20.4/2021-04-12/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.19

          curl -o kubectl.exe.sha256 https://s3.cn-north-1.amazonaws.com.cn/amazon-eks/1.19.6/2021-01-05/bin/windows/amd64/kubectl.exe.sha256
      2. 检查下载的二进制文件的 SHA-256 总和。

        Get-FileHash kubectl.exe
      3. 将命令输出中生成的 SHA-256 总和与下载的 SHA-256 文件进行比较。二者应匹配,不过 PowerShell 输出是大写。

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

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

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

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

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

    5. 安装 kubectl 后,可以使用以下命令验证其版本:

      kubectl version --short --client