kuberay:用於管理 Ray 叢集、工作與服務生命週期的 Kubernetes Operator

kuberay:用於管理 Ray 叢集、工作與服務生命週期的 Kubernetes Operator

它解決了什麼問題

KubeRay 簡化了在 Kubernetes 上部署與管理 Ray 應用程式的流程,免除手動配置分散式 AI 工作負載(如訓練與推論)叢集的複雜性。

它如何運作

它作為 Kubernetes Operator,提供三個主要的自訂資源定義(CRD)來管理不同類型的工作負載:

  • RayCluster:管理 Ray 叢集的完整生命週期,包括建立、刪除、自動擴縮與容錯。
  • RayJob:自動建立叢集、提交特定工作,並可在完成後自動刪除叢集。
  • RayService:將 RayCluster 與 Ray Serve 部署圖結合,以實現高可用性與零停機升級。

此外,它還提供 kubectl ray 插件以簡化工作流程、用於設定管理的 API 伺服器,以及用於資源可視化的實驗性儀表板。

目標對象

此工具設計給需要在 Kubernetes 上大規模執行分散式機器學習與 AI 應用(例如 LLM 線上推論或批次訓練)的開發者與平台工程師。

重點特色

  • 自動化生命週期管理:自動處理叢集的建立、擴縮與容錯。
  • 整合生態系:與 Prometheus、Grafana、Nginx 以及 Volcano、Kueue 等排程系統整合。
  • 工作負載專屬資源:為長期服務(RayService)與一次性工作(RayJob)提供專屬資源。
  • 可擴展性:被 Apple、Google、Spotify 等公司使用,以將 AI 基礎設施擴展至數千個節點。

Sources