協助改進此頁面
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
了解 EKS 自動模式中的 VPC 聯網與負載平衡
本主題闡釋如何在 EKS 自動模式中設定虛擬私有雲端 (VPC) 聯網與負載平衡功能。雖然 EKS 自動模式會自動管理大多數聯網元件,但您仍然可以透過 NodeClass 資源和負載平衡器注釋來自訂叢集聯網組態的某些方面。
當您使用 EKS 自動模式時,AWS 會管理您叢集的 VPC 容器網路介面 (CNI) 組態和負載平衡器佈建。您可透過定義 NodeClass 物件,以及將特定注釋套用至服務與傳入資源來影響聯網行為,同時維持 EKS 自動模式提供的自動化營運模式。
聯網功能
EKS 自動模式具有一個處理節點和 Pod 聯網的新聯網功能。您可以透過建立一個 NodeClass Kubernetes 物件進行設定。
先前的 AWS VPC CNI 的組態選項不適用於 EKS 自動模式。
使用 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 自動模式為節點的主要網路介面佈建 /28 IPv4 字首,並維護一個預定義的資源暖集區,該資源集區會根據已排程 Pod 的數量進行擴展。必要時,它會在節點的子網路中佈建具有與主要介面相同安全群組的次要網路介面。如果子網路中不再有可用的字首,該服務將回退到次要 IPv4 位址。
冷卻時間管理
該服務為不再使用的字首或次要 IPv4 位址實作冷卻集區。在冷卻時間到期後,這些資源將被釋出回 VPC。但是,如果 Pod 在冷卻時間內重複使用這些資源,則會從冷卻集區還原這些資源。
IPv6 支援
對於 IPv6 叢集,EKS 自動模式會在主要網路介面上為每個節點佈建 /80 IPv6 前綴。
該服務還確保所有網路介面的正確管理和垃圾回收。
負載平衡
您可在服務和傳入資源上使用註釋來設定 EKS 自動模式佈建的 AWS Elastic Load Balancer。
如需詳細資訊,請參閱 建立 IngressClass 以設定 Application Load Balancer 或 使用服務注釋設定 Network Load Balancer 。
使用 EKS 自動模式進行負載平衡的考量事項
-
預設目標模式是 IP 模式,而非執行個體模式。
-
EKS 自動模式僅支援 Network Load Balancer 的安全群組模式。
-
AWS 不支援將負載平衡器從自我管理的 AWS 負載平衡器控制器移轉至由 EKS 自動模式管理。
-
不支援
TargetGroupBinding規格中的networking.ingress.ipBlock欄位。 -
如果您的工作節點使用自訂安全群組 (而非
eks-cluster-sg-命名模式),則您的叢集角色需要額外的 IAM 許可。預設的 EKS 受管政策僅允許 EKS 修改名為eks-cluster-sg-的安全群組。如果沒有修改您自訂安全群組的許可,EKS 將無法新增所需的輸入規則,以允許 ALB/NLB 流量到達您的 Pod。