跳转到正文

创建工作流

工作流把多个 Job 按照 DAG 中的依赖关系依次创建。开始前,请先确认子 Job 能进入终态

默认示例不可直接运行

对话框预填的任务名称、镜像和运行脚本只是占位内容,不是可以直接运行的 RLinf 配方。控制台创建的子 Job 可能无法上报成功或失败终态。提交前必须确认镜像、Header 单副本、选择器、持久输出和终态行为;本流程不适用于真实机器人任务。

Step 1 设计 DAG

  1. 打开工作流,选择创建工作流
  2. 输入唯一的 Workflow 名称。
  3. 为每个阶段添加一个节点,并使用稳定、可辨识的名称。
  4. 从前置节点的输出端拖到后续节点,建立依赖。创建器会拒绝自环和已检测到的环。
  5. 让每个前置模板在 YAML 中出现在依赖它的模板之前。Workflow 按数组顺序检查依赖;引用后出现的模板会被判定为未知依赖。

Step 2 配置每个 Job

逐个选择节点和角色,按普通 Job 的要求配置:

  • Job 类型、角色和唯一 Header;
  • 集群、节点选择器和匹配副本数。每个选择器键只使用一个值;
  • GPU、设备、镜像、准备脚本和非敏感环境变量;
  • 对象存储或主机路径挂载;
  • 可选 Domain;
  • Head 运行脚本。

提交前,请平台管理员从全局 Node 清单确认每个 Header 角色恰好匹配 1 个 Node。工作流创建器与 Job 创建器具有相同的选择器、镜像、运行时和存储限制,参见任务创建字段提交前检查

Step 3 检查 YAML

进入YAML 预览,至少检查:

  1. spec.jobTemplates 的名称唯一且顺序为前置在先。
  2. 每个 dependencies 只引用已经出现的模板,且图中无环。
  3. 每个模板内的 JobSpec 与单独提交该 Job 时使用的配置一致。
  4. 镜像为已记录的 digest 或受控不可变引用,输入和输出使用持久路径。
  5. 没有凭据、私钥或未经允许的主机及设备访问。

YAML 预览只显示即将提交的 RLark CRD,不会解析 Hydra、检查镜像和数据产物,也不会试运行 DAG。

Step 4 提交和验证

确认目标环境中的子 Job 能够进入 Succeeded 或 Failed 后,再选择创建。提交后:

  1. 确认 Workflow 出现在列表中。
  2. 在详情页记录根节点生成的子 Job 名称和状态。
  3. 检查根节点的业务输出和持久化产物,不要只看 Running。
  4. 确认前置 Job 到达 Succeeded 后,依赖节点才被创建。

若前置 Job 的脚本已经结束但状态一直为 Running,不要删除并反复提交。请保存 Workflow YAML、子 Job/Task 状态和日志,停止相关 Job 后联系平台管理员。这通常与 StatefulSet 任务无法可靠上报终态有关。