在 vSphere 上启动 Ray 集群#

本指南详细介绍了在 vSphere 环境中启动 Ray 集群所需的步骤。

要启动 vSphere Ray 集群,您将使用 Ray 集群启动器以及部署在 vSphere 上的 supervisor 服务(控制平面)。

准备 vSphere 环境#

如果您还没有 vSphere 部署,可以阅读 vSphere 文档 了解更多信息。vSphere Ray 集群启动器需要 vSphere 9.0 或更高版本,以及创建 Ray 集群的以下先决条件。

在 vSphere 上为 Ray 安装 supervisor 服务#

请参考 构建和安装指南 将 Ray 控制平面作为 supervisor 服务安装在 vSphere 上。vSphere Ray 集群启动器要求 vSphere 环境已安装作为 supervisor 服务的控制平面,以便部署 Ray 集群。此服务会安装所有用于快速创建 head 和 worker 节点的 k8s CRD。使用 supervisor 服务进行 Ray 集群配置过程的详细信息可以在此 Ray on vSphere 架构文档 中找到。

安装 Ray 集群启动器#

Ray 集群启动器是 ray CLI 的一部分。您可以使用 CLI 通过 ray upray downray attach 等命令来启动、停止和附加到正在运行的 Ray 集群。您可以使用 pip 安装支持集群启动器的 ray CLI。有关更详细的说明,请遵循Ray 安装文档

# install ray
pip install -U ray[default]

使用 Ray 集群启动器启动 Ray#

一旦 Ray supervisor 服务处于活动状态,您就可以使用集群启动器启动您的集群了。提供的 集群配置文件 将创建一个小型集群,其中 head 节点配置为自动扩展到最多两个 worker。

请注意,您需要通过设置环境变量或将其添加到 Ray 集群配置 YAML 文件中来配置您的 vSphere 凭据和 vCenter 服务器地址。

通过从本地机器运行以下命令来测试它是否正常工作

# Download the example-full.yaml
wget https://raw.githubusercontent.com/ray-project/ray/master/python/ray/autoscaler/vsphere/example-full.yaml

# Create or update the cluster. When the command finishes, it will print
# out the command that can be used to SSH into the cluster head node.
ray up example-full.yaml

# Get a remote screen on the head node.
ray attach example-full.yaml

# Try running a Ray program.
python -c 'import ray; ray.init()'
exit

# Tear down the cluster.
ray down example-full.yaml

恭喜,您已在 vSphere 上启动了 Ray 集群!

将 vSAN 文件服务配置为 Ray AI 库的持久存储#

从 Ray 2.7 开始,Ray AI 库(Train 和 Tune)将要求用户在运行分布式训练或调优作业时提供云存储或 NFS 路径。在具有 vSAN 数据存储的 vSphere 环境中,您可以使用 vSAN 文件服务功能将 vSAN 用作共享的持久存储。您可以参考 此 vSAN 文件服务文档 来创建和配置由 vSAN 支持的 NFS 文件共享。一般步骤如下:

  1. 启用 vSAN 文件服务并使用域信息和 IP 地址池进行配置。

  2. 使用 NFS 作为协议创建 vSAN 文件共享。

  3. 查看文件共享信息以获取 NFS 导出路径。

创建文件共享后,您可以将其挂载到 head 和 worker 节点,并将挂载路径用作 Ray Train 和 Tune 中 `RunConfig` 参数的 `storage_path