Skip to main content
生产推荐形态:每个训练作业一个临时 RayCluster(RayJob),终态即销毁,资源回收由 K8s 保证。

前置

  1. Kubernetes 集群(GPU 节点装好 device plugin);
  2. KubeRay operator(helm 安装,v1.4+);
  3. 对象存储(必需:作业包经预签名 URL 分发进容器);
  4. GPU 节点按卡型打标签:kubectl label node <n> starforge/gpu-series=h200

配置

语义要点

Console 把用户代码、权威 JobSpec、manifest 与 runner.pex 组装成内容寻址 Capsule 并上传对象存储。HTTPS 归档走 Ray runtimeEnvYAML.working_dir;仅 HTTP 的对象存储由每个 Ray Pod 的 init container 先校验 transport SHA-256,再以相同 file:// 路径交给 runtime-env agent。训练镜像无需平台 bootstrap 包。
head = 主池 machine zero;多池作业每池一个 worker group(nodeSelector 按卡型、Ray 自定义资源 pin)。shutdownAfterJobFinishes=true + backoffLimit=0:训练不盲目重试。终态日志归档后平台立即删除 RayJob;TTL 是异常兜底。
集群容量从节点 nvidia.com/gpu 容量 + 卡型标签实时统计;不可调度节点计入 blocked。页面显示的分卡型容量与调度器实际可落的节点同源
真正原因只在 K8s Event 里(拉镜像失败 / 无满足 nodeSelector 的节点 / GPU 不足)——作业详情的事件视图直接展示;超过 preRunning 期限自动判失败,不会无限占队列。
FORGE_K8S_GPU_PASSTHROUGH=0:Pod 不请求 nvidia.com/gpu,Ray 逻辑资源照常。kind/CI 跑闭环用,生产保持默认。

Playground

支持:独立 vLLM Pod(非 RayJob),经 K8s API 代理访问,TTL 到期回收。

快速验证