主题
资源模型
了解 RLark 的资源层级,可以帮助你找到应该修改的配置,并判断列表中的状态来自哪一层。
从 Job 找到实际 Worker
text
Workflow
└── Job
└── Task
└── 数据面工作负载(Web 控制台创建 StatefulSet)
└── Pod(控制台显示为 Worker)- Workflow 编排多个 Job 模板及其依赖关系。
- Job 表示一次训练或评测任务,包含 Domain、停止标志和一组 Task 模板。
- Task 表示一个可调度的执行单元,记录角色、节点选择、工作负载、脚本和存储映射。
- Pod 由数据面回报,记录实际 Pod 的名称、节点、IP 和阶段。
- Worker 是控制台中的运行实例视图,通常对应某个 Task 下的 Pod;它不是独立的 RLark CRD。
RLark 根据 Job 模板创建 Task,数据面 Agent 再根据 Task 创建并观察工作负载。因此,Job、Task 和 Pod 的状态会逐层同步,操作后可能短暂不同步。
查询基础资源
下表用于按资源名称查找它在任务中的作用和 API 范围。
| 资源 | 作用 | API 范围 |
|---|---|---|
| Domain | 为 Job 和 Task 提供跨集群网络域 | 集群级 |
| Node | 表示数据平面中的计算节点,包含接入形态、可调度性和资源状态 | 命名空间级 |
| Job | 表示一次任务及其 Task 模板 | 集群级 |
| Task | 表示单个执行单元及其目标数据平面 | 命名空间级 |
| Pod | 记录目标集群最近上报的 Pod 状态 | 命名空间级 |
| Workflow | 表示多个 Job 的 DAG 编排 | 集群级 |
| DomainPeer | 同步同一 Domain 在一个数据平面中的路由和证书信息,主要由平台组件管理 | 命名空间级 |
| Addon | 表示安装到数据平面的附加组件 | 命名空间级 |
控制台中的“集群”汇总了已接入目标环境的信息,不是一个同名 CRD。Node 的命名空间和 cluster-id 等标签用于表示集群归属。
判断 Task 能否运行
Web 控制台创建 Kubernetes Task,并用 StatefulSet 描述各角色的副本。Task 的 agentType 还可以表达 Docker 或 Raw,但控制台没有对应的创建流程。
Task 要成功调度,需要同时满足:
- Domain 和目标数据平面可用;
nodeSelector能匹配预期节点;- 节点为 Online,且未标记为
unschedulable; - CPU、内存、GPU 等资源请求可以被满足;
- 镜像、存储和启动脚本能在目标环境中使用。
核对存储路径
对象存储不是 Job 的子资源。控制台会为角色生成 PVC 引用,在 Task 工作负载中保存“PVC 名称到 StorageClass 名称”的映射,再把 PVC 挂载到容器路径。
因此,需要分别确认文件已经上传、StorageClass 已在目标集群创建、PVC 已绑定,以及容器路径可见。参见存储。
选择要修改的资源
- 调整一次任务的角色、资源、脚本和挂载:修改或重新创建 Job。
- 查看具体副本的节点、IP、日志或终端:进入 Worker 视图。
- 控制节点是否接收新任务:修改 Node 的可调度状态。
- 接入新的对象存储:创建或更新存储配置。
- 编排多个相互依赖的任务:使用 Workflow。
Task、数据面工作负载和 Pod 都由 RLark 持续协调。直接修改这些数据面对象的结果可能被后续协调覆盖;长期配置应通过 Job 或对应的管理入口完成。
本页只说明使用控制台时需要理解的资源关系。要进一步了解控制面、数据面、协调流程和跨集群网络,请查阅源码仓库中的技术架构(简体中文)。维护已部署环境时,请使用与该环境相同的 Git tag 或 commit。