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

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

AWS 管理控制台入门

此入门指南可帮助您创建要在 AWS 管理控制台中开始使用 Amazon EKS 所需的所有资源。在本指南中,您将在 Amazon EKS 或 AWS CloudFormation 控制台中手动创建每个资源。在本教程结束时,您将获得一个可以将应用程序部署到的正在运行的 Amazon EKS 集群。

本指南中的步骤可让您完全了解每个资源的创建方式以及资源之间如何相互交互。如果您希望自动为您创建大多数资源,请使用 eksctl CLI 创建集群和节点。有关更多信息,请参阅开始使用 eksctl

Prerequisites

本部分可帮助您安装和配置创建和管理 Amazon EKS 集群所需的以下工具和资源。

  • AWS CLI 一种用于处理 – 服务的命令行工具,包括 AWS。Amazon EKS

  • kubectl 一个用于处理 Kubernetes 集群的命令行工具。–

  • 集群 IAM 角色 角色允许 – 管理的 Kubernetes 集群代表您调用其他 Amazon EKS 服务以管理用于服务的资源。AWS

安装AWS CLI

您可以为 AWS CLImacOS、LinuxWindows 安装最新版本的

[安装适用于 AWS CLI 的macOS

  1. 如果您当前已安装 AWS CLI,请确定您已安装的版本。

    aws --version
  2. 如果您没有安装版本 1.18.190 或更高版本或版本 2.1.7 或更高版本,请安装 AWS CLI 版本 2。有关其他安装选项或要升级当前安装的版本 2,请参阅在 macOS 上升级 AWS CLI 版本 2

    curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" sudo installer -pkg AWSCLIV2.pkg -target /

    如果无法使用 AWS CLI 版本 2,请确保使用以下命令安装了 AWS CLI 版本 1 的最新版本。

    pip3 install awscli --upgrade --user

[安装适用于 Linux 的AWS CLI

  1. 如果您当前已安装 AWS CLI,请确定您已安装的版本。

    aws --version
  2. 如果您没有安装版本 1.18.190 或更高版本或版本 2.1.7 或更高版本,请安装 AWS CLI 版本 2。有关其他安装选项或要升级当前安装的版本 2,请参阅在 Linux 上升级 AWS CLI 版本 2

    curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install

    如果无法使用 AWS CLI 版本 2,请确保使用以下命令安装了 AWS CLI 版本 1 的最新版本。

    pip3 install --upgrade --user awscli

[安装适用于 Windows 的AWS CLI

  1. 如果您当前已安装 AWS CLI,请确定您已安装的版本。

    aws --version
  2. 如果您没有安装版本 1.18.190 或更高版本,或者没有安装版本 2.1.7 或更高版本,请执行以下步骤来安装 AWS CLI 版本 2。有关其他安装选项或要升级当前安装的版本 2,请参阅在 Windows 上升级 AWS CLI 版本 2

    1. 下载适用于 Windows 的 AWS CLI MSI 安装程序(64 位),网址为 https://awscli.amazonaws.com/AWSCLIV2.msi

    2. 运行下载的 MSI 安装程序并按照屏幕上的说明操作。默认情况下,AWS CLI 将安装到 C:\Program Files\Amazon\AWSCLIV2

  3. (可选)如果无法使用 AWS CLI 版本 2,请确保使用以下命令安装了 AWS CLI 版本 1 的最新版本。

    pip3 install --user --upgrade awscli

配置 AWS CLI 凭证

AWS CLI 要求您在环境中配置了 AWS 凭证。 aws configure 命令是设置 安装以供一般使用的最快方法。AWS CLI

$ aws configure AWS Access Key ID [None]: <AKIAIOSFODNN7EXAMPLE> AWS Secret Access Key [None]: <wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY> Default region name [None]: <region-code> Default output format [None]: <json>

键入该命令时,AWS CLI 会提示您输入四条信息:access keysecret access keyAWS Regionoutput format。 此信息存储在名为 default 的配置文件(一个设置集合)中。 此配置文件在您运行命令时使用,除非您指定另一个命令。

有关更多信息,请参阅 AWS CLI 中的配置 AWS Command Line Interface 用户指南

安装和配置 kubectl

Kubernetes 使用 kubectl 命令行实用程序来与集群 API 服务器进行通信。

您可以安装适用于 1.18kubectl、macOSLinuxWindows 命令行实用程序的版本

[在 kubectl 上安装 macOS ]

  1. 下载与集群所在的区域对应的 Amazon EKS 提供的 kubectl 二进制文件。

    • 区域之外的所有区域。中国

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/darwin/amd64/kubectl
    • 北京和宁夏 中国区域。

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

    1. 下载与集群所在的区域对应的 SHA-256 总和。

      • 区域之外的所有区域。中国

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/darwin/amd64/kubectl.sha256
      • 北京和宁夏 中国区域。

        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
    2. 检查 SHA-256 总和。

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

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

    chmod +x ./kubectl
  4. kubectl 移动到路径中的文件夹。

    • 如果您还没有安装 kubectl 的版本,请将二进制文件移到 PATH 中已存在的文件夹。

      sudo mv ./kubectl /usr/local/bin
    • 如果您已经安装了 kubectl 版本,则建议您创建一个 $HOME/bin/kubectl 文件夹,将该二进制文件移动到该文件夹,并确保 $HOME/bin 先出现在您的 $PATH 中。

      mkdir -p $HOME/bin && mv ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin

      (可选) 将 $HOME/bin 路径添加到 shell 初始化文件,以便在打开 shell 时配置此路径。

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

    kubectl version --short --client

[在 Linux 上安装 kubectl]

  1. 下载与集群所在的区域对应的 Amazon EKS 提供的 kubectl 二进制文件。

    • 区域之外的所有区域。中国

      curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/linux/amd64/kubectl
    • 北京和宁夏 中国区域。

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

    1. 下载与集群所在的区域对应的 SHA-256 总和。

      • 区域之外的所有区域。中国

        curl -o kubectl.sha256 https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/linux/amd64/kubectl.sha256
      • 北京和宁夏 中国区域。

        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
    2. 检查 SHA-256 总和。

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

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

    chmod +x ./kubectl
  4. kubectl 移动到路径中的文件夹。

    • 如果您还没有安装 kubectl 的版本,请将该二进制文件移动到 PATH 中的文件夹。

      sudo mv ./kubectl /usr/local/bin
    • 如果您已经安装了 kubectl 版本,则建议您创建一个 $HOME/bin/kubectl 文件夹,将该二进制文件移动到该文件夹,并确保 $HOME/bin 先出现在您的 $PATH 中。

      mkdir -p $HOME/bin && mv ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin

      (可选) 将 $HOME/bin 路径添加到 shell 初始化文件,以便在打开 shell 时配置此路径。

      echo 'export PATH=$PATH:$HOME/bin' >> ~/.bash_profile
      注意

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

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

    kubectl version --short --client

[在 Windows 上安装 kubectl]

  1. 打开 PowerShell 终端。

  2. 下载与集群所在的区域对应的 Amazon EKS 提供的 kubectl 二进制文件。

    • 区域之外的所有区域。中国

      curl -o kubectl.exe https://amazon-eks.s3.us-west-2.amazonaws.com/1.18.9/2020-11-02/bin/windows/amd64/kubectl.exe
    • 北京和宁夏 中国区域。

      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
  3. (可选)使用 SHA-256 总和验证下载的二进制文件。

    1. 下载与集群所在的区域对应的 SHA-256 总和。

      • 区域之外的所有区域。中国

        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
      • 北京和宁夏 中国区域。

        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
    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

创建您的 Amazon EKS 集群 IAM 角色

您可以使用 AWS 管理控制台AWS CloudFormation 创建角色。

[在 Amazon EKS 控制台中创建 IAM 集群角色]

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 选择 Roles,然后选择 Create role

  3. 从服务列表中选择 EKS,为您的使用案例选择 EKS - Cluster,然后选择 Next: (下一步:)。权限。

  4. 选择 Next: (下一步:)。 标签

  5. (可选)通过以键值对的形式附加标签来向角色添加元数据。有关在 IAM 中使用标签的更多信息,请参阅 中的标记 IAM 实体。IAM 用户指南

  6. 选择 Next: (下一步:)。 审核

  7. 对于 Role name (角色名称),输入您的角色的唯一名称,如 eksClusterRole,然后选择 Create role (创建角色)

[使用 Amazon EKS 创建 AWS CloudFormation 集群角色

  1. 将以下 AWS CloudFormation 模板保存到本地系统中的文本文件。

    --- AWSTemplateFormatVersion: '2010-09-09' Description: 'Amazon EKS Cluster Role' Resources: eksClusterRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: - eks.amazonaws.com Action: - sts:AssumeRole ManagedPolicyArns: - arn:aws:iam::aws:policy/AmazonEKSClusterPolicy Outputs: RoleArn: Description: The role that Amazon EKS will use to create AWS resources for Kubernetes clusters Value: !GetAtt eksClusterRole.Arn Export: Name: !Sub "${AWS::StackName}-RoleArn"
    注意

    在 2020 年 4 月 16 日之前,ManagedPolicyArns 有一个 arn:aws:iam::aws:policy/AmazonEKSServicePolicy 条目。 对于 AWSServiceRoleForAmazonEKS 服务相关角色,不再需要该策略。

  2. https://console.amazonaws.cn/cloudformation 打开 AWS CloudFormation 控制台。

  3. 选择创建堆栈

  4. 对于指定模板,选择上传模板文件,然后选择选择文件

  5. 选择您之前创建的文件,然后选择下一步

  6. 对于 Stack name (堆栈名称),输入角色的名称,如 eksClusterRole,然后选择 Next (下一步)

  7. Configure stack options (配置堆栈选项) 页面上,选择 Next (下一步)

  8. 审核页面上,审核您的信息,确认堆栈可创建 IAM 资源,然后选择创建堆栈

创建您的 Amazon EKS 集群 VPC

此部分指导您完成使用以下任一项创建 VPC 的过程:

创建 Amazon EKS 集群时,需要为集群指定要使用的 VPC 子网。Amazon EKS 要求指定至少两个可用区内的子网。我们建议使用同时带有公有子网和私有子网的 VPC,以便 Kubernetes 可以在公有子网中创建公有负载均衡器,进而将流量负载平衡到在私有子网中的节点上运行的 pod。

有关 VPC 类型的更多信息,请参阅为 Amazon EKS 集群创建 VPC

创建带有公有子网和私有子网的集群 VPC

  1. https://console.amazonaws.cn/cloudformation 打开 AWS CloudFormation 控制台。

  2. 从导航栏中,选择支持 Amazon EKS 的区域。

  3. 依次选择 Create stack (创建堆栈)With new resources (standard) (使用新资源(标准))

  4. 对于选择一个模板,选择指定 Amazon S3 模板 URL

  5. 将与您的集群所在的区域对应的 URL 粘贴到文本区域中,然后选择 Next (下一步)

    • 区域之外的所有区域。中国

      https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml
    • 北京和宁夏 中国区域。

      https://s3.cn-north-1.amazonaws.com.cn/amazon-eks//cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml
  6. Specify Details (指定详细信息) 页面上,相应填写参数,然后选择 Next (下一步)

    • 堆栈名称:为您的 AWS CloudFormation 堆栈选择堆栈名称。例如,您可以将其称为 eks-vpc

    • VpcBlock:为您的 VPC 选择 CIDR 范围。您部署的每个工作线程节点、Pod 和负载均衡器都会从此块中分配一个 IP 地址。默认值为大多数实现提供了足够的 IP 地址,但如果没有,则可以更改它。有关更多信息,请参阅《Amazon VPC 用户指南》中的 VPC 和子网大小调整。您还可以在 VPC 创建后向其添加额外的 CIDR 块。

    • PublicSubnet01Block:为公有子网 1 指定 CIDR 块。默认值为大多数实现提供了足够的 IP 地址,但如果没有,则可以更改它。

    • PublicSubnet02Block:指定公有子网 2 的 CIDR 块。默认值为大多数实现提供了足够的 IP 地址,但如果没有,则可以更改它。

    • PrivateSubnet01Block:为私有子网 1 指定 CIDR 块。默认值为大多数实现提供了足够的 IP 地址,但如果没有,则可以更改它。

    • PrivateSubnet02Block:为私有子网 2 指定 CIDR 块。默认值为大多数实现提供了足够的 IP 地址,但如果没有,则可以更改它。

  7. (可选)在 Options (选项) 页面上,为您的堆栈资源添加标签。选择 Next (下一步)

  8. Review 页面上,选择 Create

  9. 创建堆栈后,在控制台中选中它,然后选择 Outputs (输出)

  10. 记录已创建的安全组的 SecurityGroups 值。向集群添加节点时,必须指定安全组的 ID。安全组将应用于您的子网中由 Amazon EKS 创建的弹性网络接口,这些接口允许控制层面与节点进行通信。这些网络接口的描述中包含 Amazon EKS <cluster name>

  11. 记录已创建的 VPC 的 VpcId。您在启动节点组模板时需要此值。

  12. 记录已创建的子网的 SubnetIds,以及您是将它们创建为公有子网还是私有子网。向集群添加节点时,您必须指定要将节点启动到的子网的 IDs。

创建只带有公有子网的集群 VPC

  1. https://console.amazonaws.cn/cloudformation 打开 AWS CloudFormation 控制台。

  2. 从导航栏中,选择支持 Amazon EKS 的区域。

  3. 依次选择 Create stack (创建堆栈)With new resources (standard) (使用新资源(标准))

  4. 对于选择一个模板,选择指定 Amazon S3 模板 URL

  5. 将与您的集群所在的区域对应的 URL 粘贴到文本区域中,然后选择 Next (下一步)

    • 区域之外的所有区域。中国

      https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-sample.yaml
    • 北京和宁夏 中国区域。

      https://s3.cn-north-1.amazonaws.com.cn/amazon-eks//cloudformation/2020-10-29/amazon-eks-vpc-sample.yaml
  6. Specify Details (指定详细信息) 页面上,相应填写参数,然后选择 Next (下一步)

    • 堆栈名称:为您的 AWS CloudFormation 堆栈选择堆栈名称。例如,您可以将其称为 eks-vpc

    • VpcBlock:为您的 VPC 选择 CIDR 块。您部署的每个工作线程节点、Pod 和负载均衡器都会从此块中分配一个 IP 地址。默认值为大多数实现提供了足够的 IP 地址,但如果没有,则可以更改它。有关更多信息,请参阅《Amazon VPC 用户指南》中的 VPC 和子网大小调整。您还可以在 VPC 创建后向其添加额外的 CIDR 块。

    • Subnet01Block:为子网 1 指定 CIDR 块。默认值为大多数实现提供了足够的 IP 地址,但如果没有,则可以更改它。

    • Subnet02Block:为子网 2 指定 CIDR 块。默认值为大多数实现提供了足够的 IP 地址,但如果没有,则可以更改它。

    • Subnet03Block:为子网 3 指定 CIDR 块。默认值为大多数实现提供了足够的 IP 地址,但如果没有,则可以更改它。

  7. (可选)在 Options (选项) 页面上,为您的堆栈资源添加标签。选择 Next (下一步)

  8. Review 页面上,选择 Create

  9. 创建堆栈后,在控制台中选中它,然后选择 Outputs (输出)

  10. 记录已创建的安全组的 SecurityGroups 值。向集群添加节点时,必须指定安全组的 ID。安全组将应用于您的子网中由 Amazon EKS 创建的弹性网络接口,这些接口允许控制层面与节点进行通信。这些网络接口的描述中包含 Amazon EKS <cluster name>

  11. 记录已创建的 VPC 的 VpcId。您在启动节点组模板时需要此值。

  12. 记录已创建的子网的 SubnetIds。向集群添加节点时,您必须指定要将节点启动到的子网的 IDs。

创建只带有私有子网的集群 VPC

  1. https://console.amazonaws.cn/cloudformation 打开 AWS CloudFormation 控制台。

  2. 从导航栏中,选择支持 Amazon EKS 的区域。

  3. 依次选择 Create stack (创建堆栈)With new resources (standard) (使用新资源(标准))

  4. 对于选择一个模板,选择指定 Amazon S3 模板 URL

  5. 将与您的集群所在的区域对应的 URL 粘贴到文本区域中,然后选择 Next (下一步)

    • 区域之外的所有区域。中国

      https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-fully-private-vpc.yaml
    • 北京和宁夏 中国区域。

      https://s3.cn-north-1.amazonaws.com.cn/amazon-eks//cloudformation/2020-10-29/amazon-eks-fully-private-vpc.yaml
  6. Specify Details (指定详细信息) 页面上,相应填写参数,然后选择 Next (下一步)

    • 堆栈名称:为您的 AWS CloudFormation 堆栈选择堆栈名称。例如,您可以将其称为 eks-vpc

    • VpcBlock:为您的 VPC 选择 CIDR 块。您部署的每个工作线程节点、Pod 和负载均衡器都会从此块中分配一个 IP 地址。默认值为大多数实现提供了足够的 IP 地址,但如果没有,则可以更改它。有关更多信息,请参阅《Amazon VPC 用户指南》中的 VPC 和子网大小调整。您还可以在 VPC 创建后向其添加额外的 CIDR 块。

    • PrivateSubnet01Block:为子网 1 指定 CIDR 块。默认值为大多数实现提供了足够的 IP 地址,但如果没有,则可以更改它。

    • PrivateSubnet02Block:为子网 2 指定 CIDR 块。默认值为大多数实现提供了足够的 IP 地址,但如果没有,则可以更改它。

    • PrivateSubnet03Block:为子网 3 指定 CIDR 块。默认值为大多数实现提供了足够的 IP 地址,但如果没有,则可以更改它。

  7. (可选)在 Options (选项) 页面上,为您的堆栈资源添加标签。选择 Next (下一步)

  8. Review 页面上,选择 Create

  9. 创建堆栈后,在控制台中选中它,然后选择 Outputs (输出)

  10. 记录已创建的安全组的 SecurityGroups 值。向集群添加节点时,必须指定安全组的 ID。安全组将应用于您的子网中由 Amazon EKS 创建的弹性网络接口,这些接口允许控制层面与节点进行通信。这些网络接口的描述中包含 Amazon EKS <cluster name>

  11. 记录已创建的 VPC 的 VpcId。您在启动节点组模板时需要此值。

  12. 记录已创建的子网的 SubnetIds。向集群添加节点时,您必须指定要将节点启动到的子网的 IDs。

步骤 1:创建 Amazon EKS 集群

本部分将帮助您创建 Amazon EKS 集群。安装了 Amazon EKS 中提供的最新 Kubernetes 版本,以便您可以利用最新的 Kubernetes 和 Amazon EKS 功能。某些功能不可用于 Kubernetes 的旧版本。

重要

创建 Amazon EKS 集群后,创建集群的 IAM 实体(用户或角色)将添加到 Kubernetes RBAC 授权表作为管理员(具有 system:masters 权限)。最初,仅该 IAM 用户可以使用 kubectl 调用 Kubernetes API 服务器。有关更多信息,请参阅 管理集群的用户或 IAM 角色。如果使用控制台创建集群,则必须确保在集群上运行 kubectl 命令时,AWS 开发工具包凭证链中具有相同的 IAM 用户凭证。

如果安装和配置 AWS CLI,则可为用户配置 IAM 凭证。如果为用户正确配置了 AWS CLI 版本 1.16.156 或更高版本,则 eksctl 可以找到这些凭证。有关更多信息,请参阅 AWS Command Line Interface 用户指南 中的配置 AWS CLI。如果无法安装 AWS CLI 版本 1.16.156 或更高版本,则必须安装 aws-iam-authenticator

使用控制台创建集群

  1. Open the Amazon EKS console at https://console.amazonaws.cn/eks/home#/clusters.

  2. 选择 Create Cluster (创建集群)

    注意

    如果 IAM 用户没有管理员特权,则必须为该用户显式添加权限以调用 Amazon EKS API 操作。有关更多信息,请参阅 Amazon EKS 基于身份的策略示例

  3. Configure cluster (配置集群) 页面上,填写以下字段:

    • Name (名称) – 集群的独特名称。

    • Kubernetes version (Kubernetes 版本) – 要用于集群的 Kubernetes 的版本。

    • Cluster service role (集群服务角色) – 选择使用 创建您的 Amazon EKS 集群 IAM 角色 创建的 IAM 角色。

    • Secrets encryption (密钥加密) –(可选)选择使用 AWS Key Management Service (AWS KMS) 启用 Kubernetes 密钥的信封加密。如果启用信封加密,将使用您选择的客户主密钥 (CMK) 加密 Kubernetes 密钥。CMK 必须对称,在与集群相同的区域中创建,如果在不同的账户中创建了 CMK,则用户必须具有对 CMK 的访问权限。有关更多信息,请参阅 AWS Key Management Service 开发人员指南 中的允许其他账户中的用户使用 CMK

      使用 AWS KMS CMK 进行 Kubernetes 密钥加密需要 Kubernetes 版本 1.13 或更高版本。如果未列出任何密钥,则必须先创建一个密钥。有关更多信息,请参阅创建密钥

    • Tags (标签) –(可选)将任意标签添加到您的集群。有关更多信息,请参阅 给您的 Amazon EKS 资源加标签

  4. 选择 Next (下一步)

  5. Specify networking (指定联网) 页面上,为以下字段选择值:

    • VPC – 您之前在 创建您的 Amazon EKS 集群 VPC中创建的 VPC。您可以在下拉列表中查找您的 VPC 的名称。

    • Subnets (子网) – 默认情况下,已预先选中在之前字段中指定的 VPC 中的可用子网。取消选择您不希望托管集群资源的任何子网,例如工作线程节点或负载均衡器。

      重要

      Do not select a subnet in AWS Outposts, AWS Wavelength or an AWS Local Zone when creating your cluster. After cluster creation, you can tag the AWS Outposts AWS Wavelength or AWS Local Zone subnets with the cluster name, which will then enable you to deploy self-managed nodes to the subnet. For more information, see 子网添加标签要求.

    • Security Groups (安全组) – 您通过创建您的 Amazon EKS 集群 VPC生成的 AWS CloudFormation 输出中的 SecurityGroups 值。此安全组具有下拉列表名称中的 ControlPlaneSecurityGroup

      重要

      节点 AWS CloudFormation 模板会修改您在此处指定的安全组,因此 Amazon EKS 强烈建议为每个集群控制层面使用专用安全组(每个集群一个)。如果此安全组是与其他资源共享的安全组,则可能会阻止或中断与这些资源的连接。

    • (可选)如果您要指定 Kubernetes 从哪个 CIDR 块分配服务 IP 地址,请选择配置 Kubernetes 服务 IP 地址范围并指定服务 IPv4 范围。CIDR 块必须满足以下要求:

      • 在下面的某个范围内:10.0.0.0/8、172.16.0.0/12 或 192.168.0.0/16。

      • 介于 /24 和 /12 之间。

      • 不与 VPC 中指定的任何 CIDR 块重叠。

      我们建议您指定一个 CIDR 块,该块不与任何其他对等网络或连接到您的 VPC 的网络重叠。如果不启用此选项,则 Kubernetes 将从 10.100.0.0/16 或 172.20.0.0/16 CIDR 块分配服务 IP 地址。

      重要

      您只能在创建集群时指定自定义 CIDR 块,并且在创建集群后,无法更改此值。

    • Cluster endpoint access (集群终端节点访问) – 选择以下选项之一:

      • Public (公有) – 仅允许对集群的 Kubernetes API 服务器终端节点进行公有访问。来自集群 VPC 外部的 Kubernetes API 请求将使用公有终端节点。默认情况下,允许从任何源 IP 地址访问。您可以选择限制对一个或多个 CIDR 范围(如 192.168.0.0/16)的访问,例如,通过选择 Advanced settings (高级设置),然后选择 Add source (添加源)

      • Private (私有) – 仅允许对集群的 Kubernetes API 服务器终端节点进行私有访问。源自集群的 VPC 内的 Kubernetes API 请求将使用私有 VPC 终端节点。

        重要

        If you created a VPC without outbound internet access, then you must enable private access.

      • Public and private (公有和私有) – 启用公有和私有访问。

      有关以前选项的更多信息,请参阅修改集群终端节点访问

  6. 如果您在上一页选择了 Kubernetes 1.17 或更早版本,请跳至下一步。如果您选择了版本 1.18,请接受 Networking add-ons (网络附加项) 部分中的默认值,以安装 AWS VPC CNI Amazon EKS 附加项的最新版本。您只能将 Amazon EKS 附加项用于 1.18 集群,因为 Amazon EKS 附加项需要服务器端应用 Kubernetes 功能,该功能直至 Kubernetes 1.18 才可用。如果您为集群选择了其他 Kubernetes 版本,则不显示此选项。

    重要

    AWS VPC CNI 附加项配置为使用分配给 Amazon EKS 节点 IAM 角色 的 IAM 权限。创建集群后,但在将任何 Amazon EC2 节点部署到集群之前,您必须确保将 AmazonEKS_CNI_Policy IAM 策略附加到节点 IAM 角色,或附加到与附加项运行时所使用的 Kubernetes 服务账户关联的其他角色。我们建议您通过完成 配置 VPC CNI 插件以使用服务账户的 IAM 角色中的说明,将策略分配给节点 IAM 角色以外的 IAM 角色 。创建集群和 IAM 角色后,您可以更新加载项以使用您创建的 IAM 角色。

  7. 选择 Next (下一步)

  8. Configure logging (配置日志记录) 页面上,您可以选择要启用的日志类型,此操作是可选的。默认情况下,每个日志类型均为已禁用。有关更多信息,请参阅Amazon EKS 控制层面日志记录

  9. 选择 Next (下一步)

  10. Review and create (审核和创建) 页面上,审核您在之前页面输入或选择的信息。如果需要对任何选择进行更改,请选择 Edit (编辑)。对设置满意后,选择 Create (创建)Status (状态) 字段显示 CREATING (正在创建),直至集群配置过程完成。

    注意

    您可能会收到一个错误,指示请求中的可用区之一没有创建 Amazon EKS 集群的足够容量。如果发生这种情况,错误输出将包含可支持新集群的可用区。再次尝试使用至少两个位于您账户所支持可用区中的子网创建集群。有关更多信息,请参阅容量不足

    在配置完集群(通常在 10 到 15 分钟内完成)后,记下 API server endpoint (API 服务器终端节点)Certificate authority (证书颁发机构) 值。kubectl 配置中将使用这些值。

  11. (可选)要使用 Amazon EKS 附加项,或者要使单个 Kubernetes 工作负载具有特定 IAM 权限,您需要为集群启用 OpenID Connect (OIDC) 提供商。要为集群配置 OIDC 提供商,请参阅为集群创建 IAM OIDC 提供商。您只需为集群启用 OIDC 提供商一次。要了解有关 Amazon EKS 附加项的更多信息,请参阅配置 Amazon EKS 附加组件。要详细了解如何为工作负载分配特定 IAM 权限,请参阅 技术概览

步骤 2:创建 kubeconfig 文件

在本部分中,您将使用 kubeconfig AWS CLI update-kubeconfig 命令为集群创建一个 文件。

使用 AWS CLI 创建 kubeconfig

  1. 使用 AWS CLI update-kubeconfig 命令为您的集群创建或更新 。kubeconfig

    • 默认情况下,生成的配置文件会在主目录的默认 kubeconfig 路径 (.kube/config) 中创建,或与该位置的现有 kubeconfig 合并。您可以使用 --kubeconfig 选项指定其他路径。

    • 在发出 IAM --role-arn 命令时,您可以使用 kubectl 选项指定用于身份验证的 角色 ARN。否则,将使用默认 AWS CLI 或开发工具包凭证链中的 IAM 实体。您可以通过运行 AWS CLI aws sts get-caller-identity 命令来查看默认 或开发工具包身份。

    • 有关更多信息,请参阅包含 aws eks update-kubeconfig help 命令的帮助页面,或参阅 https://docs.amazonaws.cn/cli/latest/reference/eks/update-kubeconfig.html 中的 update-kubeconfigAWS CLI Command Reference。

    注意

    要运行以下命令,您必须具有对指定的集群使用 eks:DescribeCluster API 操作的权限。有关更多信息,请参阅Amazon EKS 基于身份的策略示例

    aws eks --region <us-west-2> update-kubeconfig --name <cluster_name>
  2. 测试配置。

    kubectl get svc
    注意

    如果您收到任何授权或资源类型错误,请参阅故障排除部分中的未经授权或访问被拒绝 (kubectl)

    输出:

    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 1m

步骤 3:创建计算

选择以下计算选项之一。要了解有关每个选项的更多信息,请参阅Amazon EKS 个节点。部署完集群后,您可以选择添加其他选项。

  • Fargate – Linux – 如果要在 AWS Fargate 上运行 Linux 应用程序,请选择此选项。

  • 托管节点 –Linux 如果要在 – 实例上运行 Amazon Linux 或 Windows 应用程序,请选择此选项。Amazon EC2

虽然本指南中未作介绍,但您也可以将 Bottlerocket 节点添加到集群。有关更多信息,请参阅启动自行管理的 Tottlerocket 节点

[ Fargate – Linux ]

注意

您只能在某些区域中将 AWS Fargate 与 Amazon EKS 结合使用。在将 Fargate 与 Amazon EKS 结合使用之前,请确保支持要使用的区域。有关更多信息,请参阅通过 Amazon EKS 开始使用 AWS Fargate

在创建 AWS Fargate 配置文件之前,您必须创建 Fargate Pod 执行角色以用于您的配置文件。

使用 AWS Fargate 创建 AWS 管理控制台 Pod 执行角色

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 选择 Roles,然后选择 Create role

  3. 从服务列表中选择 EKS,为您的使用案例选择 EKS - Fargate pod,然后选择 Next: (下一步:)。权限。

  4. 选择 Next: (下一步:)。 标签

  5. (可选)通过以键值对的形式附加标签来向角色添加元数据。有关在 IAM 中使用标签的更多信息,请参阅 中的标记 IAM 实体。IAM 用户指南

  6. 选择 Next: (下一步:)。 审核

  7. 对于 Role name (角色名称),输入您的角色的唯一名称,如 AmazonEKSFargatePodExecutionRole,然后选择 Create role (创建角色)

您现在可以创建 Fargate 配置文件,并指定您创建的 IAM 角色。

使用 AWS 管理控制台 为集群创建 Fargate 配置文件

  1. Open the Amazon EKS console at https://console.amazonaws.cn/eks/home#/clusters.

  2. 选择要为其创建 Fargate 配置文件的集群。

  3. Fargate profiles (Fargate 配置文件) 下,选择 Add Fargate profile (添加 Fargate 配置文件)

  4. Configure Fargate profile (配置 Fargate 配置文件) 页面上,输入以下信息并选择 下一步 (Next)

    1. Name (名称) 下,为 Fargate 配置文件输入唯一名称。

    2. 对于 Pod execution role (Pod 执行角色),选择要用于您的 Fargate 配置文件的 Pod 执行角色。将仅显示具有 eks-fargate-pods.amazonaws.com 服务委托人的 IAM 角色。如果您未看到此处列出的任何角色,则必须创建一个角色。有关更多信息,请参阅Pod 执行角色

    3. 对于 Subnets (子网),选择要用于 Pod 的子网。默认情况下,集群 VPC 中的所有子网都处于选中状态。在 Fargate 上运行的 Pod 仅支持私有子网;您必须取消选择任何公有子网。

    4. 对于 Tags (标签),您可以自行选择是否为 Fargate 配置文件添加标签。这些标签不会传播到与配置文件关联的其他资源,如 Pod。

  5. Configure pods selection (配置 Pod 选择) 页面上,输入以下信息并选择 Next (下一步)

    1. 对于 Namespace (命名空间),输入与 Pod 匹配的命名空间,如 kube-systemdefault

    2. (可选)将 Kubernetes 标签添加到指定命名空间中的 Pod 必须与选择器匹配的选择器中。例如,您可以将标签 infrastructure: fargate 添加到选择器中,以便只有指定命名空间中也具有 infrastructure: fargate Kubernetes 标签的 Pod 与选择器匹配。

  6. Review and create (查看和创建) 页面上,查看 Fargate 配置文件的信息,然后选择 Create (创建)

[ 托管节点 – Linux ]

节点 Amazon EKS 守护程序代表您调用 kubelet AWS。APIs节点通过 IAM 实例配置文件和关联的策略接收这些 API 调用的权限。您必须先创建 IAM 角色,然后才能启动节点。您可以使用 AWS 管理控制台AWS CloudFormation 创建角色。

注意

我们建议您为每个集群创建一个新的节点 IAM 角色。否则,一个集群中的节点可以与其不属于的另一个集群进行身份验证。

在 Amazon EKS 控制台中创建 IAM 节点角色

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 选择 Roles,然后选择 Create role

  3. Choose a use case 下的 Common use cases 列表中选择 EC2,然后选择 Next:权限。

  4. Filter policies (筛选策略) 框中,输入 AmazonEKSWorkerNodePolicy。 选中 AmazonEKSWorkerNodePolicy 左侧的框。

  5. Filter policies (筛选策略) 框中,输入 AmazonEC2ContainerRegistryReadOnly。 选中 AmazonEC2ContainerRegistryReadOnly 左侧的框。

  6. 必须向此角色或映射到 Kubernetes 服务账户的其他角色附加 AmazonEKS_CNI_Policy 策略。aws-node我们建议将策略分配给与 Kubernetes 服务账户关联的角色,而不是将其分配给此角色。有关更多信息,请参阅配置 VPC CNI 插件以使用服务账户的 IAM 角色

  7. 选择 Next: (下一步:)。 标签

  8. (可选)通过以键值对的形式附加标签来向角色添加元数据。有关在 IAM 中使用标签的更多信息,请参阅 中的标记 IAM 实体。IAM 用户指南

  9. 选择 Next: (下一步:)。 审核

  10. 对于 Role name (角色名称),输入您的角色的唯一名称,例如 NodeInstanceRole。 对于 Role description (角色描述),请将当前文本替换为描述性文本,例如 Amazon EKS - Node Group Role,然后选择 Create role (创建角色)

使用 Amazon EKS 创建 AWS CloudFormation 节点角色

  1. https://console.amazonaws.cn/cloudformation 打开 AWS CloudFormation 控制台。

  2. 选择 Create stack (创建堆栈),然后选择 With new resources (standard) (使用新资源(标准))

  3. 对于 Specify template (指定模板),选择 Amazon S3 URL

  4. 将与您的集群所在的区域对应的 URL 粘贴到 Amazon S3 URL 文本区域中,然后选择 Next (下一步) 两次:

    • 区域之外的所有区域。中国

      https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-nodegroup-role.yaml
    • 北京和宁夏 中国区域。

      https://s3.cn-north-1.amazonaws.com.cn/amazon-eks//cloudformation/2020-10-29/amazon-eks-nodegroup-role.yaml
  5. Specify stack details (指定堆栈详细信息) 页面上,对于 Stack name (堆栈名称) 输入一个名称,如 eks-node-group-instance-role ,然后选择 Next (下一步)

  6. (可选)在 Configure stack options (配置堆栈选项) 页面上,您可以选择为堆栈资源添加标签。选择 Next (下一步)

  7. Review (审核) 页面上,选中 Capabilities (功能) 部分中的复选框,然后选择 Create stack (创建堆栈)

  8. 创建堆栈后,在控制台中选中它,然后选择 Outputs (输出)

  9. 记录已创建的 角色的 NodeInstanceRoleIAM 值。在您创建节点组时需要此功能。

  10. (可选,但建议使用)上一步中由 IAM 模板附加到角色的 AWS CloudFormation 策略之一是 AmazonEKS_CNI_Policy 托管策略。该策略必须附加到此角色或与用于 aws-node VPC CNI 插件的 Kubernetes Amazon EKS 服务账户关联的角色。我们建议将策略分配给与 Kubernetes 服务账户关联的角色。有关更多信息,请参阅配置 VPC CNI 插件以使用服务账户的 IAM 角色

您现在可以创建托管节点组。

重要

Amazon EKS 节点是标准的 Amazon EC2 实例,您需要基于常规的 Amazon EC2 实例价格为其付费。有关更多信息,请参阅 Amazon EC2 定价

使用 AWS 管理控制台 创建托管节点组

  1. 等待集群状态显示为 ACTIVE。 您无法为尚未 ACTIVE 的集群创建托管节点组。

  2. Open the Amazon EKS console at https://console.amazonaws.cn/eks/home#/clusters.

  3. 选择要在其中创建托管节点组的集群的名称。

  4. 选择 Configuration (配置) 选项卡。

  5. Configuration (配置) 选项卡上,选择 Compute (计算) 选项卡,然后选择 Add Node Group (添加节点组)

  6. Configure node group (配置节点组) 页面上,填写相应参数,然后选择 Next (下一步)

    • Name (名称) – 为托管节点组输入唯一名称。

    • Node IAM role name (节点 IAM 角色名称) – 选择要与节点组一起使用的节点实例角色。有关更多信息,请参阅Amazon EKS 节点 IAM 角色

      重要

      我们建议您使用任何自行管理节点组当前未使用的角色,或者使用您计划与新的自行管理节点组配合使用的角色。有关更多信息,请参阅删除托管节点组

    • 使用启动模板 –(可选)如果要使用现有启动模板,请选择启动模板版本(可选)。如果未选择版本,则 Amazon EKS 将使用模板的默认版本。启动模板允许对节点组进行更多自定义,包括允许您部署自定义 AMI。启动模板必须满足启动模板支持中的要求。如果您未使用自己的启动模板,Amazon EKS API 将在您的账户中创建默认 Amazon EC2 启动模板,并使用默认启动模板部署节点组。如果您实现了服务账户的 IAM 角色,请直接向需要访问 AWS 服务的所有 Pod 分配必要的权限,并且集群中的任何 Pod 出于其他原因(如检索当前区域)需要访问 IMDS,那么您也可以为不使用启动模板中的主机联网的 Pod 禁用对 IMDS 的访问。有关更多信息,请参阅限制对 IMDS 和 Amazon EC2 实例配置文件凭证的访问

    • Kubernetes labels (Kubernetes 标签) –(可选)可以选择对托管节点组中的节点应用 Kubernetes 标签。

    • Tags (标签) –(可选)可以选择对 Amazon EKS 托管节点组进行标记。这些标签不会传播到节点组中的其他资源,例如 Auto Scaling 组或实例。有关更多信息,请参阅给您的 Amazon EKS 资源加标签

  7. Set compute and scaling configuration (设置计算和扩展配置) 页面上,相应填写参数,然后选择 Next (下一步)

    节点组计算配置

    • AMI type – 为非 GPU 实例选择 Amazon Linux 2 (AL2_x86_64),为 GPU 实例选择 Amazon Linux 2 GPU Enabled (AL2_x86_64_GPU),或为 Arm 选择 (AL2_ARM_64)Amazon Linux 2。

      如果您要部署 Arm 实例,请确保先查看Amazon EKS 优化的 Arm Amazon Linux AMIs中的注意事项,然后再部署。

      如果您在上一页上指定了启动模板,并在启动模板中指定了 AMI,则无法选择值。模板中的值将会显示。模板中指定的 AMI 必须满足 使用自定义 AMI 中的要求。

    • Capacity type (容量类型) – 选择容量类型。有关选择容量类型的更多信息,请参阅托管节点组容量类型。您不能在同一节点组中混合不同的容量类型。如果要使用两种容量类型,请创建单独的节点组,每个节点组具有自己的容量和实例类型。

    • 实例类型 – 默认情况下指定一个或多个实例类型。要删除默认实例类型,请选择实例类型右侧的 X。选择要在托管节点组中使用的实例类型。控制台显示一组常用的实例类型。如果您需要创建具有未显示实例类型的托管节点组,请使用 eksctl、AWS CLI、AWS CloudFormation 或开发工具包创建节点组。如果您在上一页上指定了启动模板,则无法选择值,因为必须在启动模板中指定该值。这将显示启动模板中的值。如果您为 Capacity type (容量类型) 选择了 Spot,我们建议您指定多个实例类型以提高可用性。有关选择实例类型的更多信息,请参阅 中的注意事项托管节点组容量类型

      每种 Amazon EC2 实例类型支持最大数量的弹性网络接口 (ENI),而每个 ENI 支持最大数量的 IP 地址。由于每个工作线程节点和 Pod 都分配有自己的 IP 地址,因此必须选择一种实例类型,以支持您希望在每个工作线程节点上运行的最大数量的 Pod。有关实例类型支持的 ENI 和 IP 地址数量的列表,请参阅每种实例类型、每个网络接口的 IP 地址。例如,对于工作线程节点和 Pod,m5.large 实例类型最多支持 30 个 IP 地址。某些实例类型可能并非在所有区域都可用。

      如果您计划使用Pod 的安全组,请确保指定受支持的 Amazon EC2 实例类型。有关更多信息,请参阅Amazon EC2 支持的实例和分支网络接口。 如果指定了 Arm Amazon EC2 实例类型,请在部署之前查看 Amazon EKS 优化的 Arm Amazon Linux AMIs中的注意事项。

    • 磁盘大小 – 输入要用于节点的根卷的磁盘大小(在 GiB 中)。

      如果您在上一页上指定了启动模板,则无法选择值,因为必须在启动模板中指定该值。

    节点组扩展配置

    注意

    Amazon EKS 不会自动扩展或缩小节点组。但是,您可以配置 Kubernetes Cluster Autoscaler 以执行此操作。

    • Minimum size (最小大小) – 指定托管节点组可扩展到的最小节点数。

    • 最大大小 – 指定托管节点组可扩展到的最大节点数。

    • Desired size (所需大小) – 指定托管节点组在启动时应保留的当前节点数。

  8. Specify networking (指定联网) 页面上,相应填写参数,然后选择 Next (下一步)

    • Subnets (子网) – 选择要在其中启动托管节点的子网。

      重要

      如果要使用 Kubernetes Cluster Autoscaler 在由 Amazon EBS 卷支持的多个可用区中运行有状态应用程序,则应该配置多个节点组,每个节点组的范围都限定为一个可用区。此外,您应该启用 --balance-similar-node-groups 功能。

      重要
      • 如果您选择公有子网,则子网必须将 MapPublicIpOnLaunch 设置为 true,这些实例才能成功加入集群。如果子网是在不早于 eksctl 之时使用 或 Amazon EKSAWS CloudFormation 提供的 March 26, 2020 模板创建的,则此设置已设置为 true。如果子网是在 March 26, 2020 之前使用 eksctl 或 AWS CloudFormation 模板创建的,则需要手动更改设置。有关更多信息,请参阅修改子网的公有 IPv4 寻址属性

      • 不要在 AWS Outposts、AWS Wavelength 或 AWS 本地扩展区中选择子网。您无法将托管节点部署到 AWS Outposts、AWS Wavelength 或 AWS 本地扩展区中的子网。您只能将自行管理的节点部署到 AWS Outposts、AWS Wavelength 或 AWS 本地扩展区子网。

    • 允许远程访问节点(可选,但默认值)。启用 SSH 后,如果出现问题,您可以连接到实例并收集诊断信息。请完成以下步骤以启用远程访问。我们强烈建议您在创建节点组时启用远程访问。在创建节点组后,将无法启用远程访问。

      如果您选择使用启动模板,则不会显示此选项。要启用对节点的远程访问,请在启动模板中指定密钥对,并确保对启动模板中指定的安全组中的节点打开适当的端口。有关更多信息,请参阅使用自定义安全组

    • 对于 SSH key pair (SSH 密钥对)(可选),选择要使用的 Amazon EC2 SSH 密钥。有关更多信息,请参阅 中的 Amazon EC2 密钥对Amazon EC2 用户指南(适用于 Linux 实例)。如果您选择使用启动模板,则不能选择启动模板。

    • 对于 Allow remote access from (允许从),如果您希望限制对特定实例的访问,请选择与这些实例关联的安全组。如果您未选择特定安全组,则允许从 Internet 上的任何位置进行 SSH 访问 (0.0.0.0/0)。

  9. Review and create (审核并创建) 页面上,审核托管节点组配置并选择 Create (创建)

    如果节点无法加入集群,请参阅《故障排除指南》中的节点无法加入集群

  10. 查看节点的状态并等待它们达到 Ready 状态。

    kubectl get nodes --watch
  11. (仅限 GPU 节点)如果您选择 GPU 实例类型和 Amazon EKS 优化加速 AMI,则必须使用以下命令在集群上将适用于 Kubernetes 的 NVIDIA 设备插件用作 DaemonSet。

    kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.6.0/nvidia-device-plugin.yml
  12. (可选)部署示例 Linux 工作负载 – 部署示例应用程序以测试您的集群和 Linux 节点。

  13. (可选)将 Linux 工作线程节点添加到集群后,请按照 Windows 支持中的过程向集群添加 Windows 支持并添加 Windows 工作线程节点。所有 Amazon EKS 集群必须至少包含一个 Linux 工作线程节点,即使您只想在集群中运行 Windows 工作负载也是如此。

后续步骤

现在,您有一个带节点的工作 Amazon EKS 集群,您已准备好开始安装 Kubernetes 插件并将应用程序部署到集群。以下文档主题可帮助您扩展集群的此功能。