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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

安装kubectl

Kubernetes 使用名为 kubectl 的命令行实用程序与集群 API 服务器通信。很多操作系统程序包管理器中都提供 kubectl 二进制文件,此选项通常比手动下载和安装过程要容易很多。您可以按照 Kubernetes 文档中针对您的特定操作系统或程序包管理器的说明进行安装。

本主题可帮助您下载并安装适用于 Amazon EKSkubectlLinuxmacOS 和 Windows 操作系统的 提供的 二进制文件。这些二进制文件与上游社区版本相同,且不为 Amazon EKS 或 AWS 所特有。

注意

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

除 中国 (宁夏) 和 中国(北京) 之外的所有区域

要在 kubectl 区域中安装 中国,请参阅中国区域

[在 kubectl 上安装 macOS ]

  1. 从 Amazon EKS 下载集群的 Kubernetes 版本的 提供的 kubectl Amazon S3 二进制文件:

    • Kubernetes 1.18:

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/darwin/amd64/kubectl
    • Kubernetes 1.17:

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.12/2020-11-02/bin/darwin/amd64/kubectl
    • Kubernetes 1.16:

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.16.15/2020-11-02/bin/darwin/amd64/kubectl
    • Kubernetes 1.15:

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.15.12/2020-11-02/bin/darwin/amd64/kubectl
  2. (可选)使用二进制文件的 SHA-256 总和验证下载的二进制文件。

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

      • Kubernetes 1.18:

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/darwin/amd64/kubectl.sha256
      • Kubernetes 1.17:

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.12/2020-11-02/bin/darwin/amd64/kubectl.sha256
      • Kubernetes 1.16:

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.16.15/2020-11-02/bin/darwin/amd64/kubectl.sha256
      • Kubernetes 1.15:

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.15.12/2020-11-02/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=$PATH:$HOME/bin
  5. (可选) 将 $HOME/bin 路径添加到 shell 初始化文件,以便在打开 shell 时配置此路径。

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

    kubectl version --short --client

[在 Linux 上安装 kubectl]

  1. 从 Amazon EKS 下载集群的 Kubernetes 版本的 提供的 kubectl Amazon S3 二进制文件。要下载 Arm 版本,请先将 amd64 更改为 arm64,然后再运行命令。

    • Kubernetes 1.18:

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/linux/amd64/kubectl
    • Kubernetes 1.17:

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.12/2020-11-02/bin/linux/amd64/kubectl
    • Kubernetes 1.16:

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.16.15/2020-11-02/bin/linux/amd64/kubectl
    • Kubernetes 1.15:

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.15.12/2020-11-02/bin/linux/amd64/kubectl
  2. (可选)使用二进制文件的 SHA-256 总和验证下载的二进制文件。

    1. 为 Linux 的集群的 Kubernetes 版本下载 SHA-256 总和。要下载 Arm 版本,请先将 <amd64> 更改为 arm64,然后再运行命令。

      • Kubernetes 1.18:

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/linux/amd64/kubectl.sha256
      • Kubernetes 1.17:

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.12/2020-11-02/bin/linux/amd64/kubectl.sha256
      • Kubernetes 1.16:

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.16.15/2020-11-02/bin/linux/amd64/kubectl.sha256
      • Kubernetes 1.15:

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.15.12/2020-11-02/bin/linux/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=$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 上安装 kubectl]

  1. 打开 PowerShell 终端。

  2. 从 Amazon EKS 下载集群的 Kubernetes 版本的 提供的 kubectl Amazon S3 二进制文件:

    • Kubernetes 1.18:

      curl -o kubectl.exe https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/windows/amd64/kubectl.exe
    • Kubernetes 1.17:

      curl -o kubectl.exe https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.12/2020-11-02/bin/windows/amd64/kubectl.exe
    • Kubernetes 1.16:

      curl -o kubectl.exe https://amazon-eks.s3.us-west-2.amazonaws.com/1.16.15/2020-11-02/bin/windows/amd64/kubectl.exe
    • Kubernetes 1.15:

      curl -o kubectl.exe https://amazon-eks.s3.us-west-2.amazonaws.com/1.15.12/2020-11-02/bin/windows/amd64/kubectl.exe
  3. (可选)使用二进制文件的 SHA-256 总和验证下载的二进制文件。

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

      • Kubernetes 1.18:

        curl -o kubectl.exe.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/windows/amd64/kubectl.exe.sha256
      • Kubernetes 1.17:

        curl -o kubectl.exe.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.17.12/2020-11-02/bin/windows/amd64/kubectl.exe.sha256
      • Kubernetes 1.16:

        curl -o kubectl.exe.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.16.15/2020-11-02/bin/windows/amd64/kubectl.exe.sha256
      • Kubernetes 1.15:

        curl -o kubectl.exe.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.15.12/2020-11-02/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

