協助改善此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要提供此使用者指南,請選擇位於每個頁面右窗格中的 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用字首將更多 IP 地址指派給 Amazon EKS 節點
適用於:具有 Amazon EC2 執行個體的 Linux 和 Windows 節點
適用於:公有和私有子網路
每個 Amazon EC2 執行個體都支援最大數量的彈性網路介面,以及可指派給每個網路介面的最大數量的 IP 地址。每個節點的每個網路介面都需要一個 IP 地址。所有其他可用的 IP 地址都可以指派給 Pods
。每個 Pod
都需要專屬的 IP 地址。因此,您可能擁有具有可用運算和記憶體資源的節點,但無法容納其他節點,Pods
因為節點已用完要指派給 的 IP 地址Pods
。
您可以透過指派 IP 字首Pods
來增加節點可指派的 IP 地址數量,而不是將個別次要 IP 地址指派給節點。每個字首都包含多個 IP 地址。如果您未設定叢集進行 IP 字首指派,您的叢集必須進行更多 Amazon EC2 應用程式程式設計介面 (API) 呼叫,以設定 Pod 連線所需的網路介面和 IP 地址。隨著叢集的大小增加,這些 API 呼叫的頻率可能會導致更長的 Pod 和執行個體啟動時間。這樣一來,會導致擴展延遲以滿足大型和高峰工作負載的需求,並增加成本和管理負荷,因為您需要佈建額外的叢集和 VPC 以符合擴展需求。如需詳細資訊,請參閱 GitHub 上的 Kubernetes 可擴展性閾值
與適用於 Kubernetes 功能的 Amazon VPC CNI 外掛程式相容
您可以搭配下列功能使用 IP 字首:
-
IPv4 來源網路地址轉譯 - 如需詳細資訊,請參閱 啟用 Pod 的傳出網際網路存取。
-
叢集、Pod 和服務的 IPv6 地址 - 如需詳細資訊,請參閱了解叢集、Pod 和服務的 IPv6 地址。
-
使用 Kubernetes 網路政策限制流量 - 如需詳細資訊,請參閱 使用 Kubernetes 網路政策限制 Pod 流量。
下列清單提供有關適用的 Amazon VPC CNI 外掛程式設定的資訊。如需每個設定的詳細資訊,請參閱 GitHub 上的 amazon-vpc-cni-k8s
-
WARM_IP_TARGET
-
MINIMUM_IP_TARGET
-
WARM_PREFIX_TARGET
考量事項
使用此功能時,請考慮下列事項:
-
每個 Amazon EC2 執行個體類型都支援最大數量的 Pod。如果您的受管節點群組包含多個執行個體類型,則叢集中執行個體的最小最大 Pod 數量會套用至叢集中的所有節點。
-
依預設,您最多可在節點上執行 110 個
Pods
,但您可以變更該數量。如果您變更該數量且擁有現有受管節點群組,則節點群組的下一個 AMI 或啟動範本更新會導致新的工作節點出現變更後的值。 -
從指派 IP 地址轉換為指派 IP 字首時,建議您建立新的節點群組來增加可用 IP 地址的數量,而不是對現有節點執行輪流取代。在同時指派 IP 地址和字首的節點上執行 Pod 可能會導致公告 IP 地址容量不一致,進而影響節點上的未來工作負載。如需執行轉換的建議方式,請參閱《Amazon EKS 最佳實務指南》中的在次要 IP 模式與字首委派模式相互遷移期間取代所有節點
。 -
安全群組範圍位於節點層級 - 如需詳細資訊,請參閱安全群組。
-
指派給網路介面的 IP 字首支援每個節點的高 Pod 密度,並具有最佳的啟動時間。
-
IP 字首和 IP 地址與標準 Amazon EC2 彈性網路介面相關聯。需要特定安全群組的 Pod 會被指派分支網路介面的主要 IP 地址。您可以混合取得 IP 地址的 Pod,或 IP 字首的 IP 地址與取得相同節點上分支網路介面的 Pod。
-
僅適用於具有 Linux 節點的叢集。
-
設定附加元件以將字首指派給網路介面後,您無法將 Amazon VPC CNI 外掛程式的 Kubernetes 附加元件降級為低於
1.9.0
(或1.10.1
) 的版本,而不需移除叢集中所有節點群組中的所有節點。 -
如果您也使用 Pod 的安全群組,其中
POD_SECURITY_GROUP_ENFORCING_MODE
=standard
和AWS_VPC_K8S_CNI_EXTERNALSNAT
=false
,當 Pod 與 VPC 外部的端點通訊時,會使用節點的安全群組,而不是您指派給 Pod 的任何安全群組。如果您也為 Pod 使用安全群組,使用
POD_SECURITY_GROUP_ENFORCING_MODE
=strict
,當您與 VPC 外部的端點Pods
通訊時,會使用Pod’s
安全群組。
-