協助改進此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
了解 EKS 自動模式中的 VPC 聯網與負載平衡
本主題闡釋如何在 EKS 自動模式中設定虛擬私有雲端 (VPC) 聯網與負載平衡功能。雖然 EKS 自動模式會自動管理大多數聯網元件,但您仍然可以透過 NodeClass 資源和負載平衡器注釋來自訂叢集聯網組態的某些方面。
當您使用 EKS Auto Mode 時, 會 AWS 管理叢集的 VPC 容器網路界面 (CNI) 組態和負載平衡器佈建。您可透過定義 NodeClass 物件,以及將特定注釋套用至服務與傳入資源來影響聯網行為,同時維持 EKS 自動模式提供的自動化營運模式。
聯網功能
EKS 自動模式具有一個處理節點和 Pod 聯網的新聯網功能。您可以透過建立一個 NodeClass Kubernetes 物件進行設定。
先前 AWS VPC CNI 的組態選項不適用於 EKS Auto 模式。
使用 NodeClass 設定聯網
EKS 自動模式中的 NodeClass 資源讓您能自訂聯網功能的特定層面。透過 NodeClass,您可以指定安全群組選擇、控制節點在 VPC 子網路上的放置、設定 SNAT 政策、配置網路政策以及啟用網路事件記錄。這種方法在提供聯網自訂彈性的同時,保持了 EKS 自動模式的自動化操作模型。
您可以使用 NodeClass 來:
-
選取節點的安全群組
-
控制節點在 VPC 子網路上的放置方式
-
將節點 SNAT 政策設定為
random或disabled -
啟用 Kubernetes 網路政策,包括:
-
將網路政策設定為預設拒絕或預設允許
-
啟用網路事件記錄至檔案。
-
-
透過將 Pod 附加至不同的子網路,將 Pod 流量與節點流量隔離。
考量事項
EKS 自動模式支援:
-
EKS 網路政策。
-
Kubernetes Pod 的
HostPort與HostNetwork選項。 -
位於公有或私有子網路中的節點和 Pod。
-
在節點上快取 DNS 查詢。
EKS 自動模式不支援下列功能:
-
每個 Pod 的安全群組 (SGPP)。
-
ENIConfig中的自訂聯網。您可以使用 Pod 的子網路選擇 將 Pod 放入多個子網路中,或將其與節點流量完全隔離。 -
預熱 IP、預熱前綴和預熱 ENI 組態。
-
最小 IP 目標組態。
-
開放原始碼 AWS VPC CNI 支援的其他組態。
-
網路政策組態,如連線追蹤計時器自訂 (預設為 300 秒)。
-
將網路事件日誌匯出至 CloudWatch。
網路資源管理
EKS 自動模式透過監控聯網組態的 NodeClass 資源來處理字首、IP 定址和聯網介面管理。該服務會自動執行多項關鍵操作:
字首委派
EKS Auto Mode 預設為使用字首委派 (/28 個字首) 進行 Pod 聯網,並維護預先定義的 IP 資源暖集區,該集區會根據排程的 Pod 數量進行擴展。偵測到 Pod 子網路分段時,自動模式會佈建次要 IP 地址 (/32)。由於此預設 Pod 網路演算法,自動模式會根據每個執行個體類型支援的 ENIs 和 IPs 數目 (假設片段的最壞情況),計算每個節點的最大 Pod。如需每個執行個體類型的最大 ENIs IPs 的詳細資訊,請參閱 EC2 使用者指南中的每個網路界面的最大 IP 地址。較新一代 (Nitro v6 及更高版本) 執行個體系列通常會增加每個執行個體類型的 ENIs 和 IPs,而自動模式會相應地調整最大 Pod 計算。
對於 IPv6 叢集,只會使用字首委派,而自動模式一律使用每個節點最多 110 個 Pod。
冷卻時間管理
該服務為不再使用的字首或次要 IPv4 位址實作冷卻集區。在冷卻時間到期後,這些資源將被釋出回 VPC。但是,如果 Pod 在冷卻時間內重複使用這些資源,則會從冷卻集區還原這些資源。
IPv6 支援
對於 IPv6 叢集,EKS 自動模式會在主要網路介面上為每個節點佈建 /80 IPv6 前綴。
該服務還確保所有網路介面的正確管理和垃圾回收。
Load balancing
您可以在服務和輸入資源上使用註釋來設定 EKS Auto Mode 佈建的 AWS Elastic Load Balancer。
如需詳細資訊,請參閱 建立 IngressClass 以設定 Application Load Balancer 或 使用服務注釋設定 Network Load Balancer 。
使用 EKS 自動模式進行負載平衡的考量事項
-
預設目標模式是 IP 模式,而非執行個體模式。
-
EKS 自動模式僅支援 Network Load Balancer 的安全群組模式。
-
AWS 不支援將負載平衡器從自我管理 AWS 負載平衡器控制器遷移至 EKS Auto Mode 管理。
-
不支援
TargetGroupBinding規格中的networking.ingress.ipBlock欄位。 -
如果您的工作節點使用自訂安全群組 (而非
eks-cluster-sg-命名模式),則您的叢集角色需要額外的 IAM 許可。預設的 EKS 受管政策僅允許 EKS 修改名為eks-cluster-sg-的安全群組。如果沒有修改您自訂安全群組的許可,EKS 將無法新增所需的輸入規則,以允許 ALB/NLB 流量到達您的 Pod。
CoreDNS 考量事項
EKS Auto Mode 不會使用傳統 CoreDNS 部署在叢集內提供 DNS 解析。反之,自動模式節點會利用 CoreDNS,直接在每個節點上執行做為系統服務。如果將傳統叢集轉換為自動模式,您可以將工作負載移至自動模式節點後,從叢集中移除 CoreDNS 部署。
重要
如果您計劃維護具有自動模式和非自動模式節點的叢集,則必須保留 CoreDNS 部署。非自動模式節點依賴傳統的 CoreDNS Pod 進行 DNS 解析,因為它們無法存取自動模式提供的節點層級 DNS 服務。