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 インフラをスケールさせています。