设置 kubectl 和 eksctl - Amazon EKS

帮助改进此页面

想为本用户指南做出贡献? 滚动到页面底部,然后选择在 GitHub 上编辑此页面。您的贡献有助于我们的用户指南为每个人提供更充分的参考。

设置 kubectleksctl

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

本页上的主题可为您提供有关安装和设置以下工具的帮助:

安装或更新 kubectl

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

注意

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

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

    kubectl version --client

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

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

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

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

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

      • Kubernetes 1.30

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.30.2/2024-07-12/bin/darwin/amd64/kubectl
      • Kubernetes 1.29

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.6/2024-07-12/bin/darwin/amd64/kubectl
      • Kubernetes 1.28

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.28.11/2024-07-12/bin/darwin/amd64/kubectl
      • Kubernetes 1.27

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.27.15/2024-07-12/bin/darwin/amd64/kubectl
      • Kubernetes 1.26

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.26.15/2024-07-12/bin/darwin/amd64/kubectl
      • Kubernetes 1.25

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.25.16/2024-07-12/bin/darwin/amd64/kubectl
      • Kubernetes 1.24

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.17/2024-07-12/bin/darwin/amd64/kubectl
      • Kubernetes 1.23

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.17/2024-07-12/bin/darwin/amd64/kubectl
      • Kubernetes 1.22

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.17/2024-07-12/bin/darwin/amd64/kubectl
      • Kubernetes 1.21

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.21.14/2024-07-12/bin/darwin/amd64/kubectl
    2. (可选)使用二进制文件的 SHA-256 校验和验证下载的二进制文件。

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

        • Kubernetes 1.30

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.30.2/2024-07-12/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.29

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.6/2024-07-12/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.28

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.28.11/2024-07-12/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.27

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.27.15/2024-07-12/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.26

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.26.15/2024-07-12/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.25

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.25.16/2024-07-12/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.24

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.17/2024-07-12/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.23

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.17/2024-07-12/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.22

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.17/2024-07-12/bin/darwin/amd64/kubectl.sha256
        • Kubernetes 1.21

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.21.14/2024-07-12/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.30

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.30.2/2024-07-12/bin/linux/amd64/kubectl
      • Kubernetes 1.29

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.6/2024-07-12/bin/linux/amd64/kubectl
      • Kubernetes 1.28

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.28.11/2024-07-12/bin/linux/amd64/kubectl
      • Kubernetes 1.27

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.27.15/2024-07-12/bin/linux/amd64/kubectl
      • Kubernetes 1.26

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.26.15/2024-07-12/bin/linux/amd64/kubectl
      • Kubernetes 1.25

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.25.16/2024-07-12/bin/linux/amd64/kubectl
      • Kubernetes 1.24

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.17/2024-07-12/bin/linux/amd64/kubectl
      • Kubernetes 1.23

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.17/2024-07-12/bin/linux/amd64/kubectl
      • Kubernetes 1.22

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.17/2024-07-12/bin/linux/amd64/kubectl
      • Kubernetes 1.21

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.21.14/2024-07-12/bin/linux/amd64/kubectl
    2. (可选)使用二进制文件的 SHA-256 校验和验证下载的二进制文件。

      1. 使用适用于您的设备硬件平台的命令从 Amazon S3 为集群的 Kubernetes 版本下载 SHA-256 校验和。

        • Kubernetes 1.30

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.30.2/2024-07-12/bin/linux/amd64/kubectl.sha256
        • Kubernetes 1.29

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.6/2024-07-12/bin/linux/amd64/kubectl.sha256
        • Kubernetes 1.28

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.28.11/2024-07-12/bin/linux/amd64/kubectl.sha256
        • Kubernetes 1.27

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.27.15/2024-07-12/bin/linux/amd64/kubectl.sha256
        • Kubernetes 1.26

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.26.15/2024-07-12/bin/linux/amd64/kubectl.sha256
        • Kubernetes 1.25

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.25.16/2024-07-12/bin/linux/amd64/kubectl.sha256
        • Kubernetes 1.24

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.17/2024-07-12/bin/linux/amd64/kubectl.sha256
        • Kubernetes 1.23

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.17/2024-07-12/bin/linux/amd64/kubectl.sha256
        • Kubernetes 1.22

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.17/2024-07-12/bin/linux/amd64/kubectl.sha256
        • Kubernetes 1.21

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.21.14/2024-07-12/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.30

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.30.2/2024-07-12/bin/linux/arm64/kubectl
      • Kubernetes 1.29

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.6/2024-07-12/bin/linux/arm64/kubectl
      • Kubernetes 1.28

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.28.11/2024-07-12/bin/linux/arm64/kubectl
      • Kubernetes 1.27

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.27.15/2024-07-12/bin/linux/arm64/kubectl
      • Kubernetes 1.26

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.26.15/2024-07-12/bin/linux/arm64/kubectl
      • Kubernetes 1.25

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.25.16/2024-07-12/bin/linux/arm64/kubectl
      • Kubernetes 1.24

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.17/2024-07-12/bin/linux/arm64/kubectl
      • Kubernetes 1.23

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.17/2024-07-12/bin/linux/arm64/kubectl
      • Kubernetes 1.22

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.17/2024-07-12/bin/linux/arm64/kubectl
      • Kubernetes 1.21

        curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.21.14/2024-07-12/bin/linux/arm64/kubectl
    2. (可选)使用二进制文件的 SHA-256 校验和验证下载的二进制文件。

      1. 使用适用于您的设备硬件平台的命令从 Amazon S3 为集群的 Kubernetes 版本下载 SHA-256 校验和。

        • Kubernetes 1.30

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.30.2/2024-07-12/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.29

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.6/2024-07-12/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.28

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.28.11/2024-07-12/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.27

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.27.15/2024-07-12/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.26

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.26.15/2024-07-12/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.25

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.25.16/2024-07-12/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.24

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.17/2024-07-12/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.23

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.17/2024-07-12/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.22

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.17/2024-07-12/bin/linux/arm64/kubectl.sha256
        • Kubernetes 1.21

          curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.21.14/2024-07-12/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.30

        curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.30.2/2024-07-12/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.29

        curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.6/2024-07-12/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.28

        curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.28.11/2024-07-12/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.27

        curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.27.15/2024-07-12/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.26

        curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.26.15/2024-07-12/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.25

        curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.25.16/2024-07-12/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.24

        curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.17/2024-07-12/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.23

        curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.17/2024-07-12/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.22

        curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.17/2024-07-12/bin/windows/amd64/kubectl.exe
      • Kubernetes 1.21

        curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.21.14/2024-07-12/bin/windows/amd64/kubectl.exe
    3. (可选)使用二进制文件的 SHA-256 校验和验证下载的二进制文件。

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

        • Kubernetes 1.30

          curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.30.2/2024-07-12/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.29

          curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.6/2024-07-12/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.28

          curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.28.11/2024-07-12/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.27

          curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.27.15/2024-07-12/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.26

          curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.26.15/2024-07-12/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.25

          curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.25.16/2024-07-12/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.24

          curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.17/2024-07-12/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.23

          curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.23.17/2024-07-12/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.22

          curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.17/2024-07-12/bin/windows/amd64/kubectl.exe.sha256
        • Kubernetes 1.21

          curl.exe -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.21.14/2024-07-12/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
  4. 首次安装 kubectl 时,它尚未配置为与任何服务器通信。我们将根据需要在其他过程中介绍此配置。如果您需要更新配置以与特定集群通信,可以运行以下命令。region-code 替换为集群所在的 AWS 区域。my-cluster 替换为您的集群名称。

    aws eks update-kubeconfig --region region-code --name my-cluster
  5. 考虑配置自动完成,这样您就可以在键入前几个字母后使用 Tab 键完成 kubectl 子命令。有关详细信息,请参阅 Kubernetes 文档中的 Kubectl 自动完成功能

安装 eksctl

eksctl CLI 可用于处理 EKS 集群。它可自动化处理各种单独的任务。有关安装 eksctl 的说明,请参阅 eksctl 文档中的 Installation

使用 eksctl 时,所使用的 IAM 安全主体必须具有使用 Amazon EKS IAM 角色、服务相关角色、AWS CloudFormation、VPC 和相关资源的权限。有关更多信息,请参阅 IAM 用户指南中的用于 Amazon Elastic Container Service for Kubernetes 的操作、资源和条件键使用服务相关角色。您必须以同一用户身份完成本指南中的所有步骤。要查看当前用户,请运行以下命令:

aws sts get-caller-identity

后续步骤