本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon EKS 資源擴展執行區塊
EKS 資源擴展執行區塊可讓您在多區域復原程序中擴展 EKS 資源。當您設定執行區塊時,您可以定義要擴展的容量百分比,相對於要停用區域中的容量。
設定 EKS 存取項目許可
在新增 EKS 資源擴展的執行區塊之前,您必須向區域交換器提供必要的許可,以對 EKS 叢集中的 Kubernetes 資源採取動作。若要提供區域切換的存取權,您必須使用下列區域切換存取政策,為區域切換用於計劃執行的 IAM 角色建立 EKS 存取項目: arn:aws:eks::aws:cluster-access-policy/AmazonARCRegionSwitchScalingPolicy
區域切換 EKS 存取政策
以下資訊提供有關 EKS 存取政策的詳細資訊。
名稱: AmazonARCRegionSwitchScalingPolicy
政策 ARN: arn:aws:eks::aws:cluster-access-policy/AmazonARCRegionSwitchScalingPolicy
Kubernetes API 群組 | Kubernetes 資源 | Kubernetes 動詞 (許可) |
---|---|---|
* |
*/scale |
get、更新 |
* |
*/狀態 |
get |
自動擴展 |
horizontalpodautoscaler |
get、修補 |
建立區域切換的 EKS 存取項目
下列範例說明如何建立所需的存取項目和存取政策關聯,讓區域切換可以為您的 Kubernetes 資源採取特定動作。在此範例中,許可適用於 IAM 角色 的 EKS 叢集 my-cluster 中的命名空間
my-namespace1
arn:aws:iam::555555555555:role/
。my-role
當您設定這些許可時,請務必為執行區塊中的兩個 EKS 叢集採取這些步驟。
- 先決條件
開始使用之前,請將叢集的身分驗證模式變更為
API_AND_CONFIG_MAP
或API
。變更授權模式會新增存取項目的 API。如需詳細資訊,請參閱《Amazon EKS 使用者指南》中的變更身分驗證模式以使用存取項目。- 建立存取項目
第一步是使用類似下列的 AWS CLI 命令來建立存取項目:
aws eks create-access-entry --cluster-name
my-cluster
--principal-arn arn:aws:iam::555555555555:user/my-user
--type STANDARD如需詳細資訊,請參閱《Amazon EKS 使用者指南》中的建立存取項目。
- 建立存取項目關聯
-
接著,使用類似以下的 AWS CLI 命令建立與區域切換存取政策的關聯:
aws eks associate-access-policy --cluster-name
my-cluster
--principal-arn arn:aws:iam::555555555555:role/my-role
\ --access-scope type=namespace,namespaces=my-namespace1
--policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonARCRegionSwitchScalingPolicy如需詳細資訊,請參閱《Amazon EKS 使用者指南》中的將存取政策與存取項目建立關聯。
請務必在另一個區域的執行區塊中對第二個 EKS 叢集重複這些步驟,以確保兩個叢集都可以由區域切換存取。
組態
若要設定 EKS 資源擴展執行區塊,請先確定您擁有正確的許可。如需詳細資訊,請參閱設定 EKS 存取項目許可。
請注意,區域切換目前支援下列 ReplicaSet 資源:apps/v1、Deplation 和 app/v1。
然後,針對執行區塊組態,輸入下列值。
步驟名稱:輸入名稱。
步驟描述 (選用):輸入步驟的描述。
應用程式名稱:輸入 EKS 應用程式的名稱,例如 myApplication。
Kubernetes 資源類型:輸入應用程式的資源類型,例如部署。
區域資源:針對每個區域,輸入 EKS 叢集的資訊,包括 EKS 叢集 ARN、資源命名空間等。
符合啟用區域容量的百分比:輸入在來源區域中執行的 Pod 在啟用區域中符合的所需百分比。
容量監控方法:在下拉式功能表中,選取 EKS 資源的監控方法。
逾時:輸入逾時值。
然後,選擇儲存步驟。
運作方式
在計劃執行期間,區域切換會擷取您啟用之區域中目標資源過去 24 小時內的取樣複本數量上限。然後,它會使用以下公式計算目的地資源所需的複本計數: ceil(percentToMatch * Source replica count)
如果目的地就緒複本計數低於所需的值,區域開關會將目的地資源複本值擴展到所需的容量。它會等待複本準備就緒,並在必要時利用您的節點自動擴展器來增加節點容量。
如果選用hpaName
欄位不是空的,區域切換會使用下列修補程式來修補 HorizontalPodAutoscaler,以防止執行期間或之後的任何自動縮減規模: {"spec":{"behavior":{"scaleDown":{"selectPolicy":"Disabled"}}}}
請務必設定任何偏離校正工具,例如 GitOps 工具,以忽略修補程式中資源的複本欄位,以及 HorizontalPodAutoscaler 欄位。
做為計畫評估的一部分而評估的內容
當區域切換評估您的計劃時,區域切換會對設定的 EKS 執行區塊和許可執行數項檢查。區域切換會驗證計劃的 IAM 角色是否具有描述 EKS 叢集和列出相關聯存取項目政策的正確許可。區域切換也會驗證 IAM 角色是否與正確的存取項目政策相關聯,以便區域切換具有對 Kubernetes 資源採取行動所需的許可。最後,區域切換會確認設定的 EKS 叢集和 Kubernetes 資源是否存在。
此外,區域切換會檢查其是否已成功收集並存放必要的監控資料 (Kubernetes 複本計數),並擷取執行區域切換計畫所需的執行中 Pod 數量。