Rancher如何按計算資源調度

引言


按計算資源調度基本上是各大編排引擎的標配,Rancher在v1.2版本後也推出了這個功能。但部分朋友認爲當前的實現還並不是那麼智能,所以不知道如何按計算資源調度。故本文教大家如何按計算資源調度。


實現機制


Rancher的實現比較簡單,其主要是通過Infra services中的scheduler服務來實現,整體的邏輯架構如下:


wKiom1i4Kx6TZDL0AAB8isE8-eU317.jpg


scheduler會訂閱Rancher Events,主要是scheduler相關事件,當有調度需求時候,scheduler就會收到消息, 通過計算將合適的調度目標返回給cattle。比如說現在支持memory和cpu爲基準, 那麼scheduler會不斷根據metadata的數據變化來計算資源的使用量,最後可根據資源剩餘量爲調度目標排序, 這樣就可以完成按計算資源調度的目標。


之前有說,Rancher的實現並不智能,這在於在計算資源使用量的時候,Rancher並不是通過一套複雜數據採集機制來計算, 而是通過用戶在創建service的時候標註reservation的方式,這個地方很多朋友並沒有注意到:


wKioL1i4Ky3jK75uAABZLC94Zn0691.jpg


除此之外,在每個節點的資源總量上也是可配置的,我們完全可以進行一個整體預留的設置,比如:


wKioL1i4Kzui7iYZAABBPzREcyY608.jpg


總結


這個實現看似簡單,其實這是提供了一個很好的擴展能力。如果我們有自己的監控採集體系,完全可以在scheduler的時候調用我們自身監控接口來計算資源,這樣就能達到我們所認可的“智能”了。


原文來源:Rancher Labs


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章