多叢集 Google Kubernetes Engine (GKE) Inference Gateway 會在多個 GKE 叢集之間,對 AI/機器學習推論工作負載進行負載平衡。這項服務整合了 GKE 多叢集閘道,可透過 Inference Gateway 進行叢集間的流量路徑,並提供 AI/ML 模型服務。這項整合可提升部署作業的擴充性和高可用性。本文說明閘道的核心概念和優點。
如要進一步瞭解如何部署多叢集 GKE Inference Gateway,請參閱「設定 GKE 多叢集 Inference Gateway」。
如要瞭解本文內容,您必須熟悉下列項目:
- GKE 中的 AI/機器學習自動化調度管理機制。
- 生成式 AI 術語。
- GKE 網路概念,包括服務、GKE 多叢集閘道和 Gateway API。
- 負載平衡Google Cloud,特別是負載平衡器與 GKE 的互動方式。
本文件適用於下列角色:
- 機器學習 (ML) 工程師、平台管理員和營運人員,以及有興趣使用 Kubernetes 容器自動化調度管理功能,提供 AI/機器學習工作負載服務的資料和 AI 專家。
- 與 Kubernetes 網路互動的雲端架構師或網路專家。
如要進一步瞭解我們在Google Cloud 內容中提及的常見角色和範例工作,請參閱「常見的 GKE Enterprise 使用者角色和工作」。
GKE 多叢集 Inference Gateway 的優點
多叢集 GKE Inference Gateway 可為管理 AI/機器學習推論工作負載帶來多項優勢,包括:
- 透過在多個 GKE 叢集 (甚至跨不同地理區域) 之間進行智慧型負載平衡,提升高可用性和容錯能力。推論工作負載仍可使用,且如果叢集或區域發生問題,系統會自動重新導向要求,盡量縮短停機時間。
- 從各個叢集匯集 GPU 和 TPU 資源,以因應需求增加的情況,藉此提升擴充性並最佳化資源用量。透過這種集區,工作負載可超出單一叢集的容量,並有效運用機群中的可用資源。
- 透過全球最佳化路線規劃功能,盡可能提升效能。閘道會使用進階指標 (例如所有叢集的鍵/值 (KV) 快取使用率),做出有效率的路由決策。這種做法可確保要求傳送至最適合處理要求的叢集,進而盡可能提升 AI/機器學習推論機群的整體效能。
限制
多叢集 GKE Inference Gateway 有以下限制:
整合 Model Armor:多叢集 GKE Inference Gateway 不支援整合 Model Armor。
Envoy Proxy 延遲時間報表:Envoy Proxy 只會回報成功 (
2xx) 要求的查詢延遲時間。系統會忽略錯誤和逾時。這種行為可能會導致全域伺服器負載平衡器 (GSLB) 低估失敗後端的實際負載,進而將更多流量導向已超載的服務。如要解決這個問題,請設定較長的請求逾時時間。例如,建議值為600s。網路端點群組 (NEG) 限制:每個Google Cloud 後端服務最多可有 50 個 NEG。使用多埠 InferencePool 時,每個可用區的每個埠都會建立專屬的 NEG。舉例來說,在一般地區叢集 (三個區域) 中,具有八個連接埠的 InferencePool 會產生 24 個 NEG。因此,多叢集閘道最多只能從兩個叢集匯總這類 InferencePool (兩個叢集 × 24 個 NEG = 48 個 NEG),否則就會達到 50 個 NEG 的限制。
重要元件
多叢集 GKE Inference Gateway 會使用多個 Kubernetes 自訂資源,管理推論工作負載和流量路徑:
- InferencePool:在目標叢集中,將相同的模型伺服器後端分組。這項資源可簡化模型服務執行個體的管理和擴充作業。單一和多叢集部署作業都支援多埠 InferencePool 物件。
InferenceObjective:定義 InferencePool 中特定模型的轉送優先順序。這項路徑可確保特定模型根據您的需求獲得流量偏好設定。GCPInferencePoolImport:使用設定叢集中的HTTPRoute,讓模型後端可供路由設定使用。從目標叢集匯出 InferencePool 時,系統會在設定叢集中自動建立這項資源。設定叢集是多叢集環境的中央控制點。GCPBackendPolicy:自訂流量負載平衡至後端的設定。舉例來說,您可以根據自訂指標啟用負載平衡,或為每個端點設定處理中要求的限制,保護模型伺服器。AutoscalingMetric:定義要從模型伺服器匯出的自訂指標,例如vllm:kv_cache_usage_perc。然後,您可以在GCPBackendPolicy中使用這些指標,做出更明智的負載平衡決策,並提升效能和資源使用率。
多叢集 GKE Inference Gateway 的運作方式
多叢集 GKE Inference Gateway 會管理流量,並將流量轉送至部署在多個 GKE 叢集中的 AI/機器學習模型。運作方式如下:
- 集中式流量管理:專屬的設定叢集會定義流量轉送規則。設定叢集是多叢集環境的中央控制點。為機群啟用多叢集 Ingress 時,您會將 GKE 叢集指定為設定叢集。這種集中式做法可讓您從單一位置,管理要求在整個 GKE 叢集機群中導向模型的方式。
- 彈性模型部署:實際的 AI/機器學習模型會在個別目標叢集中執行。這種分離方式可讓您在最合適的位置部署模型 (例如更靠近資料或具有特定硬體的叢集)。
- 輕鬆整合模型:在目標叢集中部署模型時,您可以使用 InferencePool 將模型的服務執行個體分組。匯出這個 InferencePool 會自動在設定叢集中提供路由。
- 智慧型負載平衡:閘道不僅會分配流量,還會做出智慧型轉送決策。您可以設定閘道使用各種信號,包括模型伺服器的自訂指標,確保連入要求傳送至最合適的叢集或模型執行個體,進而盡可能提升效能和資源使用率。舉例來說,您可以根據鍵/值 (KV) 快取用量等指標,將要求轉送至推論容量最充足的叢集。
後續步驟
- 如要部署閘道,請參閱「設定多叢集 GKE 推論閘道」。
- 如要瞭解如何在
GCPBackendPolicy資源中使用scopes欄位,請參閱「使用GCPBackendPolicy範圍自訂後端設定」。