地區叢集

本頁面說明地區叢集的運作方式。如要瞭解如何建立地區叢集,請參閱建立叢集

總覽

根據預設,叢集會在您建立該叢集時指定的一個運算區域中建立其主要執行個體和節點。您可以建立「地區叢集」來提高可用性和彈性。

地區叢集可為整個叢集提供一個靜態端點,並將叢集的 Pod 散佈到特定地區的多個區域。如此一來,即使一或多個 (但非全部) 個別區域發生服務中斷或停機情況,您都能照常存取叢集的控制層。

地區叢集會將 Kubernetes 資源散佈到一個地區的多個區域,而一個地區叢集的主節點和節點會散佈到多個區域。主節點數目、每個區域的節點數目以及區域數目都預設為三,但您可以增減這個數值,來達成適當的叢集大小和區域數目。

您在建立叢集時,必須決定要建立區域叢集還是地區叢集。現有的區域叢集不能轉換成地區叢集,反之亦然。

限制

  • 根據預設,地區叢集由九個節點組成,這些節點平均散佈到一個地區的三個區域,共耗用九個 IP 位址。如有需要,您可以將節點數降為每個區域一個。剛建立 Google Cloud Platform 帳戶時,每個區域只會授予八個 IP 位址,所以您可能需要根據地區叢集的大小,為地區使用中的 IP 位址申請調高配額。如果可用的使用中 IP 位址太少,叢集建立作業會失敗。
  • 對執行 GPU 的地區叢集來說,目前地區在三個區域中都沒有 GPU 類型。如果您希望地區叢集執行 GPU,則必須使用 --node-locations 標記來指定區域。

    如果試圖建立橫跨三個區域的 GPU 叢集,會傳回以下錯誤:

    ERROR: (gcloud.container.clusters.create) ResponseError: code=400, message=
              (1) accelerator type "nvidia-tesla-k80" does not exist in zone us-west1-c.
              (2) accelerator type "nvidia-tesla-k80" does not exist in zone us-west1-a.
  • 您不能在叢集區域之外建立節點集區,但可以變更叢集的區域,讓所有新節點和現有節點橫跨這些區域。

定價

地區叢集免費提供,不另外收費。

使用地區叢集需要更多的專案地區配額。請務必先瞭解配額和 Google Kubernetes Engine 定價,再使用地區叢集。如果您看到 Insufficient regional quota to satisfy request for resource 錯誤,表示您的要求超過目前地區的可用配額。

此外,跨區域的節點到節點流量將需付費。舉例來說,某個區域的服務需要與另一個區域的服務通訊,此時,將需要支付跨區域網路流量費用。詳情請參閱 Compute Engine 定價頁面的「在相同地區內的不同區域之間輸出 (每 GB)」定價。

地區叢集的運作方式

地區叢集會在一個地區內的多個區域之間複製叢集主節點和節點。例如,位於 us-east1 地區的地區叢集會在以下三個 us-east1 區域中建立主節點和節點:us-east1-bus-east1-cus-east1-d。這可確保資源的高可用性,保護叢集不受區域停機影響,因為一個區域失效時,地區叢集及其資源並不會失效。如果基礎架構服務中斷,地區控制層仍然可用,而節點可以透過手動或使用叢集自動配置器重新平衡。

使用地區叢集的優點包括:

  • 單一區域故障後復原。 整個「地區」均適用地區叢集,並不侷限於地區內的某個區域。如果某一個區域無法使用,不會影響 Kubernetes 控制層和資源。
  • 零停機主要執行個體升級、主要執行個體調整大小,以及縮短主要執行個體故障後的停機時間。地區叢集提供高可用性控制層,即便在升級過程中,您也可以存取控制層。

地區叢集的永久儲存空間

永久儲存磁碟屬於區域資源。為叢集新增永久儲存空間時,除非指定了區域,否則 GKE 會將磁碟指派給單一區域。GKE 會隨機選擇區域。使用 StatefulSet 時,為每個備用資源佈建的永久磁碟會散佈到多個區域。

佈建永久磁碟後,任何參照這個磁碟的 Pod 都會排定到與磁碟相同的區域。

讀寫式的永久磁碟不能連接到多個節點。

自動調整地區叢集的資源配置

您可以使用叢集自動配置器來自動調整地區叢集的資源配置,以下各節提供使用叢集自動配置器搭配地區叢集的注意事項。

超額佈建資源調度限制

為了在鮮少會出現區域中斷的情況下維持容量,您可以超額佈建資源調度限制。

舉例來說,假設以超額 150% 的比例佈建三個區域的叢集,可在失去三分之一的叢集容量時,確保 100% 的流量都會轉送到可用的區域。在以上範例中,您可以指定每個區域的節點最多為六個而不是四個來達成這個目的。如果一個區域失效,其餘區域的叢集就會調整為十二個節點。

同理,如果以超額 200% 的比例佈建兩個區域的叢集,那麼在失去叢集的一半容量時,可以確保 100% 的流量完成重新轉送。

如要進一步瞭解叢集自動配置器,請參閱叢集自動配置器說明文件或 Kubernetes 說明文件的自動調度資源常見問題

自動調度資源限制

如要瞭解地區叢集的自動調度資源限制,請參閱自動調度資源限制

跨區域平衡

如要瞭解叢集自動配置器如何平衡多個區域之間的叢集大小,請參閱跨區域平衡

相關資源

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Kubernetes Engine 說明文件