跳转到正文

首次运行问题排查

如果首次登录、创建任务或启动训练时没有看到预期结果,请从最早出现异常的步骤开始排查。每次只调整一个已确认的问题;如果修改了镜像、节点选择、资源、脚本或挂载,请使用新的 Job 名称重新提交,便于对比前后结果。

开始前,请准备已确认的启动清单和管理员提供的部署参数。在团队运行记录中写明这两份记录的版本、Job 名称和提交时使用的 Job YAML。

记录必要信息

停止、编辑、复制或删除任务前,请记录:

  • Job 名称、提交时间、提交人,以及启动清单和部署参数的版本;
  • 提交时使用的 Job YAML,以及各角色的镜像 digest、节点选择器、预期副本数和持久挂载;
  • Job、Task 和 Worker/Pod 的状态、状态消息和查看时间;
  • Head Task 和首个异常 Worker 的相关日志,包括第一条错误及其前后内容;
  • 预期出现的第一条训练信号,以及实际生成的日志、指标、checkpoint 或对象前缀;
  • 本次运行与上一次运行相比唯一发生的变化。

请删除其中的 Secret、令牌、私钥和完整签名 URL,也不要导出完整环境变量。Worker 页面显示的创建时间不等于 Pod 的实际创建时间;如需精确时间线,请让管理员补充 Pod UID、实际创建/终止时间和事件。

无法登录控制台

  1. 确认使用的是平台管理员提供的站点地址。普通用户打开 RLark 根地址;平台管理员在根地址末尾加上 /admin 后打开管理后台。
  2. 在同一标签页刷新一次,记录页面提示、HTTP 状态、时间和时区。不要记录或发送密码。
  3. 如果持续出现 4035xx、证书或域名错误,请停止重试,并将站点地址、登录入口、浏览器、脱敏错误和是否影响其他用户交给管理员。

详细处理方法见身份验证排障。不要通过反复试密码、直接调用 Gateway 或切换到未授权账号来判断权限。

找不到目标集群或节点

  1. 清空集群和节点页面的筛选条件,然后各刷新一次。
  2. 按部署参数中的完整名称查找集群和 Node,不要用相似名称替代。
  3. 核对 Node 是否属于预期集群,以及状态是否为 Online、是否可调度。
  4. 如果资源仍不可见、处于 Offline,或标签与部署参数不一致,请停止创建任务。将部署参数版本、预期集群、Node、命名空间、当前页面的完整 URL、筛选条件和查看时间交给管理员检查 Agent 连接与 Node 同步状态。

不要为了让资源出现在页面中自行修改 Node 标签或改选其他集群。

创建向导无法继续

  1. 记录当前步骤和字段旁的错误提示,不要在截图中包含凭据或脚本中的敏感值。
  2. 创建训练任务核对任务名称、角色、唯一 Header 角色、集群、单值节点选择器、镜像、挂载和运行脚本。
  3. 每次只修正页面明确指出的一项,再尝试进入下一步。

如果需要猜测镜像、路径或资源,Header 角色匹配的 Node 数不是 1,节点选择器尚未经过全局核对,或任务必须使用创建向导无法配置的字段,请停止提交。向管理员提供当前步骤、错误提示、启动清单和部署参数版本,以及节点选择器的全局匹配结果。

确认任务是否提交成功

提交失败时,请保存 HTTP 状态和脱敏后的响应内容,并检查同名 Job 是否已经存在。不要删除已有 Job 来绕过重名,也不要把凭据加入环境变量、脚本或工单。

提交成功只表示平台已经接受 Job。接下来依次检查 Task、Worker/Pod、Ray、RLinf 入口和持久输出。

处理没有 Worker 的任务

  1. 检查 Job 是否已经生成预期 Task,并查看 Task 的状态消息。
  2. 请管理员使用部署参数中的完整单值 nodeSelector 查询全部 Node,确认匹配结果仍只属于目标集群。
  3. 检查 Node 的在线和调度状态、数据面 Agent 连接以及工作负载创建错误。

创建向导中的集群选择和局部匹配数量不能替代全局节点匹配结果。

处理长时间 Pending 的 Worker

记录 Pod 的状态消息,然后依次检查实际节点、CPU/内存/GPU 或设备、镜像拉取、PVC/StorageClass、hostPath 和准备脚本。不要连续停止和启动任务。常见现象及处理方法见训练任务与 Worker 排障

检查 Ray 是否包含所有 Worker

分别查看 Head Task 和每个预期 Worker 的日志。Head 的集群检查失败后,运行脚本仍可能继续,因此看到 “ready” 或运行脚本开始并不代表所有 Worker 都已加入。

请同时核对 Head 的 ray status、每个 Worker 的连接日志和 Pod 状态。启动顺序见运行环境与环境变量

处理没有 RLinf 训练信号的任务

对照启动清单核对镜像 digest、工作目录、运行脚本、Hydra 配置与 override,以及输入路径。Job YAML 只描述 RLark 资源,不会解析最终 RLinf 配置;同时,RLark 会替换镜像的 ENTRYPOINT。请保留第一条业务错误,再回到工作负载项目验证入口和配置。

处理没有持久输出的任务

确认应用写入的绝对路径位于预期 volumeMount 内,并与启动清单中的对象前缀或 checkpoint 路径一致。容器文件系统、挂载点旁边的目录和其他节点上的 hostPath 都不会保存为预期输出。继续按存储排障检查。

如果第一条训练信号和持久输出都符合预期,请继续检查 RLinf 任务是否正常运行。Job 或 Task 显示 Running 只表示 RLark 当前认为任务正在运行,不代表训练结果正确或任务已经完成。

遇到高风险情况时停止操作

出现以下任一情况时,请停止继续试跑:

  • Worker 落在部署参数以外的集群或 Node;
  • Head Task 不止 1 个副本,或多个 Pod 执行了运行脚本;
  • 日志、YAML、截图或终端输出中出现凭据;
  • 镜像 digest、Hydra 配置、输入数据或输出位置与启动清单不一致;
  • 任务需要创建向导无法配置的 CPU、内存、/dev/shm、探针或其他 Pod 字段;
  • 任务可能连接真实机器人,但现场安全条件、急停或恢复授权尚未确认;
  • 外部设备出现异常动作、断连或状态不明。

请向管理员说明已经执行的停止动作、仍可能存在的外部影响,并提供本页要求的必要信息。不要删除 Job、Pod、PVC、Domain 或对象来清理故障现场。