Kubernetes 上的 Ray#

概述#

本节将介绍如何在 Kubernetes 集群上执行分布式 Ray 程序。

使用 KubeRay operator 是推荐的实现方式。该 operator 提供了一种 Kubernetes 原生的方式来管理 Ray 集群。每个 Ray 集群由一个 head 节点 pod 和一组 worker 节点 pod 组成。可选的自动扩缩容支持允许 KubeRay operator 根据 Ray 工作负载的需求调整 Ray 集群的大小,根据需要添加和移除 Ray pod。KubeRay 支持异构计算节点(包括 GPU),以及在同一个 Kubernetes 集群中运行具有不同 Ray 版本的多个 Ray 集群。

../../_images/ray_on_kubernetes.png

KubeRay 引入了三个不同的 Kubernetes 自定义资源定义 (CRD):RayClusterRayJobRayService。这些 CRD 帮助用户高效地管理针对不同用例量身定制的 Ray 集群。

请参阅 入门 了解 KubeRay 的基础知识,并按照快速入门指南在 Kubernetes 上使用 KubeRay 运行您的第一个 Ray 应用程序。

此外,Anyscale 是由 Ray 的创建者开发的托管 Ray 平台。它提供了一种便捷的方式,可以在您现有的 Kubernetes 基础设施(包括 EKS、GKE、AKS 或自托管 Kubernetes)上部署 Ray 集群。

了解更多#

Ray 文档提供了在 Kubernetes 上开始运行 Ray 工作负载所需的所有信息。

入门

了解如何启动 Ray 集群并在 Kubernetes 上部署 Ray 应用程序。

用户指南

了解在 Kubernetes 上配置 Ray 集群的最佳实践。

示例

在 Kubernetes 上尝试示例 Ray 工作负载。

生态系统

将 KubeRay 与第三方 Kubernetes 生态系统工具集成。

基准测试

查看 KubeRay 的基准测试结果。

故障排除

查阅 KubeRay 的故障排除指南。

关于 KubeRay#

Ray 的 Kubernetes 支持是在 KubeRay GitHub 仓库 中开发的,属于更广泛的 Ray 项目。KubeRay 被多家公司用于运行生产环境的 Ray 部署。

  • 请访问 KubeRay GitHub 仓库 来跟踪进度、报告错误、提出新功能或为项目做出贡献。