写点什么

Volcano 社区正式发布 v1.2.0 版本

发布于: 2021 年 03 月 04 日
Volcano社区正式发布v1.2.0版本

Volcano 于 2019 年 6 月在上海 KubeCon 正式开源,在 2020 年 4 月成为 CNCF 官方项目,目前共发布了 10+版本特性,受到众多开发者、合作伙伴和用户的认可和支持。截止目前,累计有 180+开发者向项目贡献了代码。



Volcano v1.2 关键特性介绍


1、SLA 插件


SLA(Service Level Agreement)插件支持用户通过为作业定义最大预期等待时长的方式来进行调度优先级排序。用户可以对单个作业打上名为“sla-waiting-time”的 annotation,定义最大预期等待时长。equeue action 和 allocate action 将比较作业的实际等待时长和最大预期等待时长的关系。若已超时,该作业将被直接被标记为“piplined”的状态,获取优先分配资源的权利。JobOrderFn 中会根据作业实际等待时间和最大预期等待时间的差值,决定作业调度的排序。


```apiVersion: batch.volcano.sh/v1alpha1kind: Jobmetadata: annotations:   sla-waiting-time: 1h2m3s  // 定义作业最大等待时长为1h2m3s```
复制代码


例 1 作业的 SLA 定义


用户也可以通过在 scheduler 的配置文件中定义全局 SLA 的方式,为所有作业配置 SLA。

``` actions: "enqueue, allocate, backfill" tiers:- plugins:- name: priority- name: gang- name: slaarguments:sla-waiting-time: 1h2m3s // 全局定义作业SLA```
复制代码


例 2 全局定义作业 SLA


SLA 插件的实现是对 v1.1.0 版本中作业资源预留特性设计的优化。该特性的详细设计和实现请参考或点击阅读全文查看:https://github.com/volcano-sh/volcano/blob/master/docs/design/sla-plugin.md


2、TDM 插件


TDM(Time Division Multiplexing)插件的使用场景为:某些节点同时属于 Kubernetes 集群和 Yarn 集群,且被分时复用。


为了满足该场景,可提前为复用节点打上“volcano.sh/revocable-zone”标签,并在 scheduler 配置文件中配置分用时段。打上“volcano.sh/preemptable: true”标签的作业,其所属的 Pod 也将集成该标签。这类 Pod 将被优先调度到复用节点上。当复用节点的管理权在集群层面进行切换时(分用时段到期),复用节点上的负载将被驱逐,腾空后的节点纳入到新集群中。

``` tiers:   - plugins:            - name: tdm              arguments:                tdm.revocable-zone.rz1: 1:00-4:00                tdm.evict.period: 1m```
复制代码


3、其他特性


v1.2.0 还新增了和系统稳定性、用户体验、性能优化有关的一些特性,如重构了 overcommit 插件、当作业更新时同时更新 ssh secret、优化了 nodeorder 插件等。


Volcano 社区和生态建设进展


  • 获得 Star 1600+ ,Fork 280+

  • 社区贡献者 180+

  • 5 Maintainer, 10+ Reviewer

  • 社区参与贡献企业、科研机构 30+:包括华为、AWS、百度、腾讯、京东、小红书等

  • 已完成对 Spark、Flink、Tensorflow、PyTorch、Argo、MindSpore、Paddlepaddle 、Kubeflow、MPI、Horovod、mxnet、KubeGene 等 10+主流计算框架的支持


深入了解 Volcano

Volcano 官网:https://volcano.sh/zh/docs/

Github : https://github.com/volcano-sh/volcano


用户头像

还未添加个人签名 2020.02.11 加入

还未添加个人简介

评论

发布
暂无评论
Volcano社区正式发布v1.2.0版本