Amazon EKS 佈建控制平面 - Amazon EKS

協助改進此頁面

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon EKS 佈建控制平面

概觀

Amazon EKS 佈建控制平面是一項功能,可讓叢集管理員從一組擴展層中選取,並從叢集的控制平面指定其所選層,以獲得極高且可預測的效能。這可讓叢集管理員確保控制平面一律以指定的容量佈建。

Amazon EKS 為叢集的控制平面提供兩種操作模式。根據預設,Amazon EKS 叢集會使用標準模式,其中控制平面會根據工作負載需求自動擴展和縮減規模。標準模式可動態配置足夠的控制平面容量,以滿足工作負載需求,是大多數使用案例的建議解決方案。不過,對於因為控制平面擴展或需要非常大量控制平面容量而導致無法容忍任何效能變化的特殊工作負載,您可以選擇使用佈建模式。佈建模式可讓您預先配置控制平面容量,隨時準備好處理繁重的工作負載需求。

注意

佈建模式是額外的控制平面操作模式,以及預設的標準模式。佈建模式的引入不會變更標準模式行為。

使用 EKS 佈建控制平面,叢集管理員可以預先佈建所需的控制平面容量,從叢集的控制平面提供可預測且高效能,且永遠可用。EKS 佈建控制平面也可讓叢集管理員跨環境佈建相同的控制平面容量,從預備到生產和災難復原站點。這對於確保跨環境取得的控制平面效能一致且可預測非常重要。最後,EKS 佈建控制平面可讓您存取非常高層級的控制平面效能,以便在 Kubernetes 上執行大規模可擴展的 AI 工作負載、高效能運算和大規模資料處理工作負載。

根據預設,所有現有和新的 Amazon EKS 叢集都會以標準模式運作。對於需要來自控制平面的高可預測效能的叢集,您可以選擇使用 EKS 佈建控制平面功能。除了標準或延長支援 EKS 每小時費用之外,還會按特定控制平面擴展層的每小時費率向您收費。如需定價的詳細資訊,請參閱 Amazon EKS 定價

Amazon EKS 控制平面模式

使用案例

EKS 佈建控制平面旨在解決特定案例,其中高且可預測的控制平面效能對您的操作至關重要。了解這些使用案例可協助您判斷 EKS 佈建控制平面是否為適合您工作負載的解決方案。

效能關鍵工作負載 – 對於需要 Kubernetes 控制平面最低延遲和最高效能的工作負載,EKS 佈建控制平面提供容量,可消除控制平面擴展的效能變化。

大規模可擴展的工作負載 – 如果您執行高度可擴展的工作負載,例如 AI 訓練和推論、高效能運算或大規模資料處理,而這些工作負載需要在叢集中執行大量節點,則佈建的控制平面會提供必要的控制平面容量,以支援這些嚴苛的工作負載。

預期的高需求事件 – 當您預期由於電子商務銷售或促銷、產品推出、假日購物季節或主要運動或娛樂活動等近期事件,控制平面請求突然激增時,佈建控制平面可讓您事先擴展控制平面容量。這種主動方法可確保您的控制平面已準備好處理增加的負載,而無需等待自動擴展回應需求。

環境一致性 – 佈建的控制平面可讓您在預備和生產環境中比對控制平面容量和效能,協助您在部署至生產環境之前及早識別潛在問題。透過跨環境維護相同的控制平面層,您可以確保測試結果準確反映生產行為,從而降低在推出期間與效能相關的意外風險。

災難復原和業務持續性 – 對於災難復原案例,佈建的控制平面可讓您佈建與主要環境具有相同容量層級的容錯移轉環境。這可確保在容錯移轉事件期間盡可能減少中斷和快速復原,因為災難復原叢集在啟動之後,將具有與生產叢集相同的控制平面效能特性。

控制平面擴展層

EKS 佈建控制平面提供使用 T-shirt 大小 (XL、2XL, 4XL) 命名的擴展層。每個層透過三個關鍵 Kubernetes 屬性來定義其容量,這些屬性會決定叢集控制平面的效能特性。了解這些屬性可協助您為工作負載需求選取適當的層。

API 請求並行測量 Kubernetes 控制平面 API 伺服器可以同時處理的請求數量,這對高輸送量工作負載至關重要。

Pod 排程率指出預設 Kubernetes 排程器在節點上排程 Pod 的速度,以每秒 Pod 為單位。

叢集資料庫大小表示配置給 etcd 的儲存空間,即保留叢集狀態/中繼資料的資料庫。

當您使用佈建控制平面在特定擴展層上佈建叢集的控制平面時,EKS 可確保叢集的控制平面維持與該層對應的限制。控制平面擴展層的限制因 Kubernetes 版本而異,如下表所示。

EKS 1.28 版和 1.29 版

佈建的控制平面擴展層 API 請求並行 (座位) Pod 排程速率 (Pod/秒) 叢集資料庫大小 (GB)

XL

1700

100

16

2XL

3400

100

16

4XL

6800

100

16

EKS 1.30 版及更新版本

佈建的控制平面擴展層 API 請求並行 (座位) Pod 排程速率 (Pod/秒) 叢集資料庫大小 (GB)

XL

1700

167

16

2XL

3400

283

16

4XL

6800

400

16

監控控制平面擴展層使用率

