CodeFlare SDK 教程
本教程演示如何使用 CodeFlare SDK 向现有 RayCluster 提交 RayJob。您将学习如何启动 Ray 集群、验证其状态、提交 RayJob,以及管理集群生命周期。
前提条件
- 您已在数据科学集群中安装了
Alauda Build of KubeRay Operator集群插件,参见 安装 Alauda Build of KubeRay Operator。 - 您可以访问 Alauda AI 中的一个命名空间,创建一个 workbench,并且该 workbench 正在运行一个包含 CodeFlare SDK 的默认 workbench 镜像,例如 Standard Data Science notebook。有关创建 workbench 的信息,请参见 创建 Workbench。
- 您已登录 Alauda AI,启动了您的 workbench,并登录到 JupyterLab。
演示 Notebook
下载演示 Jupyter notebook,以便跟随本教程进行操作:
- Notebook: CodeFlare SDK RayJob Demo
单击 JupyterLab 页面上的向上箭头按钮,上传已下载的 notebook 文件。
操作步骤
在 JupyterLab 中打开演示 notebook,并按照以下步骤操作。每个步骤都对应 notebook 中的一个部分。
步骤 1:创建 RayCluster
运行前两个代码单元,导入 CodeFlare SDK,并使用 ClusterConfiguration API 创建一个 Ray 集群。在运行之前,请将 image 参数更新为与您的硬件架构兼容的 Ray 集群镜像。如果您的集群无法直接访问互联网,请使用内部镜像仓库中的镜像。
cluster.apply() 调用会提交集群配置,并等待其就绪。您可以根据需要调整 timeout 值。
步骤 2:验证集群状态
运行 cluster.status() 单元。如果集群没有立即启动,请再运行该单元几次,直到看到其处于 Ready 状态。
步骤 3:提交 RayJob
运行 RayJob 单元,向正在运行的集群创建并提交一个作业。请注意以下参数:
job_name:您的 RayJob 的唯一名称。cluster_name:必须与现有 RayCluster 的名称一致。entrypoint:要执行的命令。在标准实践中,这里通常应指向一个 Python 训练脚本,而不是演示中使用的内联命令。
步骤 4:监控 RayJob
运行 rayjob.status() 单元。此函数会根据 RayJob 的当前状态输出不同的表格。您可以多次重新运行该单元,以观察状态变化。
步骤 5:清理
作业完成后,运行 cluster.down() 关闭集群。
WARNING
为了实现最佳资源管理,当 Ray 集群不再使用时,您应始终将其删除。