ray-project/kuberay
A toolkit to run Ray applications on Kubernetes
What it solves
KubeRay 簡化了在 Kubernetes 上部署與管理 Ray 應用程式的流程,免除手動配置叢集以執行分散式 AI 工作負載(如訓練與推論)的複雜性。
How it works
它作為 Kubernetes Operator 提供三個主要的 Custom Resource Definitions(CRD)來管理不同類型的工作負載:
- RayCluster:管理 Ray 叢集的完整生命週期,包括建立、刪除、自動擴縮與容錯。
- RayJob:自動建立叢集、提交特定工作,並可在完成後自動刪除叢集。
- RayService:將 RayCluster 與 Ray Serve 部署圖結合,以實現高可用性與零停機升級。
此外,它還提供 kubectl ray 插件以簡化工作流程、用於設定管理的 API 伺服器,以及用於資源可視化的實驗性儀表板。
Who it’s for
此工具設計給需要在 Kubernetes 上大規模執行分散式機器學習與 AI 應用(例如 LLM 線上推論或批次訓練)的開發者與平台工程師。
Highlights
- Automated Lifecycle Management:自動處理叢集的建立、擴縮與容錯。
- Integrated Ecosystem:整合 Prometheus、Grafana、Nginx,以及 Volcano、Kueue 等排程系統。
- Workload-Specific Resources:為長期服務(RayService)與一次性工作(RayJob)提供專屬資源。
- Scalability:被 Apple、Google、Spotify 等公司使用,以將 AI 基礎設施擴展至上千個節點。