ray-project/kuberay

A toolkit to run Ray applications on Kubernetes

解决的问题

KubeRay 简化了在 Kubernetes 上部署和管理 Ray 应用程序的过程,消除了手动配置和扩展分布式 AI 工作负载的复杂性。

工作原理

它作为 Kubernetes Operator 运行,提供三种主要的自定义资源定义(CRD)来管理不同类型的负载:

  • RayCluster:管理 Ray 集群的完整生命周期,包括创建、删除、自动扩缩容和容错能力。
  • RayJob:自动化集群创建和作业提交流程,支持在作业完成后自动删除集群。
  • RayService:将 RayCluster 与 Ray Serve 部署图结合,实现高可用性和零停机升级。

此外,它还提供 kubectl ray 插件以简化工作流、API 服务器用于配置管理,以及一个实验性的仪表板用于资源可视化。

适用人群

需要在 Kubernetes 上大规模运行分布式机器学习训练、LLM 在线推理和批量推理的基础设施工程师和 ML 平台团队。

主要亮点

  • 自动化生命周期管理:处理从集群设置到清理的全部流程,适用于作业场景。
  • 高可用性:通过 RayService 实现零停机升级。
  • Kubernetes 集成:与可观测性工具(Prometheus、Grafana)、队列系统(Volcano、Kueue)和入口控制器(Nginx)集成。
  • 可扩展性:已证明可扩展至数千个节点,适用于 LLM 训练和推理。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目