插件简介
Volcano调度器是一个基于Kubernetes的批处理平台,提供了机器学习、深度学习、生物信息学、基因组学及其他大数据应用所需要而Kubernetes当前缺失的一系列特性。
Volcano提供了高性能任务调度引擎、高性能异构芯片管理、高性能任务运行管理等通用计算能力,通过接入AI、大数据、基因、渲染等诸多行业计算框架服务终端用户。(目前Volcano项目已经在Github开源)
Volcano针对计算型应用提供了作业调度、作业管理、队列管理等多项功能,主要特性包括:
丰富的计算框架支持:通过CRD提供了批量计算任务的通用API,通过提供丰富的插件及作业生命周期高级管理,支持TensorFlow,MPI,Spark等计算框架容器化运行在Kubernetes上。
高级调度:面向批量计算、高性能计算场景提供丰富的高级调度能力,包括成组调度,优先级抢占、装箱、资源预留、任务拓扑关系等。
队列管理:支持分队列调度,提供队列优先级、多级队列等复杂任务调度能力。
项目开源地址:https://github.com/volcano-sh/volcano
前置条件
安装cube-volcano插件
使用示例
修改调度器配置
查看调度配置,默认开启binpack插件
修改volcano调度器配置,增加binpack得分权重,减少其他调度插件的影响
调整日志级别,查看更详细的日志
创建验证负载任务并且指定使用volcano调度器
可查看负载的YAML,确认scheduleName已设置为volcano
从控制台查看调度器日志,得知各节点的得分
从日志中知道得分最高的节点,查看pod绑定节点,预期绑定的是最高得分的节点