kuberay-project/kuberay

A toolkit to run Ray applications on Kubernetes

KubeRay – Kubernetes オペレーター for Ray

概要

  • オープンソースの CNCF サンドボックスプロジェクトで、Kubernetes クラスター上で Ray ワークロード(分散トレーニング、推論、サービングなど)を実行するための Kubernetes オペレーターを提供します。
  • RayCluster、RayJob、RayService の 3 つのカスタムリソースを定義し、Kubernetes マニフェストから Ray クラスターを宣言的に作成、スケーリング、管理できます。

主要コンポーネント

コンポーネント 目的
RayCluster Ray クラスターのライフサイクル全体(作成、オートスケーリング、耐障害性、削除)を管理します。
RayJob 一時的な RayCluster を起動し、ジョブを実行し、ジョブ完了時にクラスターを自動的に削除します。
RayService RayCluster と Ray Serve デプロイメントグラフを組み合わせ、ダウンタイムなしのアップグレードと高可用性サービングを実現します。
kubectl-ray プラグイン (ベータ) 生の Kubernetes オブジェクトにあまり詳しくないユーザー向けに、一般的な KubeRay 操作を簡素化する CLI ヘルパー(kubectl ray ...)。
KubeRay APIServer (アルファ) カスタム UI やその他のツールが KubeRay リソースを管理するために使用できる軽量な API レイヤー。
KubeRay ダッシュボード (実験的) Ray クラスター、ジョブ、サービスを可視化・管理するための Web UI。

なぜ使うのか

  • 宣言的: 他の Kubernetes アプリと同様に、YAML で Ray ワークロードを定義できます。
  • ネイティブなスケーリング: Kubernetes のオートスケーリングメカニズムを活用し、キューイングシステム(Volcano、Kueue など)と統合して弾力的なリソース割り当てを実現します。
  • 可観測性: Prometheus、Grafana、プロファイリングツール(py-spy)とすぐに連携します。
  • 本番環境対応のパターン: ダウンタイムなしのアップグレード、高可用性サービング、一時クラスターの自動クリーンアップをサポートします。

一般的なユースケース

  • 大規模な分散モデルトレーニング(例:Ray Train)。
  • GPU/TPU を使用した推論を含む、Ray Serve による大規模言語モデル(LLM)のサービング。
  • バッチ推論パイプラインとアンサンブルモデルのサービング。
  • Kubernetes のスケジューリング、セキュリティ、マルチテナンシー機能の恩恵を受けるあらゆる Ray ベースのワークロード。

はじめに

  1. オペレーターをインストールします(例:Helm または提供されたマニフェストの kubectl apply を使用)。
  2. カスタムリソースを選択します:
    • 長時間実行クラスターの場合は RayCluster。
    • 一度きりのジョブの場合は RayJob。
    • 自動ロールアウトによる API サービングの場合は RayService。
  3. 対応する YAML マニフェストを適用します。オペレーターが Ray ヘッドとワーカーポッドを作成し、オートスケーリングを処理し、ヘルスを監視します。
  4. オプションで、kubectl ray submit ... などのショートカットを実行するために kubectl ray プラグインをインストールします。

エコシステム統合

  • 一般的な Kubernetes アドオン(Ingress コントローラー(NGINX)、可観測性スタック(Prometheus/Grafana)、バッチスケジューラー(Volcano、Kueue、YuniKorn))と連携します。
  • ドキュメントと例は Ray ドキュメントサイトでホストされており、トレーニング、LLM 推論、バッチジョブなどがカバーされています。

コミュニティとサポート

  • アクティブな Slack チャンネル #kuberay と隔週のコミュニティミーティング。
  • ガバナンスと貢献ガイドライン(GOVERNANCE.md、CONTRIBUTING.md)が提供されています。
  • セキュリティ問題はプロジェクトのセキュリティポリシーに従って報告されます。

ライセンス

  • Apache-2.0。

まとめ KubeRay は、Ray の強力な分散コンピューティングモデルをファーストクラスの Kubernetes ワークロードに変え、AI/ML チームが使い慣れた Kubernetes ツールを使用して、トレーニングおよびサービングパイプラインをデプロイ、スケーリング、運用できるようにします。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト