使用字首將更多 IP 地址指派給 Amazon EKS 節點 - Amazon EKS

協助改善此頁面

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

若要提供此使用者指南,請選擇位於每個頁面右窗格中的 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 字首:

下列清單提供有關適用的 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=standardAWS_VPC_K8S_CNI_EXTERNALSNAT=false,當 Pod 與 VPC 外部的端點通訊時,會使用節點的安全群組,而不是您指派給 Pod 的任何安全群組。

      如果您也為 Pod 使用安全群組,使用 POD_SECURITY_GROUP_ENFORCING_MODE=strict,當您與 VPC 外部的端點Pods通訊時,會使用Pod’s安全群組。