摘要:Volcano 不便AI,大数据,基因,渲染等诸多行业通用计算框架染指,提供高性能任务调度引擎,高性能异构芯片治理,高性能工作运行治理等能力。
Volcano 是一个 Kubernetes 云原生的批量计算平台,也是CNCF的首个批量计算我的项目。
Volcano 不便AI,大数据,基因,渲染等诸多行业通用计算框架染指,提供高性能任务调度引擎,高性能异构芯片治理,高性能工作运行治理等能力。
监控指标态设计
为AI调度零碎开发监控的目标
- 随着集群规模的扩张和调度规模的变大,调度效率和调度公平性的谋求就不会停下。
- Volcano 社区开展了长时间的开发,疾速的性能迭代,插件逐渐减少,这时候在适合的场景下应用适合的插件就变得比拟重要,这时候须要选用适合的指标来做性能和公平性评估,来评估以后运行状态是否能满足需要,是否须要对插件进行调整。
- 在多租户的场景下,对不同租户资源应用的布局,计量和管控需要日益凸显,因而须要对多租户进行租户级资源监控和公平性查看。
- 依据用户运行工夫和在各个插件中的调度工夫,判断出用户的应用场景,依据应用场景主动配置插件,实现智能调度。
监控指标
- 通过定义性能指标 ,定量检测调度零碎的性能,领导开发并且评测出针对不同环境的插件配置倡议和解决方案,并且给出评判规范。
- 通过监测零碎以及租户资源应用状况,不便管理员进行协调治理
- 对监控数据做样本剖析和特征分析,训练最佳调度插件模型,通过性能数据来修改误差更新模型,逐渐实现智能调度。
监控根底指标设计
监控架构设计
目前在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并没有残缺到能够撑持咱们做样本和特征分析,为了实现最终的智能调度,现分为以下三个阶段实现。
- 通过定义性能指标 ,定量检测调度零碎的性能,领导开发并且评测出针对不同环境的插件配置倡议和解决方案,并且给出评判规范。
- 通过监测零碎以及租户资源应用状况,不便管理员进行协调治理
- 对监控数据做样本剖析和特征分析,训练最佳调度插件模型,通过性能数据来修改误差更新模型,逐渐实现智能调度。
点击关注,第一工夫理解华为云陈腐技术~