在 GCP 上启动 Ray 集群#

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

要启动一个 GCP Ray 集群,您将使用 Ray 集群启动器与 Google API 客户端。

安装 Ray 集群启动器#

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

# install ray
pip install -U ray[default]

安装和配置 Google API 客户端#

如果你从未创建过 Google APIs Console 项目,请阅读 Google Cloud 的 管理项目页面 并在 Google API Console 中创建一个项目。接下来,使用 pip install -U google-api-python-client 安装 Google API 客户端。

# Install the Google API Client.
pip install google-api-python-client

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

一旦Google API客户端配置为管理您的GCP账户上的资源,您就应该准备好启动您的集群了。提供的集群配置文件将创建一个带有按需n1-standard-2头节点的小型集群,并配置为自动扩展到最多两个n1-standard-2抢占式工作节点。请注意,您需要在这些模板中填写您的GCP项目ID

通过从本地计算机运行以下命令来测试其是否工作:

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

# Edit the example-full.yaml to update project_id.
# vi 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

恭喜,您已经在GCP上启动了一个Ray集群!

GCP 配置#

使用服务账户运行工作节点#

默认情况下,只有头节点使用服务账户(ray-autoscaler-sa-v1@<project-id>.iam.gserviceaccount.com)运行。要使工作节点使用相同的服务账户(以访问Google Cloud Storage或GCR),请将以下配置添加到worker_node配置中:

available_node_types:
  ray.worker.default:
    node_config:
      ...
    serviceAccounts:
    - email: ray-autoscaler-sa-v1@<YOUR_PROJECT_ID>.iam.gserviceaccount.com
        scopes:
        - https://www.googleapis.com/auth/cloud-platform