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 基础设施扩展到数千节点。