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. 對監控數據做樣本分析和特征分析,訓練最佳調度插件模型,通過性能數據來修正誤差更新模型,逐步完成智能調度。

 

點擊關注,第一時間了解華為雲新鮮技術~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM