

 **帮助改进此页面** 

要帮助改进本用户指南，请选择位于每个页面右侧窗格中的**在 GitHub 上编辑此页面**链接。

# 开始使用 Amazon EKS
<a name="getting-started"></a>

在阅读入门指南之前，请确保您已设置好使用 Amazon EKS。有关更多信息，请参阅 [进行设置以使用 Amazon EKS](setting-up.md)。

有两个入门指南可用于在 Amazon EKS 中使用节点创建新的 Kubernetes 集群：
+  [开始使用 Amazon EKS – eksctl](getting-started-eksctl.md) – 此入门指南可帮助您使用 `eksctl` 来安装开始使用 Amazon EKS 所需的所有资源。eksctl 是用于在 Amazon EKS 上创建和管理 Kubernetes 集群的简单命令行实用程序。在教程的最后，将为您提供一个运行中的 Amazon EKS 集群，您可向其部署应用程序。这是开始使用 Amazon EKS 的最快、最简单的方式。
+  [开始使用 Amazon EKS – AWS 管理控制台和 AWS CLI](getting-started-console.md) – 此入门指南可帮助您使用 AWS 管理控制台和 AWS CLI 创建开始使用 Amazon EKS 所需的所有资源。在教程的最后，将为您提供一个运行中的 Amazon EKS 集群，您可向其部署应用程序。在本指南中，您将手动创建 Amazon EKS 集群所需的每个资源。这些程序可让您了解每个资源的创建方式以及资源之间的相互交互方式。

