摘要:Volcano 不便AI,大数据,基因,渲染等诸多行业通用计算框架染指,提供高性能任务调度引擎,高性能异构芯片治理,高性能工作运行治理等能力。

Volcano 是一个 Kubernetes 云原生的批量计算平台,也是CNCF的首个批量计算我的项目。

Volcano 不便AI,大数据,基因,渲染等诸多行业通用计算框架染指,提供高性能任务调度引擎,高性能异构芯片治理,高性能工作运行治理等能力。

监控指标态设计

为AI调度零碎开发监控的目标

  1. 随着集群规模的扩张和调度规模的变大,调度效率和调度公平性的谋求就不会停下。
  2. Volcano 社区开展了长时间的开发,疾速的性能迭代,插件逐渐减少,这时候在适合的场景下应用适合的插件就变得比拟重要,这时候须要选用适合的指标来做性能和公平性评估,来评估以后运行状态是否能满足需要,是否须要对插件进行调整。
  3. 在多租户的场景下,对不同租户资源应用的布局,计量和管控需要日益凸显,因而须要对多租户进行租户级资源监控和公平性查看。
  4. 依据用户运行工夫和在各个插件中的调度工夫,判断出用户的应用场景,依据应用场景主动配置插件,实现智能调度。

监控指标

  1. 通过定义性能指标 ,定量检测调度零碎的性能,领导开发并且评测出针对不同环境的插件配置倡议和解决方案,并且给出评判规范。
  2. 通过监测零碎以及租户资源应用状况,不便管理员进行协调治理
  3. 对监控数据做样本剖析和特征分析,训练最佳调度插件模型,通过性能数据来修改误差更新模型,逐渐实现智能调度。

监控根底指标设计

监控架构设计

目前在Volcano 中引入了三个监控组件,Kube State Metrics,Prometheus以及Grafana。

在 Kubernetes 体系中传统数值类时序数据个别是由Prometheus来治理的,状态类信息和配置类信息都是存在etcd里的,然而有时候须要配合起来实现监控指标,因而就须要将状态类数据和配置数据导入Prometheus,Kube State Metrics 实现了一个规范的 Prometheus Exporter 来从API Server 获取状态数据以及字段配置数据,帮助实现状态数据和时序数据的对立治理。

Grafana 中咱们初始化 Provision 了一个 Volcano Overview Dashboard,这个Dashboard蕴含了Volcano的全局监控信息,包含Volcano的公平性数据以及调度有效性数据。

在Volcano上部署监控套件

在线部署

make generate-yaml TAG=latest RELEASE_DIR=installer

kubectl create -finstaller/volcano-monitoring-latest.yaml

离线部署须要的额定工作

查看生成好的 installer/volcano-monitoring-latest.yaml 文件,下载yaml中的所有image,推送到离线环境中的镜像仓库,并且批改所有image字段指向离线仓库。

如何应用

登录 Volcano 的监控面板

在Kubernetes集群中用管理员账号获取以后Volcano监控Namespace中的service信息,咱们能够看到grafana的NodePort是30004,在集群中任意Node节点上拜访30004端口即可看到Grafana的界面。

第一次登录须要输出默认用户名和明码admin/admin,后续须要从新设置新密码,设置实现新密码,抉择 Volcano Overview Dashboard。

Volcano Job 提早热力求 / Volcano Job 调度提早排名

通过Volcano Legency Heatmap 咱们能够看到以后Job延时产生的具体情况,在集群被打满的状况下,延时很容易疾速达到16秒以上,如果以后集群申请的资源没有满,那么可能是没有配置正当的插件导致的。

通过 Volcano Job Scheduling Legecny 咱们能够看到以后运行比拟长的Vocalno Job运行工夫长度,通过比对Scheduler日志,咱们能够逐渐找到相应的起因,并且调整插件来优化这个过程。

Volcano 公平性数据

Job Scheduling Coefficient Of Variation 是 Volcano 监控的公平性指标,展现了不同Job调度工夫长度之间的差别值,目前的插件策略下,是绝对比拟极其的,局部Job在十分短的工夫内被调度实现,残余的工夫比拟长。

Volcano 调度效率数据

通过Volcano调度效率数据,咱们能够看到整体集群的资源申请request状况,通过Node Resource Coefficient Of Variation 咱们能够看到不同节点之间的资源散布状况。

以后社区进度及将来瞻望

以后Volcano的性能监控指标KPI并没有残缺到能够撑持咱们做样本和特征分析,为了实现最终的智能调度,现分为以下三个阶段实现。

  1. 通过定义性能指标 ,定量检测调度零碎的性能,领导开发并且评测出针对不同环境的插件配置倡议和解决方案,并且给出评判规范。
  2. 通过监测零碎以及租户资源应用状况,不便管理员进行协调治理
  3. 对监控数据做样本剖析和特征分析,训练最佳调度插件模型,通过性能数据来修改误差更新模型,逐渐实现智能调度。

点击关注,第一工夫理解华为云陈腐技术~