中国区域

如果您在中国(北京)或中国 (宁夏)区域,请完成以下说明。要安装 kubectl(如果您是任何其他区域),请参阅除 中国 (宁夏) 和 中国(北京) 之外的所有区域

[在 kubectl 上安装 macOS ]

  1. 从 Amazon EKS 下载集群的 Kubernetes 版本的 提供的 kubectl Amazon S3 二进制文件:

    • Kubernetes 1.18:

      curl -o kubectl https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.18.9/2020-11-02/bin/darwin/amd64/kubectl
    • Kubernetes 1.17:

      curl -o kubectl https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.17.12/2020-11-02/bin/darwin/amd64/kubectl
    • Kubernetes 1.16:

      curl -o kubectl https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.16.15/2020-11-02/bin/darwin/amd64/kubectl
    • Kubernetes 1.15:

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

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

      • Kubernetes 1.18:

        curl -o kubectl.sha256 https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.18.9/2020-11-02/bin/darwin/amd64/kubectl.sha256
      • Kubernetes 1.17:

        curl -o kubectl.sha256 https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.17.12/2020-11-02/bin/darwin/amd64/kubectl.sha256
      • Kubernetes 1.16:

        curl -o kubectl.sha256 https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.16.15/2020-11-02/bin/darwin/amd64/kubectl.sha256
      • Kubernetes 1.15:

        curl -o kubectl.sha256 https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.15.12/2020-11-02/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=$PATH:$HOME/bin
  5. (可选) 将 $HOME/bin 路径添加到 shell 初始化文件,以便在打开 shell 时配置此路径。

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

    kubectl version --short --client

[在 Linux 上安装 kubectl]

  1. 从 Amazon EKS 下载集群的 Kubernetes 版本的 提供的 kubectl Amazon S3 二进制文件。要下载 Arm 版本,请先将 amd64 更改为 arm64,然后再运行命令。

    • Kubernetes 1.18:

      curl -o kubectl https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.18.9/2020-11-02/bin/linux/amd64/kubectl
    • Kubernetes 1.17:

      curl -o kubectl https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.17.12/2020-11-02/bin/linux/amd64/kubectl
    • Kubernetes 1.16:

      curl -o kubectl https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.16.15/2020-11-02/bin/linux/amd64/kubectl
    • Kubernetes 1.15:

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

    1. 为 Linux 的集群的 Kubernetes 版本下载 SHA-256 总和。要下载 Arm 版本,请先将 <amd64> 更改为 arm64,然后再运行命令。

      • Kubernetes 1.18:

        curl -o kubectl.sha256 https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.18.9/2020-11-02/bin/linux/amd64/kubectl.sha256
      • Kubernetes 1.17:

        curl -o kubectl.sha256 https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.17.12/2020-11-02/bin/linux/amd64/kubectl.sha256
      • Kubernetes 1.16:

        curl -o kubectl.sha256 https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.16.15/2020-11-02/bin/linux/amd64/kubectl.sha256
      • Kubernetes 1.15:

        curl -o kubectl.sha256 https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.15.12/2020-11-02/bin/linux/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=$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 上安装 kubectl]

  1. 打开 PowerShell 终端。

  2. 从 Amazon EKS 下载集群的 Kubernetes 版本的 提供的 kubectl Amazon S3 二进制文件:

    • Kubernetes 1.18:

      curl -o kubectl.exe https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.18.9/2020-11-02/bin/windows/amd64/kubectl.exe
    • Kubernetes 1.17:

      curl -o kubectl.exe https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.17.12/2020-11-02/bin/windows/amd64/kubectl.exe
    • Kubernetes 1.16:

      curl -o kubectl.exe https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.16.15/2020-11-02/bin/windows/amd64/kubectl.exe
    • Kubernetes 1.15:

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

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

      • Kubernetes 1.18:

        curl -o kubectl.exe.sha256 https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.18.9/2020-11-02/bin/windows/amd64/kubectl.exe.sha256
      • Kubernetes 1.17:

        curl -o kubectl.exe.sha256 https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.17.12/2020-11-02/bin/windows/amd64/kubectl.exe.sha256
      • Kubernetes 1.16:

        curl -o kubectl.exe.sha256 https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.16.15/2020-11-02/bin/windows/amd64/kubectl.exe.sha256
      • Kubernetes 1.15:

        curl -o kubectl.exe.sha256 https://amazon-eks.s3.cn-north-1.amazonaws.com.cn/1.15.12/2020-11-02/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