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