本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Elastic Kubernetes Service
Amazon EKS 提供的功能可讓您的應用程式對運作狀態降低或可用區域受損等事件更具彈性。當您在 Amazon EKS 叢集中執行工作負載時,您可以使用區域轉移或區域自動轉移進一步改善容錯能力和應用程式復原。如需詳細資訊,請參閱《Amazon Elastic Kubernetes Service 使用者指南》中的了解 Amazon EKS 中的 ARC 區域轉移。
搭配 Amazon Elastic Kubernetes Service 使用區域轉移
若要啟用區域轉移,請使用下列其中一種方法。如需詳細資訊,請參閱《Amazon Elastic Kubernetes Service 使用者指南》中的了解 ARC 區域轉移。
您可以為 Amazon EKS 叢集啟動區域轉移,也可以透過啟用區域自動轉移AWS來允許 為您執行。使用 ARC 啟用 Amazon EKS 叢集區域轉移後,您可以使用 ARC AWS主控台、CLI 或區域轉移和區域自動轉移 APIs 啟動區域轉移或啟用區域自動轉移。
如需啟動區域轉移的詳細資訊,請參閱 啟動、更新或取消區域轉移。
如需使用區域轉移啟用 Amazon EKS 的詳細資訊,請參閱《Amazon Elastic Kubernetes Service 使用者指南》中的了解 Amazon EKS 中的 ARC 區域轉移。
Amazon Elastic Kubernetes Service 的區域轉移如何運作
在 Amazon EKS 區域轉移期間,所有 Amazon EKS 叢集都會自動執行下列動作:
封鎖受影響可用區域中的所有節點。這可防止 Kubernetes 排程器將新的 Pod 排程到運作狀態不佳 AZ 中的節點。
如果您使用的是受管節點群組,可用區域重新平衡會暫停,而且 Auto Scaling 群組會更新,以確保新的 Amazon EKS 資料平面節點只會在運作狀態良好的AZs啟動。
運作狀態不佳的 AZ 中的節點不會終止,也不會從這些節點移出 Pod。這是為了確保區域轉移過期或取消時,您的流量可以安全地返回仍有完整容量的 AZ。
EndpointSlice 控制器會在受損的 AZ 中找到所有 Pod 端點,並從相關的 EndpointSlices 中移除它們。此操作可確保僅鎖定運作狀態良好可用區域中的 Pod 端點,來接收網路流量。若區域轉移取消或到期,EndpointSlice 控制器將更新 EndpointSlices,以便在還原的可用區域中納入這些端點。
如果您使用的是 EKS Auto Mode 或自我管理的 Karpenter,Karpenter 控制器也會在區域轉移期間執行下列動作:
將該區域中的所有運算產品標示為無法使用,以停止在受損的 AZ 中佈建新容量。
停止受損 AZ 中節點的自願中斷 (合併和偏離)。
防止具有嚴格排程要求 (例如 EBS 磁碟區親和性) 且需要受損 AZ 的 Pod 啟動嘗試。
當區域轉移取消或過期時,恢復正常行為。
如需 Amazon EKS 區域轉移的詳細資訊,請參閱 AWS網站上的AWS容器部落格