關於 Google Kubernetes Engine (GKE) 上的 Ray


本頁面提供 Ray Operator 和相關自訂資源的總覽,說明如何在 Google Kubernetes Engine (GKE) 上部署及管理 Ray 叢集和應用程式。

Ray 是開放原始碼的整合式運算架構,可擴充 AI/機器學習和 Python 應用程式。Ray 提供一組程式庫,可將 AI/ML 的運算執行階段分配到多個運算節點。

如要瞭解如何在 GKE 上啟用 Ray 運算子,請參閱「在 GKE 上啟用 Ray 運算子」。

為什麼要在 GKE 上使用 Ray 運算子

建議您使用 Ray Operator 在 GKE 上部署及管理 Ray 叢集。在 GKE 上執行 Ray 運算子時,您可享有 Ray 的 Python 支援,以及 GKE 的企業級穩定性、可攜性和擴充性。

GKE 上的 Ray 運算子是以 KubeRay 為基礎,提供專為管理 Ray 叢集設計的宣告式 Kubernetes API。也就是說,您可以在 GKE 上佈建、擴充及管理 Ray Deployment,以及其他容器化工作負載。

GKE 上的 Ray 運算子運作方式

在 GKE 叢集中啟用 Ray 運算子後,GKE 會自動安裝及代管 KubeRay 運算子。

KubeRay 提供 Kubernetes 自訂資源,可管理 Kubernetes 上的 Ray 部署作業,包括:

RayCluster 自訂資源

RayCluster 自訂資源可讓您指定 GKE 要部署為 Kubernetes Pod 的 Ray 叢集。Ray 叢集通常包含一個首要 Pod 和多個工作站 Pod。

RayJob 自訂資源

您可以使用 RayJob 自訂資源執行單一 Ray 工作。KubeRay 會建立 RayCluster,為工作提供運算資源,然後建立 Kubernetes 工作,將 Ray 工作提交至 RayCluster 的頭部 Pod。

為有效管理資源,您可以設定 KubeRay,在工作順利完成後自動清除 RayCluster。

RayService 自訂資源

您可以使用 RayService 自訂資源設定 Ray Serve 應用程式,例如模型服務和推論應用程式。KubeRay 會建立 RayCluster 來提供運算資源,然後根據 Ray Serve 設定部署 Ray Serve 應用程式。

Ray on GKE 共同責任

選擇使用 Ray 運算子在 GKE 上執行 Ray 工作負載時,請務必瞭解您和客戶之間的責任劃分方式: Google Cloud

Google 的責任

  • 維持 KubeRay 運算子的可靠性和運作時間。
  • 管理 KubeRay 運算子的版本升級。
  • KubeRay 專屬功能,可管理 RayCluster、RayJob 和 RayService 自訂資源。

客戶責任

  • 維護用於 Ray 節點和 Ray 工作站 Pod 的容器映像檔。
  • 維護 Ray 標頭和 Ray 工作站 Pod 的版本控管和升級。
  • 為 Ray 叢集設定資源需求 (CPU、GPU、記憶體等)。
  • 遵循保護 Ray 叢集的最佳做法。
  • Ray 應用程式的可靠性和監控功能。

詳情請參閱 GKE 共同責任

後續步驟