

 **協助改進此頁面** 

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

若要為本使用者指南貢獻內容，請點選每個頁面右側面板中的**在 GitHub 上編輯此頁面**連結。

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

# 建立叢集的受管節點群組
<a name="create-managed-node-group"></a>

本主題會描述如何啟動已向 Amazon EKS 叢集註冊的節點的 Amazon EKS 受管節點群組。節點加入叢集後，您就可以將 Kubernetes 應用程式部署至其中。

如果這是您第一次啟動 Amazon EKS 受管節點群組，建議您改為按照其中一個 [開始使用 Amazon EKS](getting-started.md) 指南的步驟進行。這些指南提供建立具有節點的 Amazon EKS 叢集的演練。

**重要**  
Amazon EKS 節點是標準的 Amazon EC2 執行個體。我們會根據正常 Amazon EC2 價格向您收費。如需詳細資訊，請參閱 [Amazon EC2 定價](https://aws.amazon.com/ec2/pricing/)。
您無法在已啟用 AWS Outposts 或 Wavelength AWS 的 AWS 區域中建立受管節點。您可改為建立自我管理的節點。如需詳細資訊，請參閱[建立自我管理的 Amazon Linux 節點](launch-workers.md)、[建立自我管理的 Microsoft Windows 節點](launch-windows-workers.md)及[建立自我管理的 Bottlerocket 節點](launch-node-bottlerocket.md)。您也可以在 Outpost 上建立自我管理的 Amazon Linux 節點群組。如需詳細資訊，請參閱[在 AWS Outpost 上建立 Amazon Linux 節點](eks-outposts-self-managed-nodes.md)。
如果您沒有為 Amazon EKS 最佳化 Linux 或 Bottlerocket 隨附的 `bootstrap.sh` 檔案[指定 AMI ID](launch-templates.md#launch-template-custom-ami)，則受管節點群組會對 `maxPods` 的值強制執行數量上限。對於少於 30 個 vCPU 的執行個體，數量上限為 `110`。對於具有 30 個以上 vCPU 的執行個體，數量上限會跳至 `250`。此強制執行會覆寫其他`maxPods`組態，包括 `maxPodsExpression`。如需如何`maxPods`確定以及如何自訂它的詳細資訊，請參閱 [maxPods的判斷方式](choosing-instance-type.md#max-pods-precedence)。
+ 現有 Amazon EKS 叢集。若要部署叢集，請參閱 [建立 Amazon EKS 叢集](create-cluster.md)。
+ 供節點使用的現有 IAM 角色。若要建立服務角色，請參閱[Amazon EKS 節點 IAM 角色](create-node-role.md)。如果此角色沒有任何 VPC CNI 的政策，則 VPC CNI Pod 需要以下個別角色。
+ (選用，但建議) Kubernetes 專用 Amazon VPC CNI 外掛程式的附加元件設定有自己的 IAM 角色，該角色已連接必要的 IAM 政策。如需詳細資訊，請參閱[設定 Amazon VPC CNI 外掛程式以使用 IRSA](cni-iam-role.md)。
+ 熟悉[選擇最佳 Amazon EC2 節點執行個體類型](choosing-instance-type.md)中所列的考量事項。取決於您選擇的執行個體類型，您的叢集和 VPC 可能還有其他先決條件。
+ 若要新增 Windows 受管節點群組，您必須先啟用叢集的 Windows 支援。如需詳細資訊，請參閱[在 EKS 叢集上部署 Windows 節點](windows-support.md)。

您可以透過以下任一項來建立受管節點群組：
+  [`eksctl`](#eksctl_create_managed_nodegroup) 
+  [AWS 管理主控台](#console_create_managed_nodegroup) 

## `eksctl`
<a name="eksctl_create_managed_nodegroup"></a>

 **使用 eksctl 建立受管節點群組** 

此程序需要 `eksctl` 版本 `0.215.0` 或更新版本。您可使用以下命令檢查您的版本：

```
eksctl version
```

如需有關安裝或更新 `eksctl` 的指示，請參閱 `eksctl` 文件中的 [Installation](https://eksctl.io/installation) 一節。

1. (選用) 如果 **AmazonEKS\$1CNI\$1Policy** 受管 IAM 政策已連接至您的 [Amazon EKS 節點 IAM 角色](create-node-role.md)，建議您改為將其指派給您與 Kubernetes `aws-node` 服務帳戶相關聯的 IAM 角色。如需詳細資訊，請參閱[設定 Amazon VPC CNI 外掛程式以使用 IRSA](cni-iam-role.md)。

1. 使用或不使用自訂啟動範本來建立受管節點群組。手動指定啟動範本可讓您更靈活地自訂節點群組。例如，此方式可以允許部署自訂 AMI，或對 Amazon EKS 最佳化 AMI 中的 `boostrap.sh` 指令碼提供引數。如需每個可用選項和預設值的完整清單，請輸入以下命令。

   ```
   eksctl create nodegroup --help
   ```

   在以下命令中，將 *my-cluster* 取代為您的叢集名稱，並將 *my-mng* 取代為您的節點群組名稱。節點群組名稱不可超過 63 個字元。它必須以字母或數字開頭，但剩餘字元也可以包含連字符和底線。
**重要**  
如果在第一次建立受管的節點群組時未使用自訂啟動範本，請勿在之後針對節點群組使用自訂啟動範本。如果沒有指定自訂啟動範本，系統會自動產生啟動範本 (不建議手動修改該範本)。手動修改此自動產生的啟動範本可能會導致錯誤。

 **沒有啟動範本** 

 `eksctl` 會在您的帳戶中建立預設 Amazon EC2 啟動範本，並使用根據您指定之選項建立的啟動範本來部署節點群組。指定 `--node-type` 的值之前，請參閱 [選擇最佳的 Amazon EC2 節點執行個體類型](choosing-instance-type.md)。

使用允許的關鍵字取代 *ami-family*。如需詳細資訊，請參閱 `eksctl` 文件中的 [Setting the node AMI Family](https://eksctl.io/usage/custom-ami-support/#setting-the-node-ami-family) (設定節點 AMI 系列)。使用 Amazon EC2 金鑰對或公有金鑰的名稱取代 *my-key*。此金鑰會在節點啟動後用於將 SSH 套用至節點。

**注意**  
對於 Windows，此命令不會啟用 SSH。而是將 Amazon EC2 金鑰對與執行個體建立關聯，讓您可以 RDP 至該執行個體中。

如果您還沒有 Amazon EC2 金鑰對，可以在 AWS 管理主控台中建立一個。如需 Linux 資訊，請參閱《*Amazon EC2 使用者指南*》中的 [Amazon EC2 使用者指南](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)。如需 Windows 資訊，請參閱《*Amazon EC2 使用者指南*》中的 [Amazon EC2 金鑰對和 Windows 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-key-pairs.html)。

如果下列條件為真，我們建議封鎖 Pod 對 IMDS 的存取：
+ 您計劃將 IAM 角色指派給您的所有 Kubernetes 服務帳戶，以便 Pod 僅具有所需的最低許可。
+ 叢集中沒有任何 Pod 因其他原因需要存取 Amazon EC2 執行個體中繼資料服務 (IMDS)，例如擷取目前 AWS 區域。

如需詳細資訊，請參閱[‬限制存取指派給工作節點的執行個體設定檔‭](https://aws.github.io/aws-eks-best-practices/security/docs/iam/#restrict-access-to-the-instance-profile-assigned-to-the-worker-node)。

如果要封鎖 Pod 對 IMDS 的存取，請將 `--disable-pod-imds` 選項新增至下列命令。

```
eksctl create nodegroup \
  --cluster my-cluster \
  --region region-code \
  --name my-mng \
  --node-ami-family ami-family \
  --node-type m5.large \
  --nodes 3 \
  --nodes-min 2 \
  --nodes-max 4 \
  --ssh-access \
  --ssh-public-key my-key
```

您的執行個體可以選擇性地為 Pod 指派更多的 IP 位址、將 IP 位址指派給不同於執行個體之 CIDR 區塊的 Pod，以及在沒有網際網路存取的情況下部署到叢集。如需詳細資訊，請參閱 [將更多 IP 位址指派給具有字首的 Amazon EKS 節點](cni-increase-ip-addresses.md)、[使用自訂聯網在替代子網路中部署 Pod](cni-custom-network.md) 和 [部署網際網路存取受到限制的私有叢集](private-clusters.md) 以取得要新增至之前命令的其他選項。

受管節點群組會根據執行個體類型，計算並套用可在節點群組的每個節點上執行的 Pod 數量上限的單一數值。如果建立建具有不同執行個體類型的節點群組，則在所有執行個體類型中計算的最小值，會應用為可以在節點群組中的每種執行個體類型上執行的 Pod 數量上限。受管節點群組使用 中參考的指令碼來計算數值。

 **使用啟動範本** 

啟動範本必須已經存在，且必須符合[啟動範本組態基礎知識](launch-templates.md#launch-template-basics)中指定的要求。如果下列條件為真，我們建議封鎖 Pod 對 IMDS 的存取：
+ 您計劃將 IAM 角色指派給您的所有 Kubernetes 服務帳戶，以便 Pod 僅具有所需的最低許可。
+ 叢集中沒有任何 Pod 因其他原因需要存取 Amazon EC2 執行個體中繼資料服務 (IMDS)，例如擷取目前 AWS 區域。

如需詳細資訊，請參閱[‬限制存取指派給工作節點的執行個體設定檔‭](https://aws.github.io/aws-eks-best-practices/security/docs/iam/#restrict-access-to-the-instance-profile-assigned-to-the-worker-node)。

如果您要封鎖 Pod 對 IMDS 的存取，則請在啟動範本中指定必要的設定。

1. 將以下內容複製到您的裝置。取代範例值，然後執行修改後的命令來建立 `eks-nodegroup.yaml` 檔案。在不使用啟動範本的情況下部署時指定的數個設定會移至啟動範本。如果您未指定 `version`，即使用範本的預設版本。

   ```
   cat >eks-nodegroup.yaml <<EOF
   apiVersion: eksctl.io/v1alpha5
   kind: ClusterConfig
   metadata:
     name: my-cluster
     region: region-code
   managedNodeGroups:
   - name: my-mng
     launchTemplate:
       id: lt-id
       version: "1"
   EOF
   ```

   如需 `eksctl` 組態檔案設定的完整清單，請參閱 `eksctl` 文件中的[組態檔案結構描述](https://eksctl.io/usage/schema/)。您的執行個體可以選擇性地為 Pod 指派更多的 IP 位址、將 IP 位址指派給不同於執行個體之 CIDR 區塊的 Pod，以及在沒有傳出網際網路存取的情況下部署到叢集。如需詳細資訊，請參閱適用於新增至組態檔案之其他選項的 [將更多 IP 位址指派給具有字首的 Amazon EKS 節點](cni-increase-ip-addresses.md)、[使用自訂聯網在替代子網路中部署 Pod](cni-custom-network.md) 和 [部署網際網路存取受到限制的私有叢集](private-clusters.md)。

   如果未在啟動範本中指定 AMI ID，受管節點群組會根據執行個體類型，計算並套用可在節點群組的每個節點上執行的 Pod 數量上限的單一數值。如果建立建具有不同執行個體類型的節點群組，則在所有執行個體類型中計算的最小值，會應用為可以在節點群組中的每種執行個體類型上執行的 Pod 數量上限。受管節點群組使用 中參考的指令碼來計算數值。

   如果在啟動範本中指定了 AMI ID，而且正使用[自訂聯網](cni-custom-network.md)或想[增加指派給執行個體的 IP 位址數量](cni-increase-ip-addresses.md)，請指定可在節點群組的每個節點上執行的 Pod 數量上限。如需詳細資訊，請參閱。

1. 使用下列命令部署節點群組。

   ```
   eksctl create nodegroup --config-file eks-nodegroup.yaml
   ```

## AWS 管理主控台
<a name="console_create_managed_nodegroup"></a>

 **使用 AWS 管理主控台 建立受管節點群組** 

1. 等待您的叢集狀態顯示為 `ACTIVE`。您無法針對尚未進入 `ACTIVE` 狀態的叢集建立受管節點群組。

1. 開啟 [Amazon EKS 主控台](https://console.aws.amazon.com/eks/home#/clusters)。

1. 選擇要在其中建立受管節點群組的叢集名稱。

1. 選取 **Compute** (運算) 標籤。

1. 選擇 **Add node group** (新增節點群組)。

1. 在 **Configure node group (配置節點群組)** 頁面上，相應地填寫參數，然後選擇 **Next (下一步)**。
   +  **Name** (名稱) – 輸入受管節點群組的唯一名稱。節點群組名稱不可超過 63 個字元。它必須以字母或數字開頭，但剩餘字元也可以包含連字符和底線。
   +  **Node IAM role** (節點 IAM 角色)：選擇要與節點群組搭配使用的節點執行個體角色。如需詳細資訊，請參閱[Amazon EKS 節點 IAM 角色](create-node-role.md)。
**重要**  
您無法使用用於建立任何叢集的相同角色。
建議使用尚未被任何自我管理節點群組使用的角色。否則，您要計劃與新的自我管理節點組一起使用。如需詳細資訊，請參閱[從您的叢集刪除受管節點群組](delete-managed-node-group.md)。
   +  **Use launch template** (使用啟動範本)：(選用) 選擇是否要使用現有的啟動範本。選取**啟動範本名稱**。然後，選取 **Launch template version** (啟動範本版本)。如果您沒有選取版本，則 Amazon EKS 會使用範本的預設版本。啟動範本允許對節點群組進行更多自訂，如允許您部署自訂 AMI、為 Pod 指派更多的 IP 位址、將 IP 位址指派給不同於執行個體之 CIDR 區塊的 Pod，以及將節點部署至沒有出站網際網路存取的叢集。如需詳細資訊，請參閱[將更多 IP 位址指派給具有字首的 Amazon EKS 節點](cni-increase-ip-addresses.md)、[使用自訂聯網在替代子網路中部署 Pod](cni-custom-network.md)及[部署網際網路存取受到限制的私有叢集](private-clusters.md)。

     啟動範本必須滿足[透過啟動範本來自訂受管節點](launch-templates.md)中的要求。如果您不使用自己的啟動範本，Amazon EKS API 會在您的帳戶中建立預設的 Amazon EC2 啟動範本，並使用預設啟動範本部署節點群組。

     如果您[為服務帳戶實作 IAM 角色](iam-roles-for-service-accounts.md)，請直接將必要的許可指派給需要存取 AWS 服務的每個 Pod，而且叢集中沒有任何 Pod 需要存取 IMDS，例如擷取目前 AWS 區域，則您也可以停用在啟動範本中未使用主機聯網之 Pod 的 IMDS 存取權。如需詳細資訊，請參閱[‬限制存取指派給工作節點的執行個體設定檔‭](https://aws.github.io/aws-eks-best-practices/security/docs/iam/#restrict-access-to-the-instance-profile-assigned-to-the-worker-node)。
   +  **Kubernetes labels** (Kubernetes 標籤) – (選用) 您可以選擇將 Kubernetes 標籤套用至受管節點群組中的節點。
   +  **Kubernetes 污點** – (選用) 您可以選擇將 Kubernetes 污點套用至受管節點群組中的節點。**Effect** (效果) 功能表中的可用選項是 ` NoSchedule `、` NoExecute ` 及 ` PreferNoSchedule `。如需詳細資訊，請參閱[配方：阻止在特定節點上排程 Pod](node-taints-managed-node-groups.md)。
   +  **Tags** (標籤) – (選用) 您可以選擇標記 Amazon EKS 受管節點群組。這些標籤不會傳播到節點群組中的其他資源，例如 Auto Scaling 群組或執行個體。如需詳細資訊，請參閱[使用標籤組織 Amazon EKS 資源](eks-using-tags.md)。

1. 在 **Set compute and scaling configuration** (設定運算和擴展組態) 頁面上，相應地填寫參數，然後選擇 **Next** (下一步)。
   +  **AMI 類型**：選取 AMI 類型。如果您在部署 Arm 執行個體，請務必在部署前檢閱 [Amazon EKS 最佳化 Arm Amazon Linux AMI](eks-optimized-ami.md#arm-ami) 中的考量事項。

     如果您在上一頁中已指定啟動範本，並在啟動範本中指定了 AMI，則無法選取值。系統會顯示範本中的值。範本中指定的 AMI 必須符合[指定 AMI](launch-templates.md#launch-template-custom-ami) 中的要求。
   +  **Capacity type** (容量類型) – 選取容量類型。如需選擇容量類型的詳細資訊，請參閱 [受管節點群組容量類型](managed-node-groups.md#managed-node-group-capacity-types)。您無法在同一節點群組中混合使用不同的容量類型。如果要同時使用這兩種容量類型，請建立個別的節點群組，每個群組都有自己的容量和執行個體類型。有關佈建和擴展 GPU 加速工作節點的資訊，請參閱[為受管節點群組保留 GPU](https://docs.aws.amazon.com/eks/latest/userguide/capacity-blocks-mng.html)。
   +  **Instance types** (執行個體類型)：依預設會指定一或多個執行個體類型。若要移除預設執行個體類型，請選取執行個體類型的右側的 `X`。選擇要在受管節點群組中使用的執行個體類型。如需詳細資訊，請參閱[選擇最佳的 Amazon EC2 節點執行個體類型](choosing-instance-type.md)。

     主控台會顯示一組常用的執行個體類型。如果您需要使用未顯示的執行個體類型建立受管節點群組，請使用 `eksctl`、 CLI、 AWS CloudFormation AWS 或 SDK 來建立節點群組。如果您在上一頁指定了啟動範本，則無法選取值，因為必須在啟動範本中指定執行個體類型。系統會顯示啟動範本中的值。如果為 **Capacity type** (容量類型) 選取了 **Spot**，則建議您指定多個執行個體類型以增強可用性。
   +  **Disk size** (磁碟大小) – 輸入要用於節點根磁碟區的磁碟大小 (以 GiB 為單位)。

     如果您在上一頁指定了啟動範本，則無法選取值，因為必須在啟動範本中指定該值。
   +  **Desired size** (所需大小) – 指定受管節點群組目前在啟動時應該維護的節點數量。
**注意**  
Amazon EKS 不會自動擴展或縮減您的節點群組。不過，您可以設定 Kubernetes Cluster Autoscaler 為您執行這項操作。如需詳細資訊，請參閱 [Cluster Autoscaler on AWS](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md)。
   +  **Minimum size** (大小下限) – 指定受管節點群組可縮減至的節點數量下限。
   +  **Maximum size** (大小上限)：指定受管節點群組可擴增至的節點數量上限。
   +  **Node group update configuration** (節點群組更新組態) – (選用) 您可以選取要平行更新的節點數量或百分比。這些節點在更新期間將無法使用。對於 **Maximum unavailable** (無法使用的上限)，選取下列其中一個選項，然後指定 **Value** (值)：
     +  **Number** (數量)：選取並指定可平行更新節點群組的節點數量。
     +  **Percentage** (百分比)：選取並指定可平行更新節點群組的節點百分比。如果您的節點群組中有大量節點，這會很有用。
   +  **節點自動修復組態** - (選用) 如果您啟用**啟用節點自動修復**核取方塊，Amazon EKS 將在偵測到問題發生時自動取代節點。如需詳細資訊，請參閱[偵測節點運作狀態問題並啟用自動節點修復](node-health.md)。

1. 在 **Specify networking** (指定聯網) 頁面上，據此填寫參數，然後選擇 **Next** (下一步)。
   +  **Subnets** (子網路)：選擇要將受管節點啟動至其中的子網路。
**重要**  
如果您跨越多個由 Amazon EBS 磁碟區提供的可用區域執行狀態應用程式，並且使用 Kubernetes [Cluster Autoscaler](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md)，您應該設定多個節點群組，每個群組的範圍皆為單一可用區域。另外，您應該啟用 `--balance-similar-node-groups` 功能。
**重要**  
如果選擇公有子網路，而且您的叢集只啟用了公有 API 伺服器端點，則子網路的必須將 `MapPublicIPOnLaunch` 設定為 `true`，讓執行個體成功加入叢集。如果子網路是在 2020 年 3 月 26 日或之後使用 `eksctl`或 [Amazon EKS vended AWS CloudFormation 範本](creating-a-vpc.md)建立，則此設定已設定為 `true`。如果在 2020 年 3 月 26 日之前使用 `eksctl`或 AWS CloudFormation 範本建立子網路，則需要手動變更設定。如需詳細資訊，請參閱[修改子網的公有 IPv4 定址屬性](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#subnet-public-ip)。
如果使用啟動範本並指定多個網路介面，Amazon EC2 便不會自動指派公有 `IPv4` 位址，即使 `MapPublicIpOnLaunch` 已設定為 `true`。對於在此案例中加入叢集的節點，您必須啟用叢集的私有 API 伺服器端點，或使用透過其他方法 (例如 NAT Gateway) 提供的出站網際網存取，啟動私有子網路中的節點。如需詳細資訊，請參閱*《Amazon EC2 使用者指南》*中的 [Amazon EC2 執行個體 IP 定址](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html)。
   +  **設定 SSH 存取節點** (選用)。啟用 SSH 可讓您連接到執行個體，並在發生問題時收集診斷資訊。強烈建議您在建立節點群組時啟用遠端存取。您無法在建立節點群組之後啟用遠端存取。

     如果您選擇使用啟動範本，則不會顯示此選項。若要啟用節點的遠端存取，請在啟動範本中指定金鑰對，並確定您在啟動範本中指定之安全群組中的節點已開啟適當的連接埠。如需詳細資訊，請參閱[使用自訂安全群組](launch-templates.md#launch-template-security-groups)。
**注意**  
對於 Windows，此命令不會啟用 SSH。而是將 Amazon EC2 金鑰對與執行個體建立關聯，讓您可以 RDP 至該執行個體中。
   + 對於 **SSH key pair** (SSH 金鑰對) (選用)，選擇要使用的 Amazon EC2 SSH 金鑰。如需 Linux 資訊，請參閱《*Amazon EC2 使用者指南*》中的 [Amazon EC2 使用者指南](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)。如需 Windows 資訊，請參閱《*Amazon EC2 使用者指南*》中的 [Amazon EC2 金鑰對和 Windows 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-key-pairs.html)。如果您選擇使用啟動範本，則無法選取範本。當使用 Bottlerocket AMI 為節點群組提供 Amazon EC2 SSH 金鑰時，也會啟用管理容器。如需詳細資訊，請參閱 GitHub 上的[管理容器](https://github.com/bottlerocket-os/bottlerocket#admin-container)。
   + 對於 **Allow SSH remote access from** (允許 SSH 遠端存取來自)，如果要限制對特定執行個體的存取，請選取與這些執行個體相關聯的安全群組。如果沒有選取特定的安全群組，則允許從網際網路 (`0.0.0.0/0`) 上的任何地方存取 SSH。

1. 在 **Review and create (檢閱並建立)** 頁面上，檢閱您的受管節點群組組態，然後選擇 **Create (建立)**。

   如果節點無法加入叢集，請參閱「故障診斷」章節中的 [節點無法加入叢集](troubleshooting.md#worker-node-fail)。

1. 查看節點的狀態，並等待他們到達 `Ready` 狀態。

   ```
   kubectl get nodes --watch
   ```

1. (僅限 GPU 節點) 若您選擇了 GPU 執行個體類型和 Amazon EKS 最佳化加速 AMI，然後必須套用 [Kubernetes 專用 NVIDIA 裝置外掛程式](https://github.com/NVIDIA/k8s-device-plugin)作為叢集上的 DaemonSet。請先以您想要的 [NVIDIA/k8s-device-plugin](https://github.com/NVIDIA/k8s-device-plugin/releases) 版本來取代 *vX.X.X*，然後再執行下列命令。

   ```
   kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/vX.X.X/deployments/static/nvidia-device-plugin.yml
   ```

## 安裝 Kubernetes 附加元件
<a name="_install_kubernetes_add_ons"></a>

現在您已具備含節點之可正常運作的 Amazon EKS 叢集，您即可開始安裝 Kubernetes 附加元件並將應用程式部署到叢集。以下文件主題可協助您擴展叢集的功能。
+ 建立叢集的 [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)。
+ 如果下列條件為真，我們建議封鎖 Pod 對 IMDS 的存取：
  + 您計劃將 IAM 角色指派給您的所有 Kubernetes 服務帳戶，以便 Pod 僅具有所需的最低許可。
  + 叢集中沒有任何 Pod 因其他原因需要存取 Amazon EC2 執行個體中繼資料服務 (IMDS)，例如擷取目前 AWS 區域。

  如需詳細資訊，請參閱[‬限制存取指派給工作節點的執行個體設定檔‭](https://aws.github.io/aws-eks-best-practices/security/docs/iam/#restrict-access-to-the-instance-profile-assigned-to-the-worker-node)。
+ 設定 Kubernetes [Cluster Autoscaler](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md)，以自動調整節點群組中的節點數目。
+ 將[範例應用程式](sample-deployment.md)部署至叢集。
+  使用管理叢集所需的重要工具來[組織和監控叢集資源](eks-managing.md)。