

 **協助改進此頁面** 

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

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

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

# 將更多 IP 位址指派給具有字首的 Amazon EKS 節點
<a name="cni-increase-ip-addresses"></a>

 **適用於**：包含 Amazon EC2 執行個體的 Linux 和 Windows 節點

 **適用於**：公有和私有子網路

每個 Amazon EC2 執行個體都支援最大數量的彈性網路介面，以及可指派給每個網路介面的最大數量的 IP 地址。每個節點的每個網路介面都需要一個 IP 地址。所有其他可用的 IP 地址都可以指派給 `Pods`。每個 `Pod` 都需要專屬的 IP 地址。因此，您的節點可能具有可用的運算和記憶體資源，但無法容納其他 `Pods`，因為節點已耗盡要指派給 `Pods` 的 IP 位址。

您可以透過指派 IP 字首 (而不是將個別的次要 IP 位址指派給節點)，大幅增加節點可指派給 `Pods` 的 IP 位址數量。每個字首都包含多個 IP 地址。如果您未針對 IP 字首指派設定叢集，則叢集必須進行更多 Amazon EC2 應用程式介面 (API) 呼叫，才能設定 Pod 連線所需的網路介面和 IP 位址。隨著叢集規模不斷擴大，這些 API 呼叫的頻率可能會導致 Pod 和執行個體的啟動時間變得更長。這樣一來，會導致擴展延遲以滿足大型和高峰工作負載的需求，並增加成本和管理負荷，因為您需要佈建額外的叢集和 VPC 以符合擴展需求。如需詳細資訊，請參閱 GitHub 上的 [Kubernetes 可擴展性閾值](https://github.com/kubernetes/community/blob/master/sig-scalability/configs-and-limits/thresholds.md)。

## 與適用於 Kubernetes 功能的 Amazon VPC CNI 外掛程式相容
<a name="cni-increase-ip-addresses-compatability"></a>

您可以搭配 IP 字首使用下列功能：
+ IPv4 來源網路位址轉譯 - 如需詳細資訊，請參閱 [啟用 Pod 的傳出網際網路存取](external-snat.md)。
+ 叢集、Pod 及服務的 IPv6 位址 - 如需詳細資訊，請參閱 [了解叢集、Pod 與服務的 IPv6 位址](cni-ipv6.md)。
+ 使用 Kubernetes 網路政策來限制流量 - 如需詳細資訊，請參閱 [使用 Kubernetes 網路政策限制 Pod 流量](cni-network-policy.md)。

以下清單提供了適用的 Amazon VPC CNI 外掛程式設定的相關資訊。有關每個設定的更多資訊，請參閱 GitHub 上的 [amazon-vpc-cni-k8s](https://github.com/aws/amazon-vpc-cni-k8s/blob/master/README.md)。
+  `WARM_IP_TARGET` 
+  `MINIMUM_IP_TARGET` 
+  `WARM_PREFIX_TARGET` 

## 考量事項
<a name="cni-increase-ip-addresses-considerations"></a>

使用此功能時請考慮以下事項：
+ 每種 Amazon EC2 執行個體類型都支援最大數量的 Pod。如果受管節點群組包含多個執行個體類型，叢集中執行個體的最小 Pod 數量上限會套用至叢集中的所有節點。
+ 依預設，您最多可在節點上執行 110 個 `Pods`，但您可以變更該數量。如果您變更該數量且擁有現有受管節點群組，則節點群組的下一個 AMI 或啟動範本更新會導致新的工作節點出現變更後的值。
+ 從指派 IP 地址轉換為指派 IP 字首時，建議您建立新的節點群組來增加可用 IP 地址的數量，而不是對現有節點執行輪流取代。在同時指派 IP 位址和字首的節點上執行 Pod，可能會導致公告的 IP 位址容量不一致，進而影響節點日後的工作負載。有關執行轉換的建議方式，請參閱《*Amazon EKS 最佳實務指南*》中的 [Linux 的字首委派模式](https://docs.aws.amazon.com/eks/latest/best-practices/prefix-mode-linux.html)。
+ 安全群組範圍為節點層級 - 如需詳細資訊，請參閱[安全群組](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)。
+ 指派給網路介面的 IP 字首支援每個節點的高 Pod 密度，且具有最佳的啟動時間。
+ IP 字首和 IP 地址與標準 Amazon EC2 彈性網路介面相關聯。需要特定安全群組的 Pod 會被指派分支網路介面的主要 IP 地址。您可以把取得 IP 位址的 Pod，或從 IP 字首的 IP 位址與在相同節點上取得分支網路介面的 Pod 混合。
+ 僅適用於具有 Linux 節點的叢集。
  + 設定附加元件以指派字首給網路介面後，您就無法將 Kubernetes 專用 Amazon VPC CNI 外掛程式附加元件降級為低於 `1.9.0` (或 `1.10.1`) 的版本，且不移除叢集中所有節點群組中的所有節點。
  + 如果您也使用 Pod 的安全群組，且 `POD_SECURITY_GROUP_ENFORCING_MODE` = `standard`、`AWS_VPC_K8S_CNI_EXTERNALSNAT` = `false`，則當 Pod 與 VPC 外部端點通訊時，將使用節點的安全群組，而不會使用您指派給 Pod 的任何安全群組。

    如果您也使用 Pod 的[安全群組](security-groups-for-pods.md)，且 `POD_SECURITY_GROUP_ENFORCING_MODE` = `strict`，則當 `Pods` 與 VPC 外部端點通訊時，將使用 `Pod’s` 安全群組。