Ray 作业概述#

一旦你部署了一个 Ray 集群(在 VMsKubernetes 上),你就可以准备运行一个 Ray 应用程序了!一个显示在 Ray 集群上运行作业的三种方式的图表。

Ray 作业 API#

在 Ray 集群上运行作业的推荐方法是使用 Ray Jobs API,它由一个 CLI 工具、Python SDK 和 REST API 组成。

Ray Jobs API 允许你将本地开发的应用程序提交到远程 Ray 集群中执行。它简化了打包、部署和管理 Ray 应用程序的体验。

向 Ray Jobs API 提交的内容包括:

  1. 一个入口命令,如 python my_script.py,并且

  2. 一个 运行时环境,它指定了应用程序的文件和包依赖关系。

一个任务可以由位于 Ray 集群外部的远程客户端提交。我们将在以下用户指南中展示这个工作流程。

提交作业后,无论原始提交者的连接状态如何,它都会运行一次直至完成或失败。重试或使用不同参数的不同运行应由提交者处理。作业与 Ray 集群的生命周期绑定,因此如果集群关闭,该集群上所有正在运行的作业都将被终止。

要开始使用 Ray Jobs API,请查看 快速开始 指南,该指南将引导您通过 CLI 工具提交和与 Ray Job 交互。这适用于任何可以通过 HTTP 与 Ray 集群通信的客户端。如果需要,Ray Jobs API 还提供了用于 编程式作业提交使用 REST 提交作业 的 API。

交互式运行作业#

如果你想交互式运行一个应用程序并实时查看输出(例如,在开发或调试期间),你可以:

  • (推荐) 直接在集群节点上运行您的脚本(例如,在使用 ray attach 通过 SSH 进入节点后),或者

  • (仅限专家) 使用 Ray Client 在保持与集群连接的同时从本地机器运行脚本。

请注意,通过这些方式启动的任务不由 Ray Jobs API 管理,因此 Ray Jobs API 将无法看到它们或与它们交互(ray job listJobSubmissionClient.list_jobs() 除外)。

内容#