我们还提供以下参考资料：
+ 有关动手实践教程的集合，请参阅 *AWS 社区* 上的 [EKS 集群设置](https://community.aws/tags/eks-cluster-setup)。
+ 有关代码示例，请参阅[使用 AWS SDK 的 Amazon EKS 代码示例](https://docs.aws.amazon.com/code-library/latest/ug/eks_code_examples.html)。

# 开始使用 Amazon EKS – EKS 自动模式
<a name="getting-started-automode"></a>

与其他 EKS 入门体验一样，使用 EKS 自动模式创建第一个集群会将集群本身的管理委派给 AWS。但 EKS 自动模式进一步扩展了 EKS 自动化水平，承担了设置工作负载基础设施（节点、网络和各种服务）所需的许多基本服务的责任，从而让您可以更轻松地管理节点以及根据工作负载需求纵向扩展。

选择以下方法之一来创建启用了 EKS 自动模式的集群：
+  [使用 AWS CLI 创建 EKS 自动模式集群](automode-get-started-cli.md)：使用 `aws` 命令行界面创建集群。
+  [使用 AWS 管理控制台创建 EKS 自动模式集群](automode-get-started-console.md)：使用 AWS 管理控制台 创建集群。
+  [使用 eksctl CLI 创建 EKS 自动模式集群](automode-get-started-eksctl.md)：使用 `eksctl` 命令行界面创建集群。

如果要比较创建第一个 EKS 集群的不同方法，您需要知道 EKS 自动模式已将额外的集群管理职责交给 AWS，包括安装相关组件以完成下列任务：
+ 根据工作负载需求的增加和减少启动和扩展节点。
+ 定期升级集群本身（控制面板）、节点操作系统以及在节点上运行的服务。
+ 选择决定节点存储大小和速度以及容器组网络配置等方面的默认设置。

要详细了解 EKS 自动模式集群的特点，请参阅[使用 EKS 自动模式实现集群基础设施自动化](automode.md)。

# 开始使用 Amazon EKS – `eksctl`
<a name="getting-started-eksctl"></a>

**注意**  
本主题介绍在**不启用** EKS 自动模式的情况下开始使用。  
EKS 自动模式可自动执行集群计算、存储和联网等方面的例行任务。[了解如何开始使用 Amazon EKS 自动模式。](getting-started-automode.md)

此指南可帮助您使用 `eksctl`（用于在 Amazon EKS 上创建和管理 Kubernetes 集群的简单命令行实用程序）来安装开始使用 Amazon Elastic Kubernetes Service (Amazon EKS) 所需的所有资源。在本教程的最后，将为您提供一个运行中的 Amazon EKS 集群，您可向其部署应用程序。

本指南中的程序可自动为您创建在您使用 AWS 管理控制台 创建集群时必须手动创建的一些资源。如果您希望手动创建大多数资源并更好地了解它们之间的交互方式，请使用 AWS 管理控制台创建集群和执行计算。有关更多信息，请参阅 [开始使用 Amazon EKS – AWS 管理控制台和 AWS CLI](getting-started-console.md)。

## 先决条件
<a name="eksctl-prereqs"></a>

在开始使用本教程之前，您必须按[设置以使用 Amazon EKS](setting-up.md) 中所述安装并配置 AWS CLI、kubectl 和 eksctl 工具。

## 第 1 步：创建 Amazon EKS 集群和节点
<a name="create-cluster-gs-eksctl"></a>

**重要**  
为了尽可能简单快速地入门，本主题包括创建具有原定设置的集群和节点的步骤。在创建用于生产使用的集群和节点之前，我们建议您熟悉所有设置，并使用符合您要求的设置部署集群和节点。有关更多信息，请参阅 [创建一个 Amazon EKS 集群。](create-cluster.md) 和 [使用节点来管理计算资源](eks-compute.md)。一些设置仅在创建集群和节点时可以启用。

您可以使用下列节点类型之一创建集群。要了解有关各个类型的更多信息，请参阅 [使用节点来管理计算资源](eks-compute.md)。部署集群后，您可以添加其他节点类型。
+  **Fargate – Linux** – 如果要在 [使用 AWS Fargate 简化计算管理](fargate.md) 上运行 Linux 应用程序，请选择此类型的节点。Fargate 是一种无服务器计算引擎，允许部署 Kubernetes Pod 而不管理 Amazon EC2 实例。
+  **托管式节点 – Linux** – 如果要在 Amazon EC2 实例上运行Amazon Linux 应用程序，请选择此类型的节点。虽然本指南中未作介绍，但您还可以向集群添加 [Windows 自托管](launch-windows-workers.md)节点和 [Bottlerocket](launch-node-bottlerocket.md) 节点。

使用以下命令创建 Amazon EKS 集群。将 *my-cluster* 替换为您自己的值。名称只能包含字母数字字符（区分大小写）和连字符。该名称必须以字母数字字符开头，且不得超过 100 个字符。对于您在其中创建集群的 AWS 区域和 AWS 账户，该名称必须在其内具有唯一性。请将 *region-code* 替换为 Amazon EKS 支持的任何 AWS 区域。有关 AWS 区域列表，请参阅《AWS 一般参考》指南中的 [Amazon EKS 服务端点和配额](https://docs.aws.amazon.com/general/latest/gr/eks.html)。

**Example**  

```
eksctl create cluster --name my-cluster --region region-code --fargate
```

```
eksctl create cluster --name my-cluster --region region-code
```

创建集群需要几分钟时间。在创建过程中，您将看到几行输出。输出的最后一行类似于以下示例行。

```
[...]
[✓]  EKS cluster "my-cluster" in "region-code" region is ready
```

 `eksctl` 在 `~/.kube/config` 中创建了 `kubectl` 配置文件，或在计算机上 `~/.kube/config` 中的现有配置文件中添加了新集群的配置。

完成集群创建后，在 AWS CloudFormation [控制台](https://console.aws.amazon.com/cloudformation/) 中查看名为 `eksctl-my-cluster-cluster` 的 AWS CloudFormation 堆栈，查看创建的所有资源。

## 第 2 步：查看 Kubernetes 资源
<a name="gs-eksctl-view-resources"></a>

1. 查看您的集群节点。

   ```
   kubectl get nodes -o wide
   ```

   示例输出如下。  
**Example**  

------
#### [ Fargate - Linux ]

   ```
   NAME                                                STATUS   ROLES    AGE     VERSION              INTERNAL-IP   EXTERNAL-IP   OS-IMAGE         KERNEL-VERSION                  CONTAINER-RUNTIME
   fargate-ip-192-0-2-0.region-code.compute.internal   Ready    <none>   8m3s    v1.2.3-eks-1234567   192.0.2.0     <none>        Amazon Linux 2   1.23.456-789.012.amzn2.x86_64   containerd://1.2.3
   fargate-ip-192-0-2-1.region-code.compute.internal   Ready    <none>   7m30s   v1.2.3-eks-1234567   192-0-2-1     <none>        Amazon Linux 2   1.23.456-789.012.amzn2.x86_64   containerd://1.2.3
   ```

------
#### [ Managed nodes - Linux ]

   ```
   NAME                                        STATUS   ROLES    AGE    VERSION              INTERNAL-IP   EXTERNAL-IP   OS-IMAGE         KERNEL-VERSION                  CONTAINER-RUNTIME
   ip-192-0-2-0.region-code.compute.internal   Ready    <none>   6m7s   v1.2.3-eks-1234567   192.0.2.0     192.0.2.2     Amazon Linux 2   1.23.456-789.012.amzn2.x86_64   containerd://1.2.3
   ip-192-0-2-1.region-code.compute.internal   Ready    <none>   6m4s   v1.2.3-eks-1234567   192.0.2.1     192.0.2.3     Amazon Linux 2   1.23.456-789.012.amzn2.x86_64   containerd://1.2.3
   ```

------

   如需详细了解输出中显示的内容，请参阅 [在 AWS 管理控制台中查看 Kubernetes 资源](view-kubernetes-resources.md)。

1. 查看在集群上运行的工作负载。

   ```
   kubectl get pods -A -o wide
   ```

   示例输出如下。  
**Example**  

------
#### [ Fargate - Linux ]

   ```
   NAMESPACE     NAME                       READY   STATUS    RESTARTS   AGE   IP          NODE                                                NOMINATED NODE   READINESS GATES
   kube-system   coredns-1234567890-abcde   1/1     Running   0          18m   192.0.2.0   fargate-ip-192-0-2-0.region-code.compute.internal   <none>           <none>
   kube-system   coredns-1234567890-12345   1/1     Running   0          18m   192.0.2.1   fargate-ip-192-0-2-1.region-code.compute.internal   <none>           <none>
   ```

------
#### [ Managed nodes - Linux ]

   ```
   NAMESPACE     NAME                       READY   STATUS    RESTARTS   AGE     IP          NODE                                        NOMINATED NODE   READINESS GATES
   kube-system   aws-node-12345             1/1     Running   0          7m43s   192.0.2.1   ip-192-0-2-1.region-code.compute.internal   <none>           <none>
   kube-system   aws-node-67890             1/1     Running   0          7m46s   192.0.2.0   ip-192-0-2-0.region-code.compute.internal   <none>           <none>
   kube-system   coredns-1234567890-abcde   1/1     Running   0          14m     192.0.2.3   ip-192-0-2-3.region-code.compute.internal   <none>           <none>
   kube-system   coredns-1234567890-12345   1/1     Running   0          14m     192.0.2.4   ip-192-0-2-4.region-code.compute.internal   <none>           <none>
   kube-system   kube-proxy-12345           1/1     Running   0          7m46s   192.0.2.0   ip-192-0-2-0.region-code.compute.internal   <none>           <none>
   kube-system   kube-proxy-67890           1/1     Running   0          7m43s   192.0.2.1   ip-192-0-2-1.region-code.compute.internal   <none>           <none>
   ```

------

   如需详细了解输出中显示的内容，请参阅 [在 AWS 管理控制台中查看 Kubernetes 资源](view-kubernetes-resources.md)。

## 第 3 步：删除集群和节点
<a name="gs-eksctl-clean-up"></a>

在使用完成针对本教程而创建的集群和节点后，应使用下面的命令删除这些集群和节点，从而将它们清除。如果要在清除该集群前对其执行更多操作，请参阅 [后续步骤](#gs-eksctl-next-steps)。

```
eksctl delete cluster --name my-cluster --region region-code
```

## 后续步骤
<a name="gs-eksctl-next-steps"></a>

以下文档主题可帮助您扩展集群的此功能。
+ 将[示例应用程序](sample-deployment.md)部署到您的集群。
+ 创建集群的 [IAM 主体](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal)是唯一可以使用 `kubectl` 或 AWS 管理控制台 调用 Kubernetes API 服务器的主体。如果您希望其他 IAM 主体拥有访问您的集群的权限，您需要添加它们。有关更多信息，请参阅[向 IAM 用户和角色授予对 Kubernetes API 的访问权限](grant-k8s-access.md) 和[所需的权限](view-kubernetes-resources.md#view-kubernetes-resources-permissions)。
+ 我们建议您先熟悉[集群](create-cluster.md)和[节点](eks-compute.md)的所有设置，然后再部署集群用于生产环境。创建集群时必须进行一些设置（例如启用 SSH 访问 Amazon EC2 节点）。
+ 为了提高集群的安全性，请[配置 Amazon VPC 容器网络接口插件以将 IAM 角色用于服务账户](cni-iam-role.md)。

# 开始使用 Amazon EKS – AWS 管理控制台和 AWS CLI
<a name="getting-started-console"></a>

**注意**  
本主题介绍在**不启用** EKS 自动模式的情况下开始使用。它使用托管式节点组来部署节点。  
EKS 自动模式可自动执行集群计算、存储和联网等方面的例行任务。[了解如何开始使用 Amazon EKS 自动模式。](getting-started-automode.md)EKS 自动模式是部署节点的首选方法。

本指南帮助您创建通过 AWS 管理控制台和 AWS CLI 开始使用 Amazon Elastic Kubernetes Service（Amazon EKS）所需的所有资源。在本指南中，您将手动创建每个资源。在本教程的最后，将为您提供一个运行中的 Amazon EKS 集群，您可向其部署应用程序。

本指南中的步骤可让您完全了解每个资源的创建方式以及资源之间如何相互交互。如果您希望系统自动为您创建大部分资源，请使用 `eksctl` CLI 创建集群和节点。有关更多信息，请参阅 [开始使用 Amazon EKS – `eksctl`](getting-started-eksctl.md)。

## 先决条件
<a name="eks-prereqs"></a>

在开始使用本教程之前，您必须安装并配置创建和管理 Amazon EKS 集群所需的以下工具和资源。
+  **AWS CLI** – 与 AWS 服务（包括 Amazon EKS）结合使用的命令行工具。有关更多信息，请参阅《AWS 命令行界面用户指南》中的[安装](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)。在安装 AWS CLI 后，建议您还要对其进行配置。有关更多信息，请参阅《AWS 命令行界面用户指南》中的[使用 aws configure 快速配置](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config)。请注意，需要 AWS CLI v2 才能使用本页中显示的 **update-kubeconfig** 选项。
+  **`kubectl`** – 用于与 Kubernetes 集群一起使用的命令行工具。有关更多信息，请参阅 [设置 `kubectl` 和 `eksctl`](install-kubectl.md)。
+  **所需的 IAM 权限** – 您正在使用的 IAM 安全主体必须具有使用 Amazon EKS IAM 角色、服务相关角色、AWS CloudFormation、VPC 和相关资源的权限。有关更多信息，请参阅《IAM 用户指南》中的[操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html)和[编辑服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)。您必须以同一用户身份完成本指南中的所有步骤。要查看当前用户，请运行以下命令：

  ```
  aws sts get-caller-identity
  ```

我们建议您在 Bash Shell 中完成本主题中的步骤。如果您没有使用 Bash Shell，则某些脚本命令（例如行延续字符以及变量的设置和使用方式）需要调整 Shell。此外，您的 Shell 的引用和转义规则可能有所不同。有关更多信息，请参阅《AWS 命令行界面用户指南》中的[在 AWS CLI 中将引号和字符串结合使用](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-quoting-strings.html)。

## 第 1 步：创建 Amazon EKS 集群
<a name="eks-create-cluster"></a>

**重要**  
为了尽可能简单快速地入门，本主题包括创建具有原定设置的集群的步骤。创建用于生产用途的集群前，我们建议您熟悉所有设置，并使用符合您要求的设置部署集群。有关更多信息，请参阅 [创建一个 Amazon EKS 集群。](create-cluster.md)。一些设置仅在创建集群时可以启用。

1. 创建具有公有和私有子网且符合 Amazon EKS 要求的 Amazon VPC。请将 *region-code* 替换为 Amazon EKS 支持的任何 AWS 区域。有关 AWS 区域列表，请参阅《AWS 一般参考》指南中的 [Amazon EKS 服务端点和配额](https://docs.aws.amazon.com/general/latest/gr/eks.html)。可以将 *my-eks-vpc-stack* 替换为您任选的名称。

   ```
   aws cloudformation create-stack \
     --region region-code \
     --stack-name my-eks-vpc-stack \
     --template-url https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml
   ```
**提示**  
如需查看上一个命令创建的所有资源的列表，请打开 AWS CloudFormation 控制台（https://console.aws.amazon.com/cloudformation/）。选择 *my-eks-vpc-stack* 堆栈，然后选择 **Resources**（资源）选项卡。

1. 创建一个集群 IAM 角色，并将所需的 Amazon EKS IAM 托管式策略附加到该角色。Amazon EKS 托管的 Kubernetes 集群会代表您调用其他AWS服务，以管理您用于该服务的资源。

   1. 将以下内容复制到名为 *eks-cluster-role-trust-policy.json* 的文件中。

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
              "Service": "eks.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
          }
        ]
      }
      ```

   1. 创建角色。

      ```
      aws iam create-role \
        --role-name myAmazonEKSClusterRole \
        --assume-role-policy-document file://"eks-cluster-role-trust-policy.json"
      ```

   1. 将所需的 Amazon EKS 托管 IAM policy 附加到角色。

      ```
      aws iam attach-role-policy \
        --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy \
        --role-name myAmazonEKSClusterRole
      ```

1. 访问 [https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters) 打开 Amazon EKS 控制台。

   确保在 AWS 控制台右上角显示的区域是您要在其中创建集群的 AWS 区域。如果不是，请选择 AWS 区域名称旁边的下拉菜单，然后选择要使用的 AWS 区域。

1. 选择**创建集群**。如果没有看到此选项，请先选择左侧导航面板中的**集群**。

1. 在 **Configure cluster**（配置集群）页面上，请执行以下操作：

   1. 选择**自定义配置**并禁用**使用 EKS 自动模式**。（如果您更喜欢 EKS 自动模式集群，请参阅[使用 AWS 管理控制台创建 EKS 自动模式集群](automode-get-started-console.md)。）

   1. 输入集群的**名称**，例如 *my-cluster*。名称只能包含字母数字字符（区分大小写）和连字符。该名称必须以字母数字字符开头，且不得超过 100 个字符。对于您在其中创建集群的 AWS 区域和 AWS 账户，该名称必须在其内具有唯一性。

   1. 对于 **Cluster Service Role**（集群服务角色），请选择 *myAmazonEKSClusterRole*。

   1. 其余设置保留为默认值，然后选择 **Next**（下一步）。

1. 在 **Specify networking**（指定联网）页面中，请执行以下操作：

   1. 请从 **VPC** 下拉列表中选择在上一步创建的 VPC ID。它类似于 *\$1 \$1 my-eks-vpc-stack-VPC*。

   1. 请从**子网**下拉列表中选择在上一步创建的子网。子网类似于 *\$1 \$1 my-eks-vpc-stack-\$1*。

   1. 请从**其他安全组**下拉列表中选择在上一步创建的安全组。安全组类似于 *\$1 \$1 my-eks-vpc-stack-ControlPlaneSecurityGroup-\$1*。

   1. 其余设置保留为默认值，然后选择 **Next**（下一步）。

1. 在**配置可观测性**页面上，选择**下一步**。

1. 在**选择附加组件**页中，选择**下一个**。

   有关附加组件的更多信息，请参阅 [Amazon EKS 附加组件](eks-add-ons.md)。

1. 在**配置选定的附加组件设置**页面上，选择**下一个**。

1. 在**审核和创建**页面，选择**创建**。

   集群名称右侧的集群状态会保持为**正在创建**几分钟，直至集群调配过程完成。在该状态变为**有效**之前，请勿继续执行下一步。
**注意**  
您可能会收到一个错误，指示请求中的可用区之一没有足够容量来创建 Amazon EKS 集群。如果发生这种情况，错误输出将包含可支持新集群的可用区。再次尝试使用至少两个位于您账户中支持的可用区的子网创建集群。有关更多信息，请参阅 [容量不足](troubleshooting.md#ice)。

## 第 2 步：将计算机配置为与您的集群通信
<a name="eks-configure-kubectl"></a>

在本部分中，您将为集群创建一个 `kubeconfig` 文件。此文件中的设置会启用 `kubectl` CLI 与您的集群进行通信。

在继续操作之前，请确保您已在步骤 1 中成功完成集群创建。

1. 为集群创建或更新 `kubeconfig` 文件。将 *region-code* 替换为您要在其中创建集群的 AWS 区域。将 *my-cluster* 替换为您的集群的名称。

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

   默认情况下，`config` 文件创建在 `~/.kube` 中或者新集群的配置已添加到 `~/.kube` 的现有 `config` 文件中。

1. 测试配置。

   ```
   kubectl get svc
   ```
**注意**  
如果您收到任何授权或资源类型错误，请参阅故障排除主题中的 [未经授权或访问被拒绝 (`kubectl`)](troubleshooting.md#unauthorized)。

   示例输出如下。

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

## 第 3 步：创建节点
<a name="eks-launch-workers"></a>

**重要**  
为了尽可能简单快速地入门，本主题包含了大部分使用默认设置创建节点的步骤。在创建用于生产用途的节点之前，我们建议您熟悉所有设置，并使用符合您要求的设置部署节点。有关更多信息，请参阅 [使用节点来管理计算资源](eks-compute.md)。一些设置仅在创建节点时可以启用。

此过程将集群配置为使用托管式节点组来创建节点，指定您在之前步骤中创建的子网和节点 IAM 角色。这让您可以在 Amazon EC2 实例上运行 Amazon Linux 应用程序。

要详细了解在 EKS 中配置节点的不同方法，请参阅[使用节点来管理计算资源](eks-compute.md)。部署集群后，您可以添加其他节点类型。虽然本指南中未作介绍，但您还可以向集群添加 [Windows 自托管节点](launch-windows-workers.md)和 [Bottlerocket](launch-node-bottlerocket.md) 节点。

 **创建 EC2 Linux 托管节点组** 

1. 创建节点 IAM 角色并向其附加所需的 Amazon EKS IAM 托管策略。Amazon EKS 节点 `kubelet` 守护进程代表您调用 AWS API。节点通过 IAM 实例配置文件和关联的策略获得这些 API 调用的权限。

   1. 将以下内容复制到名为 `node-role-trust-policy.json` 的文件中。

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
              "Service": "ec2.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
          }
        ]
      }
      ```

   1. 创建节点 IAM 角色。

      ```
      aws iam create-role \
        --role-name myAmazonEKSNodeRole \
        --assume-role-policy-document file://"node-role-trust-policy.json"
      ```

   1. 将所需的托管 IAM policy 附加到角色。

      ```
      aws iam attach-role-policy \
        --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy \
        --role-name myAmazonEKSNodeRole
      aws iam attach-role-policy \
        --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly \
        --role-name myAmazonEKSNodeRole
      aws iam attach-role-policy \
        --policy-arn arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy \
        --role-name myAmazonEKSNodeRole
      ```

   1. 从以下位置打开 Amazon EKS 控制台：[https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters)。

   1. 选择您在[步骤 1：创建 Amazon EKS 集群](#eks-create-cluster)中创建的集群的名称，例如 *my-cluster*。

   1. 在 ***my-cluster*** 页面上，请执行以下操作：

   1. 请选择 **Compute**（计算）选项卡。

   1. 请选择 **Add Node Group**（添加节点组）。

1. 在 **Configure Node Group**（配置节点组）页面上，请执行以下操作：

   1. 对于**名称**，输入托管节点组的唯一名称，例如 *my-nodegroup*。节点组名称的长度不能超过 63 个字符。它必须以字母或数字开头，但也可以包括其余字符的连字符和下划线。

   1. 对于 **Node IAM role name**（节点 IAM 角色名称），请选择您在上一步中创建的 *myAmazonEKSNodeRole* 角色。我们建议让每个节点组使用各自的唯一 IAM 角色。

   1. 选择**下一步**。

1. 请在 **Set compute and scaling configuration**（设置计算和扩缩配置）页面上，接受默认值并选择 **Next**（下一步）。

1. 请在 **Specify networking**（指定联网）页面，接受默认值，选择 **Next**（下一步）。

1. 在 **Review and create (审核并创建)** 页面上，审核托管节点组配置并选择 **Create (创建)**。

1. 几分钟后，**Node Group configuration（节点组配置）**部分中的 **Status（状态）**将从 **Creating（正在创建）**变为 **Active（有效）**。在该状态变为**有效**之前，请勿继续执行下一步。

## 第 4 步：查看资源
<a name="gs-view-resources"></a>

您可以查看节点和 Kubernetes 工作负载。

1. 在左侧导航窗格中，选择**集群**。在 **Clusters**（集群）列表中，选择您创建的集群名称，例如 *my-cluster*。

1. 在 ***my-cluster*** 页面上，选择以下选项：

   1.  **计算**选项卡：您可以看到为集群部署的**节点**列表。您可以选择节点的名称以查看有关该节点的详细信息。

   1.  **资源**选项卡 – 您将看到默认情况下部署到 Amazon EKS 集群的所有 Kubernetes 资源。在控制台中选择任何资源类型以了解有关它的更多信息。

## 第 5 步：删除资源
<a name="gs-console-clean-up"></a>

在使用完成针对本教程而创建的集群和节点后，应删除这些资源。如果要在删除资源前对此集群执行更多操作，请参阅 [后续步骤](#gs-console-next-steps)。

1. 删除您创建的任何节点组配置文件。

   1. 访问 [https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters) 打开 Amazon EKS 控制台。

   1. 在左侧导航窗格中，选择**集群**。请在集群列表中，选择 *my-cluster*。

   1. 请选择 **Compute**（计算）选项卡。

   1. 如果您创建了节点组，请选择 *my-nodegroup* 节点组，然后选择 **Delete**（删除）。输入 *my-nodegroup*，然后选择**删除**。

   1. 在节点组配置文件删除后再继续操作。

1. 请删除集群。

   1. 在左侧导航窗格中，选择**集群**。请在集群列表中，选择 *my-cluster*。

   1. 选择**删除集群**。

   1. 输入 *my-cluster*，然后选择**删除**。在集群删除后再继续操作。

1. 删除创建的 VPC AWS CloudFormation 堆栈。

   1. 通过以下网址打开 CloudFormation 控制台：https://console.aws.amazon.com/cloudformation/。

   1. 请选择 *my-eks-vpc-stack* 堆栈，然后选择 **Delete**（删除）。

   1. 在**删除 *my-eks-vpc-stack*** 确认对话框中，选择**删除堆栈**。

1. 删除您创建的 IAM 角色。

   1. 通过 https://console.aws.amazon.com/iam/ 打开 IAM 控制台。

   1. 在左侧导航窗格中，选择 **角色**。

   1. 请从列表中选择您创建的每个角色（***myAmazonEKSClusterRole*** 以及 *myAmazonEKSNodeRole*）。请选择 **Delete**（删除），输入请求的确认文本，然后选择 **Delete**（删除）。

## 后续步骤
<a name="gs-console-next-steps"></a>

以下文档主题可帮助您扩展集群的此功能。
+ 创建集群的 [IAM 主体](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal)是唯一可以使用 `kubectl` 或 AWS 管理控制台 调用 Kubernetes API 服务器的主体。如果您希望其他 IAM 主体拥有访问您的集群的权限，您需要添加它们。有关更多信息，请参阅[向 IAM 用户和角色授予对 Kubernetes API 的访问权限](grant-k8s-access.md)和[所需的权限](view-kubernetes-resources.md#view-kubernetes-resources-permissions)。
+ 将[示例应用程序](sample-deployment.md)部署到您的集群。
+ 在部署集群用于生产用途前，我们建议您熟悉[集群](create-cluster.md)和[节点](eks-compute.md)的所有设置。创建集群时必须进行一些设置（例如启用 SSH 访问 Amazon EC2 节点）。
+ 为了提高集群的安全性，请[配置 Amazon VPC 容器网络接口插件以将 IAM 角色用于服务账户](cni-iam-role.md)。