本頁面說明 Google Kubernetes Engine (GKE) 中地區叢集的運作方式。
地區叢集會在地區的多個區域中複製控制層,藉此提升叢集的可用性。
這種設定有下列優點:
- 單一區域故障後復原:整個「地區」均適用地區叢集,並不侷限於地區內的某個區域。如果某一個區域無法使用,不會影響控制層。
- 持續升級控制層、調整控制層大小,以及縮短控制層故障後的停機時間。 地區叢集提供控制層的備援副本,因此 Kubernetes API 的可用性較高,即使在升級期間,您也可以存取控制層。
此外,根據預設,地區叢集會建立為多區域叢集,因此工作站節點會分散到地區的多個區域。如果您執行足夠的工作負載副本,這項功能就能提高工作負載的可用性。
GKE Autopilot 叢集一律為區域叢集。 如果您使用 GKE Standard,可以選擇建立地區或可用區叢集。如要瞭解不同的叢集可用性類型,請參閱「叢集可用性」。
在地區叢集 (包括 Autopilot 叢集) 中,控制層會在地區的多個區域之間複製。GKE 會自動在同一個區域的不同可用區中複製節點。在 Standard 叢集和節點集區中,您可以選擇手動指定節點執行的可用區。所有可用區都必須與控制層位於同一個區域。
建立地區叢集後,就無法變更為區域叢集。
地區叢集的運作方式
地區叢集會在一個地區內的多個區域之間複製叢集的控制層和節點。舉例來說,使用預設設定時,us-east1
地區的地區叢集會在不同 us-east1
區域中建立多個控制層副本,並在三個 us-east1
區域 (us-east1-b
、us-east1-c
和 us-east1-d
) 中佈建節點。如果基礎架構服務中斷,Autopilot 工作負載會繼續執行,而 GKE 會自動重新平衡節點。如果您使用標準叢集,則必須手動或使用叢集自動配置器重新平衡節點。
限制
為地區標準叢集建立的預設節點集區包含九個節點 (每個區域三個),平均散佈到一個地區的三個區域。如果叢集使用公開節點,則會耗用九個 IP 位址。如有需要,您可以將節點數降為每個區域一個。新建立的 Cloud 帳單帳戶在每個區域只會授予八個 IP 位址,因此您可能需要根據區域叢集的大小,為區域使用中的 IP 位址申請調高配額。如果可用的使用中 IP 位址太少,叢集建立作業會失敗。
如要在區域叢集中執行 GPU,請選擇至少有一個區域提供所需 GPU 的區域。建立節點集區時,您必須使用
--node-locations
標記指定包含所要求 GPU 的區域。如果您選擇的區域沒有至少一個提供所要求 GPU 的區域,可能會看到類似下方的錯誤訊息:
ERROR: (gcloud.container.clusters.create) ResponseError: code=400, message= Accelerator type "nvidia-l4" does not exist in zone europe-west3-a.
如需可使用 GPU 的完整地區和區域清單,請參閱「Compute Engine 上的 GPU」一文。
標準模式節點集區的可用區必須與叢集的控制層位於相同區域。如有需要,可以變更叢集的區域,讓所有新節點和現有節點橫跨這些區域。
定價
所有 Autopilot 叢集都是區域叢集,並適用於 Autopilot 定價模式。
在標準模式中,與類似的可用區或多可用區叢集相比,區域叢集需要更多的專案區域配額。請務必先瞭解配額和標準價格,再使用地區叢集。如果您看到 Insufficient regional quota to satisfy request for resource
錯誤,表示您的要求超過目前地區的可用配額。
此外,跨區域的節點到節點流量將需付費。舉例來說,如果某個區域執行的工作負載需要與另一個區域的工作負載通訊,跨區域流量就會產生費用。詳情請參閱 Compute Engine 定價頁面的「在相同地區內的不同區域之間輸出 (每 GB)」。
地區叢集的永久儲存空間
區域永久磁碟是區域資源,地區永久磁碟則是多區域資源。新增永久儲存空間時,除非指定了區域,否則 GKE 會將磁碟指派給單一隨機區域。如要瞭解如何控管區域,請參閱永久磁碟中的區域。
自動調整地區叢集的資源配置
使用叢集自動配置器,在地區標準模式叢集中自動調整節點集區大小時,請注意下列事項。
您也可以進一步瞭解地區叢集的自動調度資源限制,或叢集自動配置器如何平衡多個區域之間的叢集大小。
這些注意事項僅適用於搭配叢集自動配置器的標準模式叢集。
超額佈建資源調度限制
為了在鮮少會出現區域中斷的情況下維持容量,您可以允許 GKE 超額佈建資源調度限制,確保即使部分區域無法使用,仍能維持最低可用性。
舉例來說,假設以超額 150% 的比例佈建三個區域的叢集 (50% 的超額容量),可在失去三分之一的叢集容量時,確保 100% 的流量都會轉送到可用的區域。在上述範例中,您可以指定每個區域的節點最多為六個而不是四個來達成這個目的。如果一個區域失效,其餘區域的叢集就會調整為 12 個節點。
同理,如果以超額 200% 的比例佈建兩個區域的叢集,那麼在失去叢集的一半容量時,可以確保 100% 的流量完成重新轉送。
如要進一步瞭解叢集自動配置器,請參閱 Kubernetes 說明文件的自動調度資源常見問題。