協助改進此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定多叢集目標群組
根據預設,Amazon EKS Auto Mode 負載平衡器控制器會完全控制其設定的目標群組。當目標群組向控制器註冊時,它會取消註冊目前不在叢集中的任何目標。這可確保目標群組反映該叢集所管理的確切目標集。
啟用 MultiCluster 支援會變更此行為。啟用 MultiCluster 支援的目標群組可以與多個 Kubernetes 叢集建立關聯,或支援來自其他來源的任意目標。每個叢集只會註冊和取消註冊其擁有的目標,而不是取消註冊屬於其他叢集或來源的目標。
運作方式
啟用 MultiCluster 支援時,每個叢集會追蹤其管理的目標集,並僅協調共用目標群組中的這些目標。Amazon EKS Auto Mode 會將每個叢集追蹤的目標儲存在ConfigMap名為 的 Kubernetes 中eks-lbc-targets-<targetgroupbinding-name>,與負載平衡器資源位於相同的命名空間中。
注意
上游 AWS Load Balancer控制器會將此狀態存放在ConfigMap具有 aws-lbc-targets-字首的 中。在 Amazon EKS Auto Mode 上,字首改為 eks-lbc-targets-,因此在遵循上游指引時,請檢查 eks-lbc-targets- ConfigMap。
負載平衡器會將流量平均分配到所有已註冊的目標。控制器不支援跨叢集的加權分佈。MultiCluster 支援適用於 ip和 instance 目標類型。
啟用 MultiCluster 支援
根據您的資源類型,使用下列其中一種方法啟用 MultiCluster 支援:
-
TargetGroupBinding — 設定
spec.multiClusterTargetGroup: true。 -
輸入 (ALB) — 新增註釋
alb.ingress.kubernetes.io/multi-cluster-target-group: "true"。 -
服務 (NLB) — 新增註釋
service.beta.kubernetes.io/aws-load-balancer-multi-cluster-target-group: "true"。
Amazon EKS 自動模式的考量事項
AWS Load Balancer控制器 GitHub 網站上的上游MultiCluster目標群組
-
TargetGroupBinding自訂資源位於eks.amazonaws.com/v1API 群組中,而不是elbv2.k8s.aws/v1beta1。 -
IngressClass控制器為eks.amazonaws.com/alb。 -
請勿設定
alb.ingress.kubernetes.io/tags註釋。AmazonEKSLoadBalancingPolicy受管政策限制aws:TagKeys為允許清單,因此自訂標籤會導致存取遭拒錯誤,且控制器無法協調它們。這可能會導致傳入定稿器在刪除時卡住。 -
所有參與的叢集都必須位於相同的 VPC 中,因為目標群組的範圍是單一 VPC。
範例
如需在兩個叢集之間共用單一目標群組step-by-step演練,其中一個叢集透過輸入擁有負載平衡器,另一個透過 聯結TargetGroupBinding,請參閱 在兩個叢集之間共用目標群組。