主题
术语表
A
Addon(附加组件)
安装到数据平面并由 RLark 记录期望版本与安装状态的组件。
Agent
运行在数据平面的 RLark 组件,负责同步节点、Task、工作负载和网络等状态。Node 的接入形态可为 Kubernetes、Docker 或 Raw。
B
Bucket(存储桶)
对象存储中的顶层数据容器。对象通过 Bucket 内的完整对象键标识。
C
Cluster(集群)
已接入 RLark 的数据平面环境。控制台把连接信息、节点和存储汇总为集群视图;Cluster 不是同名的 RLark CRD。
cluster.num_nodes
RLinf 配置中本次运行需要的 Ray 节点总数。通过当前 Web 控制台创建 Kubernetes 任务时,它应与所有角色创建的 RLark Worker Pod 总数一致,而不是与去重后的物理 Node 数量比较。
Camera ID(摄像头 ID)
设备运行时为具体摄像头提供的标识,例如 video0。它用于在 Worker 中读取摄像头信息或让设备程序引用目标摄像头,不是创建任务页面中的设备资源名称。一个 Worker 能看到的 Camera ID 取决于该 Worker 所连接的设备控制器或直接挂载方式。
Component world size(组件 world size)
某个 RLinf 组件的进程总数,例如 Actor、Rollout 或 Env 的进程数量。它由 RLinf 的组件放置结果决定,不表示 RLark 角色、Worker Pod 或 Ray 节点数量。
Control Plane(控制面)
承载 Server、Gateway、Controller Manager 和 Web UI 的平台侧组件集合,保存期望状态并协调数据平面。
D
Data Plane(数据平面)
实际运行训练、评测或设备工作负载的集群与节点。
Device resource(设备资源)
创建任务页面中用于为单个 Worker 申请专用设备的资源名称和数量,常见形式为 rlinf.io/device 或 rlinf.io/device-<model>。设备资源用于调度,不会直接选择具体机器人或摄像头;实际设备 ID 需要在获得资源的 Worker 中查看。
Domain
集群级资源,表示安全与网络边界。Job 指定 Domain,Task 从 Job 继承该值。
DomainPeer
把同一 Domain 的 Pod 路由和证书信息同步到一个数据平面的命名空间级资源,主要由平台网络组件管理。它不是两个 Domain 之间的用户可配置对等关系。
E
embodied-runtime controller(设备控制器)
目标环境中用于发现机器人或摄像头并提供状态、控制或数据接口的设备运行时组件。采用 controller 接入方式时,获得设备资源的 Worker 可以通过注入的 socket 和 rosctr 或 camctr 访问相应控制器。命令显示的是该控制器管理的设备,不是整个 RLark 环境的设备总表。
H
Header 角色 / Head Task
Header 角色是控制台中的选择,用于指定承载公共运行脚本和 Ray Head 职责的角色。该角色会在 Job YAML 中生成 head: true 的 Task 模板;Job 提交后,RLark 再据此创建 Head Task。Header 角色、Head Task 都不是具体 Node,也不是运行时自动选出的第一个 Worker;界面中的“选择 Head 节点”实际仍在选择角色。Head Task 的每个 Pod 都会运行 Head 包装脚本和运行脚本,因此该角色必须只有 1 个副本。只有引用界面原文时才使用 Header Worker 等页面标签。
hostPath
把数据面节点本地目录挂载到 Pod 的 Kubernetes 卷类型。它不提供跨节点共享语义。
I
Image tag(镜像版本标签)
镜像地址中冒号后的可读版本名称,例如 registry.example.com/rlinf:v0.3.0-cuda12.4 中的 v0.3.0-cuda12.4。tag 便于阅读和分享,但除非镜像仓库明确禁止覆盖,同一个 tag 以后仍可能指向不同内容。创建任务时不要使用 latest 或会被重复覆盖的开发 tag。
Image digest(镜像内容指纹)
根据镜像内容生成的唯一标识,通常以 sha256: 开头。完整引用形式为 registry.example.com/rlinf@sha256:<digest>。同一个 digest 始终指向同一份镜像内容,因此适合精确复现、比较运行和发布可复用场景。选择方法见选择镜像版本和执行入口。
J
Job(作业/训练任务)
集群级资源,描述一次训练、评测或数据采集的 Domain、停止标志和 Task 模板。控制台中的任务和创建任务指的都是 Job,不是 RLark Task。
L
Local world size(本地 world size)
某个 RLinf 组件在一个 Ray 节点上运行的进程数。一个 Worker Pod 中的 local world size 可以大于 1,因此一个 RLark Worker 不等于一个组件进程。
N
Node(节点)
命名空间级资源,描述数据平面的物理机或计算节点,包括接入形态、在线状态、可调度性、资源和系统信息。Node 不等于 Ray 节点;同一 Node 可以运行多个 Worker Pod 和多个 Ray 节点。
Node category(节点类别:云算力、端算力、端真机)
RLark 根据 Node 的 rlark.io/node-category 标签对节点进行分类,方便在控制台中筛选节点并显示相应的资源摘要:
- 云算力(
cloud):当前环境归为通用计算或 GPU 算力的 Node,例如数据中心里的多 GPU 训练服务器。实际机器可以位于公有云、私有云或本地数据中心。 - 端算力(
edge):当前环境归为边缘计算资源的 Node,例如靠近摄像头、无人机或生产现场的 GPU 工作站、工控机或 NUC。 - 端真机(
robot):当前环境归为真实机器人运行环境的 Node,例如与机械臂绑定的 NUC、工控机或移动机器人的车载计算机。操作设备前还需确认设备状态、独占安排、安全审批和操作权限。 - 其他:没有设置该标签,或标签使用了其他值。
分类对象是接入 RLark 的 Node,例如服务器、工作站或随行计算机;GPU、摄像头和机械臂则作为 Node 上的资源或设备使用。相同型号的机器可以因用途不同而归入不同类别。实际 Node 归入哪一类,由当前环境的管理员按照本地资源规划维护;分类在自行部署和由组织或服务提供方维护的 RLark 环境中含义相同。详细说明见集群与节点。
Node rank(节点编号)
RLinf 用来标识 Ray 节点的连续编号,对应环境变量 RLINF_NODE_RANK。通过控制台创建 Kubernetes 任务时,每个 Worker 会获得一个节点编号;它与 component_placement 中的 GPU 或其他资源编号不是同一个值。
nodeSelector(节点选择器)
Task 中用于匹配 Node 标签的键值条件。RLark 还会使用匹配结果确定 Task 所在命名空间。匹配不到节点、选择器为空或跨集群命中时,工作负载可能无法落到预期数据平面。提交任务时只使用由不同标签键组成的单值条件,并确认完整匹配结果只属于预期集群。
O
Object / Object Key(对象/对象键)
对象存储中的数据及其完整标识。文件浏览器显示的“目录”通常只是对象键的公共前缀。
P
Pod
Kubernetes 调度和运行的一组容器。当前 Web 控制台创建的 Kubernetes 任务中,一个 RLark Worker 通常对应一个 Pod;Pod 中的 main 容器运行训练镜像并启动一个 Ray 节点。
选择网络域或配置 TensorBoard 时,RLark 还可能向同一个 Pod 加入辅助容器。Pod 内的容器共享网络和所挂载的卷,但各自运行独立进程。辅助容器数量不会增加 RLark Worker 或 Ray 节点数量。RLark Pod 资源记录 Pod 名称、节点、IP 和阶段等最近上报状态。
Process rank(进程编号)
RLinf 组件内部的进程编号。例如 component_placement 可以把 Env 进程 0–7 分配到资源 0–3。进程编号不表示 RLark Worker 或物理节点。
PVC(PersistentVolumeClaim)
Kubernetes 持久卷声明。创建任务时,RLark 会根据对象存储挂载自动创建 PVC,并通过它把 StorageClass 挂载到容器路径;普通用户不需要自行创建 PVC。
R
Resource rank(资源编号)
RLinf component_placement 用来选择 GPU、机器人或节点等资源的编号。资源类型取决于所选节点组和可见硬件;资源编号不等于 RLINF_NODE_RANK。
Robot ID(机器人 ID)
设备运行时为具体机器人提供的标识,例如 franka-robot-1。它用于在 Worker 中查询机器人状态或让获授权的设备程序引用目标机器人,不是创建任务页面中的设备资源名称。查询机器人状态和控制机器人使用不同的授权与安全流程。
Ray node(Ray 节点)
加入同一个 Ray 集群的 Ray runtime 实例。当前 Web 控制台创建的 Kubernetes 任务中,每个 RLark Worker Pod 会启动一个 Ray 节点。Ray 节点不等于物理 Node;一台物理机器可以运行多个 Ray 节点。
Role(角色)
创建任务页面中可以创建一个或多个 Worker 的配置模板。一个角色统一定义这组 Worker 的节点选择、单个 Worker 的 GPU/设备、镜像、挂载、环境变量和准备脚本,并在 Job YAML 中生成一个 Task 模板。不同角色可以选择同一批 Node,但匹配数量、Worker 和资源申请仍按角色分别计算。Actor、Rollout、Environment 等角色名称不会让 RLinf 自动启动同名组件。
S
StorageClass
Kubernetes 集群级存储类。可以把它理解为当前环境在集群中准备的存储连接名称。RLark 的对象存储配置会在关联集群中创建同名的 rclone CSI StorageClass,并由 Task 的 PVC 引用。StorageClass 不是 Bucket 内的目录,也不表示 Bucket 容量。
T
Task
Job 提交后,RLark 根据 Task 模板创建并管理的命名空间级资源。Task 记录角色、Agent 类型、节点选择、工作负载、脚本和存储映射,并负责产生相应的 Worker。Task 不是 Kubernetes API 所说的子资源,普通用户通常不需要直接创建或编辑它。
Task template(Task 模板)
Job YAML 的 spec.tasks[] 条目,对应控制台中的一个角色。Task 模板描述应创建的 Worker 配置;Job 提交前它还不是一个独立的 Task 资源。
TensorBoard Proxy
Gateway 为 Task 计算的相对代理入口,用于访问对应工作负载的 6006 端口。是否可用取决于 Task 和服务实际状态。
V
volumeMount(容器挂载路径)
把卷放到 Worker 容器中的指定路径。创建向导中的挂载到 Worker填写的就是这个路径;训练程序通过它读写数据。它与节点上的源路径、Bucket 名称和对象键不是同一个值。
W
WebTerminal
控制台在 Job 详情中为已有 Pod 提供的终端弹窗,可用于运行时检查和文件传输。它不是独立页面。
Worker
RLark Worker 是控制台中的运行实例,不是 RLinf 的 Actor、Rollout 或 Env 组件进程。当前 Kubernetes 运行方式下,一个 RLark Worker 通常对应 Task 下的一个 Pod,并在 Pod 中启动一个 Ray 节点。多个 Worker 可以运行在同一个物理 Node 上,但它们仍是独立的 Pod 和 Ray 节点,并分别申请资源。Worker 不是 RLark CRD。RLinf 文档也会把组件进程称为 Worker;这类进程由 RLinf 在 Ray 集群中创建,一个 RLark Worker 中可以运行多个这样的组件进程。
Workflow(工作流)
集群级 DAG 资源,由多个带依赖关系的 Job 模板组成。