

 **協助改進此頁面** 

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

若要為本使用者指南貢獻內容，請點選每個頁面右側面板中的**在 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)：本入門指南可協助您安裝將 Amazon EKS 和 `eksctl` 搭配使用所需的所有資源，後者是簡單的命令列公用程式，可用於在 Amazon EKS 上建立和管理 Kubernetes 叢集。教學結束時，您將擁有一個執行中的 Amazon EKS 叢集，而您可以在其中部署應用程式。這是 Amazon EKS 入門的最快且最簡易的方式。
+  [Amazon EKS 入門– AWS 管理主控台 和 AWS CLI](getting-started-console.md)：本入門指南可協助您使用 AWS 管理主控台 和 AWS 建立 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 自動模式建立叢集：
+  [使用 CLI AWS 建立 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 接管額外的叢集管理責任，其中包括設定元件以：
+ 隨著工作負載需求增加和減少，啟動及擴展節點。
+ 定期升級叢集本身 (控制平面)、節點作業系統以及在節點上執行的服務。
+ 選擇預設設定，以決定節點儲存的大小和速度以及 Pod 網路組態等事項。

如需您可使用 EKS 自動模式叢集執行之動作的詳細資訊，請參閱 [利用 EKS 自動模式自動運作叢集基礎設施](automode.md)。

# Amazon EKS 入門 – `eksctl`
<a name="getting-started-eksctl"></a>

**注意**  
本主題涵蓋**不使用** EKS 自動模式時的入門。  
EKS 自動模式會自動執行用於叢集運算、儲存和聯網的例行任務。[了解如何開始使用 Amazon EKS 自動模式。](getting-started-automode.md)

本指南可協助您安裝在將 Amazon Elastic Kubernetes Service (Amazon EKS) 和 `eksctl` 搭配使用所需的所有資源，後者是簡單的命令列公用程式，可用於在 Amazon EKS 上建立和管理 Kubernetes 叢集。此教學結束時，您將擁有一個執行中的 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 帳戶中，該名稱必須是唯一的。使用 Amazon EKS 支援的任何 AWS 區域取代 *region-code*。如需 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
   ```

------

   如需您在輸出中看到之內容的詳細資訊，請參閱 [在 中檢視 Kubernetes 資源 AWS 管理主控台](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>
   ```

------

   如需您在輸出中看到之內容的詳細資訊，請參閱 [在 中檢視 Kubernetes 資源 AWS 管理主控台](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 APIs存取權](grant-k8s-access.md)及[所需的許可](view-kubernetes-resources.md#view-kubernetes-resources-permissions)。
+ 部署叢集以供生產使用之前，建議您先熟悉[叢集](create-cluster.md)和[節點](eks-compute.md)的所有設定。建立叢集時，必須進行某些設定 (例如啟用對 Amazon EC2 節點的 SSH 存取)。
+ 若要提高叢集的安全性，可[將 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 管理主控台 和 CLI 開始使用 Amazon Elastic Kubernetes Service AWS (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)。安裝 CLI AWS 之後，建議您也進行設定。如需詳細資訊，請參閱《 AWS 命令列界面使用者指南》中的[具有 aws 設定的快速組態](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config)。請注意，使用此頁面中顯示的 **update-kubeconfig** 選項需要 AWS CLI v2。
+  ** `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
   ```
**提示**  
如需上一個命令建立的所有資源清單，請開啟位於 https：//https://console.aws.amazon.com/cloudformation/ 的 AWS 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 政策連接到角色。

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

1. 在以下網址開啟 Amazon EKS 主控台：[https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters)。

   請確定主控台右上角顯示的 AWS 區域是您要建立叢集 AWS 的區域。如果不是，請選擇 AWS 區域名稱旁的下拉式清單，然後選擇您要使用的 AWS 區域。

1. 選擇 **Create Cluster** (建立叢集)。如果沒有看到這個選項，請先在左側導覽窗格中選擇**叢集**。

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. 在 **Review and create** (檢閱和建立) 頁面上，選取 **Create** (建立)。

   叢集名稱右側的叢集狀態會顯示**建立中**幾分鐘，直到叢集佈建程序完成為止。在狀態為**作用中**之前不要進行下一個步驟。
**注意**  
您可能會收到錯誤，表示在請求中的其中一個可用區域沒有足夠的容量可建立 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
   ```

   根據預設，已在 `~/.kube` 建立了 `config` 檔案，或者已將新叢集的組態新增至 `~/.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 APIs。節點透過 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 政策連接到角色。

      ```
      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.  **Compute** (運算) 標籤 – 您可以看到為叢集部署的 **Nodes** (節點) 清單。您可以選取節點的名稱，以查看有關節點的詳細資訊。

   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. 選擇 **Delete cluster (刪除叢集)**。

   1. 輸入 *my-cluster*，然後選擇**刪除**。刪除叢集後再繼續。

1. 刪除您建立的 VPC AWS CloudFormation 堆疊。

   1. 開啟位在 https://console.aws.amazon.com/cloudformation/ 的 CloudFormation​ 主控台。

   1. 選取 *my-eks-vpc-stack* 堆疊，然後選擇 **Delete** (刪除)。

   1. 在 **刪除 *my-eks-vpc-stack*** 確認對話方塊中，選擇**刪除堆疊**。

1. 刪除您建立的 IAM 角色。

   1. 前往 https://console.aws.amazon.com/iam/ 開啟 IAM 主控台。

   1. 在左側導覽窗格中，選擇 **Roles** (角色)。

   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 APIs存取權](grant-k8s-access.md)及[所需的許可](view-kubernetes-resources.md#view-kubernetes-resources-permissions)。
+ 將[範例應用程式](sample-deployment.md)部署至叢集。
+ 部署叢集以供生產使用之前，建議您先熟悉[叢集](create-cluster.md)和[節點](eks-compute.md)的所有設定。建立叢集時，必須進行某些設定 (例如啟用對 Amazon EC2 節點的 SSH 存取)。
+ 若要提高叢集的安全性，可[將 Amazon VPC 容器聯網介面外掛程式設定為使用服務帳戶的 IAM 角色](cni-iam-role.md)。