从源码理解 KubeRay 与 Volcano:系列目录

阅读顺序

按第 0—10 篇依次阅读:先了解计算与部署的分工,再看 KubeRay 的集群管理和 Volcano 的批调度,最后回顾 Operator 设计。熟悉基础概念的读者可以直接从第 1 篇开始。

计算与部署

  1. 第 0 篇|从 Ray 到 Kubernetes:KubeRay 与 Volcano 各自解决什么问题

    从分布式计算和容器部署讲起,解释 Ray、Kubernetes、KubeRay 与 Volcano 各自管理什么,以及一次作业怎样从声明走到运行。

KubeRay:集群管理、协调与恢复

  1. 第 1 篇|KubeRay 架构:组件分工与协作

    以一次 RayJob 提交说明各类资源的用途,解释 KubeRay、Kubernetes 与 Ray 如何分工完成集群准备、程序执行和收尾。

  2. 第 2 篇|KubeRay 协调:从 Pod 变化到 Reconcile

    从 worker Pod 的状态变化进入监听、缓存和工作队列,跟踪一次 Reconcile,以及事件、延时和错误怎样触发下一轮协调。

  3. 第 3 篇|KubeRay 并发:一个 Operator 如何管理 100 个 RayCluster

    以 100 个 RayCluster 为推演场景,分析协调协程、队列键锁、缓存滞后与 expectations,区分管理并发和 Ray 计算并发。

  4. 第 4 篇|KubeRay 恢复:Operator 重启后如何继续工作

    把中断放在资源创建与状态写回之间,沿持久化身份、对象查询和重试分支,分析 Operator 重启后的恢复依据与防重边界。

  5. 第 5 篇|KubeRay 高可用:从主备切换到 Ray 服务恢复

    从 Operator 的 Lease 选主与接管,追到 Kubernetes 控制面、Ray head、GCS 和 RayService,分别核对管理恢复、计算恢复与请求可用性。

Volcano:批调度与 KubeRay 接入

  1. 第 6 篇|Volcano 架构:从 Pod 到作业

    从几个 Pod 争用资源的问题进入 Volcano,区分 Job、PodGroup、Queue,以及 Scheduler、Controller Manager 和 Admission 的协作。

  2. 第 7 篇|Volcano Gang 调度:成组分配与绑定

    沿一个三成员 PodGroup 走过准入、试分配、Gang 检查、提交与异步绑定,说明资源不足和部分绑定失败时会发生什么。

  3. 第 8 篇|Volcano 资源竞争:队列份额与作业调度

    用两个 Queue 说明 Volcano 怎样计算资源份额、选择下一项工作,以及资源占满后怎样在 Queue 内抢占或跨 Queue 回收。

  4. 第 9 篇|KubeRay 与 Volcano:接入与生命周期协作

    对比默认流程与 Volcano 接入流程,跟踪 RayCluster Controller 创建成员 Pod 的路径,再说明参数传递和生命周期协作。

源码阅读总结

  1. 第 10 篇|总结:从 KubeRay 与 Volcano 看 Operator 设计

    总结 Operator 的资源建模与协调逻辑、并发控制、恢复和高可用设计,以及 Kubernetes 和 controller-runtime 提供的支撑机制。


从源码理解 KubeRay 与 Volcano:系列目录
https://tanxinyu.work/kuberay-volcano/
作者
谭新宇
发布于
2026年9月16日
许可协议