主题
创建工作流
工作流把多个 Job 按照 DAG 中的依赖关系依次创建。开始前,请先确认子 Job 能进入终态。
默认示例不可直接运行
对话框预填的任务名称、镜像和运行脚本只是占位内容,不是可以直接运行的 RLinf 配方。控制台创建的子 Job 可能无法上报成功或失败终态。提交前必须确认镜像、Header 单副本、选择器、持久输出和终态行为;本流程不适用于真实机器人任务。
Step 1 设计 DAG
- 打开工作流,选择创建工作流。
- 输入唯一的 Workflow 名称。
- 为每个阶段添加一个节点,并使用稳定、可辨识的名称。
- 从前置节点的输出端拖到后续节点,建立依赖。创建器会拒绝自环和已检测到的环。
- 让每个前置模板在 YAML 中出现在依赖它的模板之前。Workflow 按数组顺序检查依赖;引用后出现的模板会被判定为未知依赖。
Step 2 配置每个 Job
逐个选择节点和角色,按普通 Job 的要求配置:
- Job 类型、角色和唯一 Header;
- 集群、节点选择器和匹配副本数。每个选择器键只使用一个值;
- GPU、设备、镜像、准备脚本和非敏感环境变量;
- 对象存储或主机目录(
hostPath)挂载,并确认每个子 Job 的输入和输出都使用正确的容器内挂载路径; - 可选 Domain;
- Head 运行脚本。
提交前,请平台管理员从全局 Node 清单确认每个 Header 角色恰好匹配 1 个 Node。工作流创建器与 Job 创建器具有相同的选择器、镜像、运行时和存储限制,参见任务创建字段、在训练任务中使用存储和提交前检查。
Step 3 检查 YAML
进入YAML 预览,至少检查:
spec.jobTemplates的名称唯一且顺序为前置在先。- 每个
dependencies只引用已经出现的模板,且图中无环。 - 每个模板内的 JobSpec 与单独提交该 Job 时使用的配置一致。
- 镜像为已记录的 digest 或受控不可变引用。前后 Job 需要交接的输入和输出使用经过验证的对象存储;只有管理员确认相关 Job 都会落到保留相同目录的节点时,才使用主机目录。
- 没有凭据、私钥或未经允许的主机及设备访问。
YAML 预览只显示即将提交的 RLark CRD,不会解析 Hydra、检查镜像和数据产物,也不会试运行 DAG。
Step 4 提交和验证
确认目标环境中的子 Job 能够进入 Succeeded 或 Failed 后,再选择创建。提交后:
- 确认 Workflow 出现在列表中。
- 在详情页记录根节点生成的子 Job 名称和状态。
- 检查根节点的业务输出和持久化产物,不要只看 Running。
- 确认前置 Job 到达 Succeeded 后,依赖节点才被创建。
若前置 Job 的脚本已经结束但状态一直为 Running,不要删除并反复提交。请保存 Workflow YAML、子 Job/Task 状态和日志,停止相关 Job 后联系平台管理员。这通常与 StatefulSet 任务无法可靠上报终态有关。