volcano调度器,在原有调度器的基础上增加批量调度接口
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 6 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 7 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 1 年前 |
Volcano 是一个构建在 Kubernetes 之上的批处理系统。它提供了一套机制,这些机制是许多类别的批处理和弹性工作负载通常所需要的,包括:机器学习/深度学习、生物信息学/基因组学以及其他“大数据”应用。这类应用通常运行在通用领域框架上,如 TensorFlow、Spark、Ray、PyTorch、MPI 等,Volcano 可与这些框架集成。
Volcano 借鉴了十五年来在多种系统和平台上大规模运行各种高性能工作负载的经验,并融合了开源社区中各种优秀的思想和实践。
截至 2021 年 6 月,Volcano 已在全球范围内的互联网、云、金融、制造、医疗等多个行业得到广泛应用。超过 20 家公司或机构不仅是最终用户,也是积极的贡献者。数百名贡献者积极参与代码提交、PR 审查、问题讨论、文档更新和设计规划。我们期待您的参与。
注意:调度器基于 kube-batch 构建;更多详情请参考 #241 和 #288。

Volcano 是 Cloud Native Computing Foundation(CNCF)的孵化项目。如果您所在的组织希望在支持云原生生态系统的发展和演进方面发挥积极作用,请考虑加入 CNCF。
整体架构

相关演讲
- 简介:Kubernetes 批处理调度 @ KubeCon 2019 欧洲站
- Volcano 在 Kubernetes 中运行高性能作业实践 @ ArchSummit 2019
- Volcano:基于云原生的高密计算解决方案 @ 华为全联接大会 2019
- 使用 Volcano 提升深度学习工作负载性能 @ KubeCon 2019 北美站
- Kubernetes 批处理能力简介 @ KubeCon 2019 北美站
- 简介:Kubernetes 批处理调度 @ KubeCon 2019 欧洲站
生态系统
快速入门指南
前提条件
- 支持 CRD 的 Kubernetes 1.12+ 版本
您可以通过以下两种方式之一体验 Volcano。
注意:
- 对于 Kubernetes v1.17+ 版本,请使用 config/crd/bases 目录下的 CRD(推荐)
- 对于 Kubernetes 版本 < v1.16,请使用 config/crd/v1beta1 目录下的 CRD(已弃用)
使用 YAML 文件安装
在现有的 Kubernetes 集群上安装 Volcano。此方法同时适用于 x86_64 和 arm64 架构。
kubectl apply -f https://raw.githubusercontent.com/volcano-sh/volcano/release-1.10/installer/volcano-development.yaml
开始使用吧!Volcano 将在 volcano-system 命名空间中创建以下资源。
NAME READY STATUS RESTARTS AGE
pod/volcano-admission-5bd5756f79-dnr4l 1/1 Running 0 96s
pod/volcano-admission-init-4hjpx 0/1 Completed 0 96s
pod/volcano-controllers-687948d9c8-nw4b4 1/1 Running 0 96s
pod/volcano-scheduler-94998fc64-4z8kh 1/1 Running 0 96s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/volcano-admission-service ClusterIP 10.98.152.108 <none> 443/TCP 96s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/volcano-admission 1/1 1 1 96s
deployment.apps/volcano-controllers 1/1 1 1 96s
deployment.apps/volcano-scheduler 1/1 1 1 96s
NAME DESIRED CURRENT READY AGE
replicaset.apps/volcano-admission-5bd5756f79 1 1 1 96s
replicaset.apps/volcano-controllers-687948d9c8 1 1 1 96s
replicaset.apps/volcano-scheduler-94998fc64 1 1 1 96s
NAME COMPLETIONS DURATION AGE
job.batch/volcano-admission-init 1/1 48s 96s
通过 helm 安装
如需安装官方发布版本,请访问 helm-charts 获取详细信息。
helm repo add volcano-sh https://volcano-sh.github.io/helm-charts
helm install volcano volcano-sh/volcano -n volcano-system --create-namespace
开发者源码安装方式:
helm install volcano installer/helm/chart/volcano --namespace volcano-system --create-namespace
# list helm release
helm list -n volcano-system
从代码安装
如果您没有 Kubernetes 集群,可以尝试从代码库一键安装:
./hack/local-up-volcano.sh
目前此方式仅支持 x86_64。
安装监控系统
若您希望在安装 volcano 后获取 prometheus 和 grafana volcano 仪表盘,请尝试以下命令:
make TAG=v1.10.0 generate-yaml
kubectl create -f _output/release/volcano-monitoring-v1.10.0.yaml
Kubernetes 兼容性
| Kubernetes 1.17 | Kubernetes 1.18 | Kubernetes 1.19 | Kubernetes 1.20 | Kubernetes 1.21 | Kubernetes 1.22 | Kubernetes 1.23 | Kubernetes 1.24 | Kubernetes 1.25 | Kubernetes 1.26 | Kubernetes 1.27 | Kubernetes 1.28 | Kubernetes 1.29 | Kubernetes 1.30 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Volcano v1.6 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
| Volcano v1.7 | - | - | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | _ |
| Volcano v1.8 | - | - | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | - |
| Volcano v1.9 | - | - | - | - | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - |
| Volcano v1.10 | - | - | - | - | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Volcano HEAD (master) | - | - | - | - | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
关键说明:
✓Volcano 与该 Kubernetes 版本完全兼容。+Volcano 包含某些该 Kubernetes 版本可能不具备的功能或 API 对象。-该 Kubernetes 版本包含 Volcano 无法使用的功能或 API 对象。
会议
亚洲社区周会:每周五 15:00 - 16:00(UTC+8)。(转换为您的时区。)
美洲社区双周会:每周四 08:30 - 09:30(UTC-8)。(转换为您的时区。)
欧洲社区会议目前按需举行。如果您有任何想法或议题需要讨论,请在Slack留言。维护者将与您联系并为此安排公开会议。
资源:
联系方式
如有任何问题,欢迎通过以下方式与我们联系:
微信:添加微信账号 k8s2222(华为云小助手2号),让她拉您入群。