您可以在 Google Kubernetes Engine (GKE) 上,為嚴苛的 AI 推論工作負載實現彈性的跨區域高可用性,有效且可靠地存取不同 Cloud de Confiance 區域的加速器容量。這項解決方案採用 GKE 多叢集推論閘道和 GKE 自動調度資源功能,可讓工作負載存取不同區域的加速器容量,並依據容量調整資源。這種做法可提高 AI 應用程式的資源可用性、擴充性和韌性。本文將說明彈性跨區域高可用性的優點、主要元件和整體機制。
閱讀本文前,請先熟悉下列概念:
本文件適用於下列角色:
- 機器學習 (ML) 工程師、平台管理員和操作員,以及有興趣使用 Kubernetes 提供 AI/機器學習工作負載的資料和 AI 專家
- 與 Kubernetes 網路互動的雲端架構師或網路專家
如要進一步瞭解Cloud de Confiance 內容中提及的常見角色和工作範例,請參閱「常見的 GKE Enterprise 使用者角色和工作」。
彈性跨區域高可用性的優點
彈性跨區域高可用性功能提供多項重要優勢,可協助您管理 AI/機器學習推論工作負載,包括:
- 容量和擴充性更高:匯集不同區域多個叢集的 GPU 或 TPU 資源,克服單一區域加速器短缺的問題。您也可以使用不同的加速器類型,進一步擴充容量集區。這種做法可讓 AI 推論工作負載超出任何單一區域或加速器類型的容量,自動運用機群中的可用資源,不受區域限制。
- 自動溢位,並提升可靠性和可用性:閘道會智慧轉送流量,優先處理偏好的區域或叢集。當某個位置達到容量上限時,流量會自動溢出至其他有可用資源的位置。這種做法搭配多區域部署,可提升高可用性和容錯能力,因為系統可以略過發生問題的叢集或區域。
- AI 最佳化流量分配:使用依使用率調整的負載平衡,搭配自訂 AI 專屬指標,例如鍵/值快取用量。這項設定可確保全球最佳化路徑決策。AI 最佳化流量分配功能會將要求傳送至具備處理能力的後端,進而提升效能,並防止多叢集推論機群超載。
彈性跨區域高可用性的運作方式
GKE 的彈性跨區域高可用性功能,可讓 AI 推論工作負載自動使用多個 Cloud de Confiance 區域的加速器運算資源 (例如 GPU 或 TPU)。當主要區域的必要資源容量不足時,這項解決方案會根據您定義的偏好設定,智慧轉送流量並將工作負載擴充至其他有可用容量的區域。
以下說明彈性跨區域高可用性的重要元件,以及這些元件如何協同運作:
- 多叢集 Inference Gateway:推論應用程式部署在不同區域的多個 GKE 叢集。這些叢集會做為 GKE 機群的一部分進行管理。GKE 多叢集推論閘道 (MCG) 設有內部負載平衡器,可為推論要求提供單一私人端點。這個閘道會瞭解機群中所有叢集的服務部署作業。
- 依使用率平衡:負載平衡器不會使用基本要求比率,而是根據模型伺服器回報的即時自訂使用率指標分配流量。如果是 AI 推論,這通常是 KV 快取使用率等指標,反映伺服器的實際負載。
- 位置和資源偏好設定:建立叢集時,您可以設定允許哪些區域或可用區執行 AI 推論工作負載,並使用下列項目指定偏好順序:
GCPBackendPolicy:這項政策會附加至閘道,可讓您定義偏好的後端。您可以指定負載平衡器應優先將流量傳送至哪些區域 (即叢集)。這項政策通常會與您預留容量的位置,或延遲時間要求較低的位置保持一致。- 自訂運算類別 (選用,如果您使用節點集區自動建立功能):
在每個 GKE 叢集中,您可以使用自訂 ComputeClass 物件定義偏好的節點類型,包括機型 (例如
a3-highgpu-8g)、容量類型 (例如預留、隨選和 Spot),甚至是該區域內的偏好可用區。
- 動態調度資源和轉送流量:系統會根據下列程序調度及轉送流量:
- 傳入要求會到達多叢集 Ingress 閘道的內部負載平衡器。
- 負載平衡器會依據
GCPBackendPolicy,優先將流量傳送至偏好區域中的後端。 - 系統會根據自訂使用率指標,在區域內和後端之間分配流量。
- 每個叢集中的水平 Pod 自動配置器 (HPA) 會根據相同的用量指標,向上或向下調度模型伺服器 Pod 的數量
- 在自訂 ComputeClass 的引導下,GKE 叢集自動配置器和自動佈建節點功能會新增或移除偏好類型和可用區的節點,以滿足 Pod 的資源調度需求。
- 彈性跨區域高可用性實際運作:如果偏好區域中的模型伺服器已充分利用 (即沒有額外可用容量),負載平衡器會自動將流量溢出至其他已設定區域中具有可用容量的叢集。接著,HPA 和叢集自動配置器會視需要,在這些備用區域中擴充資源。
後續步驟
- 如要瞭解如何部署彈性跨區域高可用性解決方案,請參閱「設定彈性跨區域高可用性」。