ray-project/kuberay
A toolkit to run Ray applications on Kubernetes
What it solves
KubeRay は、Kubernetes 上で Ray アプリケーションのデプロイと管理を簡素化し、トレーニングや推論といった分散 AI ワークロードのためにクラスターを手動で設定する複雑さを取り除きます。
How it works
Kubernetes オペレーターとして動作し、以下の 3 つの主要な 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 インフラをスケールさせています。