乐趣区

关于监控:Volcano-监控设计解读一看就懂

摘要: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. 对监控数据做样本剖析和特征分析,训练最佳调度插件模型,通过性能数据来修改误差更新模型,逐渐实现智能调度。

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

退出移动版