Alauda 对 Volcano 的支持

Volcano

Alauda 对 Volcano 的支持Volcano CNCF 项目打包为 Alauda Container Platform 的集群插件。Volcano 是面向 Kubernetes 的云原生批处理系统,为机器学习、大数据和 HPC 工作负载提供调度和资源管理能力。

主要组件和功能包括:

  • Volcano scheduler:一种面向批处理的 scheduler,用于补充默认的 Kubernetes scheduler。它支持 gang scheduling、fair-share、binpack 以及分布式训练和批处理工作负载所需的其他策略。
  • VolcanoJob (batch.volcano.sh/v1alpha1):一种 job API,用于将具有不同角色(例如 master 和 worker)的任务分组,并将它们作为单个单元进行调度,从而使多 pod 训练任务要么同时启动,要么完全不启动。
  • PodGroup (scheduling.volcano.sh/v1beta1):一种分组原语,scheduler 使用它来跟踪属于同一逻辑 job 的 pods 之间的 quota、queue 和 gang-scheduling 约束。
  • Queue (scheduling.volcano.sh/v1beta1):一种资源 queue,用于按优先级、权重和容量组织 jobs,从而实现租户感知的集群资源共享。
  • JobFlow (flow.volcano.sh/v1alpha1):对多个具有依赖关系的 VolcanoJobs 进行声明式编排,适用于包含预处理和训练等多个阶段的流水线。

有关在平台上安装的信息,请参见 安装 Volcano

文档

Volcano 上游文档和相关资源:

  • Volcano 文档https://volcano.sh/ — 官方文档,涵盖概念、scheduler 插件和使用指南。
  • Volcano GitHubhttps://github.com/volcano-sh/volcano — Volcano 项目的源代码、API 参考和示例。
  • Kubeflow 集成:当将 Kubeflow Trainer 与 Volcano scheduler 一起使用时,请在部署训练组件之前安装 Alauda 对 Volcano 的支持,并在训练组件的配置中启用 Volcano scheduler 选项。