Amazon EKS 提供多種指標,協助您監控控制平面的層使用率。這些指標會發佈為 Amazon CloudWatch 指標,並可透過 CloudWatch 和 EKS 主控台存取。此外,這些指標可從 EKS 叢集的 Prometheus 端點抓取 (請參閱此處)。

Prometheus 指標 CloudWatch 指標

API 請求並行

apiserver_flowcontrol_current_executing_seats

apiserver_flowcontrol_current_executing_seats

Pod 排程率

scheduler_schedule_attempts_total

scheduler_schedule_attempts_total、scheduler_schedule_attempts_SCHEDULED、scheduler_schedule_attempts_UNSCHEDULABLE

叢集資料庫大小

apiserver_storage_size_bytes

apiserver_storage_size_bytes

您可以在 Amazon EKS 主控台中檢視控制平面使用率。從叢集的概觀頁面中,選擇監控叢集以存取可觀測性儀表板,然後選取控制平面監控索引標籤以檢視控制平面擴展區段下的控制平面使用率。

監控 EKS 叢集
EKS 控制平面監控

了解層容量與實際效能

當您選取佈建的控制平面擴展層時,層屬性代表 Amazon EKS 套用至控制平面的基礎組態。不過,您達到的實際效能取決於您的特定工作負載模式、組態,以及對 Kubernetes 最佳實務的遵循。例如,4XL 層設定具有 6,800 個並行請求座位的 API Priority and Fairness (APF) 時,您從控制平面取得的實際請求輸送量取決於執行的操作類型。例如,Kubernetes 會對清單請求進行超過取得的懲罰,因此控制平面同時處理的清單請求有效數量低於取得請求 (請參閱此處)。同樣地,雖然 4XL 層的預設排程器 QPS 設定為 400,但您的實際 Pod 排程率取決於節點準備就緒和排程運作狀態等因素。若要獲得最佳效能,請確保您的應用程式遵循 Kubernetes 最佳實務 (請參閱此處),並針對工作負載特性正確設定。

考量事項

  • 標準控制平面容量 – EKS 標準控制平面模式提供最佳的價格與效能比,是大多數使用案例的建議選項。不過,對於因為控制平面擴展或需要非常大量的控制平面容量而導致無法容忍任何效能變化的特殊工作負載,您可以選擇性地考慮使用佈建模式。

  • 需要選擇加入 – 現有叢集不會自動從標準控制平面擴展到價格較高的 EKS 佈建控制平面層。您必須明確選擇加入其中一個新的 EKS 佈建控制平面擴展層。

  • 結束限制 – 標準控制平面模式支援高達 8 GB 的叢集資料庫 (等) 大小。如果叢集的資料庫大小在使用佈建模式時超過 8 GB,則在將資料庫大小降至低於 8 GB 之前,您無法切換回標準模式。例如,如果您在佈建模式下使用 14 GB 的資料庫儲存,您必須先將資料庫使用率降低至小於 8GB,才能返回標準模式。

  • 無自動層擴展 – EKS 佈建控制平面不會在層之間自動擴展。選取擴展層後,叢集的控制平面仍會固定到該層,以確保一致且可預測的效能。不過,您可以透過監控層使用率指標和使用 EKS 佈建控制平面 APIs 來彈性實作自己的自動擴展解決方案,以便在這些指標超過您定義的閾值時擴展或縮減規模,讓您完全控制擴展策略和成本最佳化。

  • 檢視目前層 – 您可以使用 Amazon EKS 主控台、Amazon Web Services CLI 或 API 來檢視目前的控制平面擴展層。在 CLI 中,您可以執行 describe-cluster命令: aws eks describe-cluster --name cluster-name

  • 層轉換時間 – 您可以使用 Amazon EKS 主控台、Amazon EKS APIs 或 CLI 在擴展層之間結束或移動。Amazon EKS 已推出名為 的新叢集更新類型ScalingTierConfigUpdate,您可以檢查此類型來監控轉換的進度。執行層變更命令後,您可以列出叢集上的更新,以查看狀態ScalingTierConfigUpdate為 的 類型新更新Updating。狀態會在更新完成Successful時變更為 ,或在發生錯誤Failed時變更為 。更新中的錯誤欄位指出失敗的原因。您可以切換層的頻率沒有限制。變更控制平面層需要幾分鐘的時間才能完成。

  • 選取最佳方案 – 若要判斷叢集的最佳佈建控制平面擴展方案,您可以透過在最高方案 (4XL) 上佈建叢集來執行負載測試。然後執行負載測試來模擬叢集控制平面上的尖峰需求。在尖峰負載時觀察控制平面層使用率指標,並使用這些觀察做為引導因素,為佈建模式選取適當的層。

  • 佈建控制平面定價 – 將按您叢集所在的佈建控制平面擴展方案的每小時費率向您收費。這是標準或延長支援每小時費用以外的費用。如需詳細資訊,請參閱 Amazon EKS 定價頁面

  • 較大的擴展層 – 如果您想要在大於 4XL 的擴展層上執行叢集,請聯絡您的 Amazon Web Services 帳戶團隊以取得其他定價資訊。

  • Kubernetes 版本和區域支援 – 所有 Amazon Web Services 商業、 GovCloud 和中國區域都支援 EKS 佈建控制平面。佈建的控制平面適用於 EKS v1.28 及更高版本。