System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及容器(如docker等符合oci標準的容器)集群環境中,一種基于自定義指標配置文件的容器調度模塊及調度方法。
技術介紹
1、隨著云計算技術的發展,市場對于高效、智能的容器調度算法的需求日益增長。然而,現有算法在針對自定義指標的容器調度時存在效率低下和成本高昂的問題。本專利技術提出的是一種新型的容器調度算法,旨在提高容器調度的靈活性和效率,降低開發、運維成本,提高容器調度效率。
2、在現有的容器調度引擎中(如kubernetes),當創建容器(如docker等符合oci標準的容器)應用時,會根據容器內置的調度算法計算出最優的可調度節點。現有的容器調度算法,基于自定義指標(比如任務優先級、電池電量、高度、長度、速度等)進行容器調度時,需要通過開發擴展插件來實現,其流程較為繁瑣、復雜,效率較低,通用性差。
技術實現思路
1、本專利技術的專利技術目的在于提供一種基于自定義指標配置文件的容器調度模塊及調度方法,基于內置的容器調度引擎,通過讀取并解析配置文件獲取有效的自定義指標、每個指標的計算表達式和權重,結合內置調度指標及算法規則,對所有滿足調度條件的節點進行分數評定。在執行調度策略時,將容器調度到分數最高的節點上,以此來實現高效、快捷的容器調度策略。
2、本專利技術的專利技術目的通過以下技術方案實現:
3、一種基于自定義指標配置文件的容器調度模塊,包括解析模塊、指標采集模塊、調度算法模塊、數據信息文件和配置文件,解析模塊、調度算法模塊是容器
4、解析模塊是創建容器時被觸發,讀取并解析配置文件,將得到的自定義指標名稱、自定義指標的權重大小以及自定義指標的分數計算表達式發送到調度算法模塊,同時還將自定義指標名稱發送給集群內其他節點的指標采集模塊,解析模塊支持json、xml數據文件讀取與解析;
5、指標采集模塊在接收到來自于主節點解析模塊發送的自定義指標名稱后觸發指標采集功能,獲取各自節點最新的調度指標值,包括從解析模塊獲取到的自定義指標名稱對應的數值和節點內置指標;
6、集群主節點上的指標采集模塊還要獲取集群內的容器狀態信息、獲取集群內的節點信息;
7、指標采集模塊將采集結果以數據信息文件形式保存下來,并發送到主節點的調度算法模塊;
8、調度算法模塊獲取內置調度指標及每個指標的評分算法規則,結合解析模塊提供的自定義的調度指標及對應的評分算法規則,得到最終調度指標及對應的調度算法規則,然后解析各節點的數據信息文件,將解析后數據代入到最終調度指標及對應的調度算法規則,分別計算集群內每個節點的分數值,并對節點分數進行排序,最終,選擇最高分數的節點,將容器調度到分數最高的節點上完成調度流程。
9、較佳地,解析模塊將得到的自定義指標名稱、自定義指標的權重大小以及自定義指標的分數計算表達式,以“鍵——值”方式保存,并將保存的“鍵——值”數據發送到調度算法模塊。
10、較佳地,集群主節點上的指標采集模塊獲取集群內的容器狀態信息包括容器名稱,綁定的節點,需要的cpu、內存資源大小;獲取集群內的節點信息包括節點的狀態、節點名稱、節點是否異常。
11、較佳地,數據信息文件以json文件形式保存下來,調度算法模塊解釋后以“鍵——值”方式保存。
12、較佳地,一種基于自定義指標配置文件的容器調度模塊的容器調度方法,包含以下步驟:
13、步驟1:有新容器部署時觸發主節點上的調度算法模塊、解析模塊;
14、步驟2:調度算法模塊獲取內置調度指標及每個指標的評分算法規則;解析模塊讀取并解析配置文件,獲取其中自定義的調度指標及對應的評分算法規則;
15、步驟3:調度算法模塊整合步驟2中獲取的所有調度指標,得到最終調度指標及對應的調度算法規則;
16、步驟4:指標采集模塊采集集群內最新的所有節點信息和指標信息;
17、步驟5:調度算法模塊選取一個未計算得分的調度指標;
18、步驟6:調度算法模塊根據調度指標的算法規則,計算該指標在每個節點的得分;
19、步驟7:調度算法模塊判斷是否所有調度指標得分均已算出,如果是,則執行步驟8,如果否,則執行步驟5;
20、步驟8:調度算法模塊獲取一個節點上的所有指標得分;
21、步驟9:調度算法模塊根據每個指標對應的權重及計算表達式,計算得到當前節點的最終得分;
22、步驟10:調度算法模塊判斷是否所有節點指標得分均已算出,如果是,則執行步驟11,如果否,則執行步驟8;
23、步驟11:調度算法模塊根據節點指標得分大小進行排序;
24、步驟12:將容器部署到得分最高的節點。
25、本專利技術的有益效果在于:
26、本專利技術通過在創建容器時讀取并解析自定義指標配置文件的方式,獲取自定義指標的名稱、權重、分數計算表達式,結合節點內置指標信息,就可快速定義一個針對自定義指標(比如任務優先級、電池電量、高度、長度、速度等)的調度算法,改變了現有技術只能依據內置的調度算法計算出最優的可調度節點的現狀。與現有的容器調度引擎中(如kubernetes)內置的調度算法和原始通過開發擴展插件實現的方式相比,本專利技術所提供的基于自定義指標配置文件的容器調度算法在靈活性、便利性和效率上具有明顯優勢。具體優勢如下:
27、開發成本降低:本專利技術采用基于自定義指標配置文件的方式實現容器調度方法的擴展,可避免自定義指標擴展插件的開發成本,減少研發成本投入;
28、資源占用減少:本專利技術采用基于自定義指標配置文件的方式實現容器調度方法的擴展,無需額外運行擴展插件,減少了插件對資源的占用;
29、資源利用率提高:本專利技術采用基于自定義指標配置文件的方式實現容器調度方法的擴展,空余出來的計算資源可分配其他亟需的任務應用,有效提高資源利用率;
30、擴展性增強:本專利技術采用基于自定義指標配置文件的方式實現容器調度方法的擴展,研發人員或運維人員可以通過擴展或修改自定義指標算法規則的方式,滿足實際業務需求。
本文檔來自技高網...【技術保護點】
1.一種基于自定義指標配置文件的容器調度模塊,包括解析模塊、指標采集模塊、調度算法模塊、數據信息文件和配置文件,解析模塊、調度算法模塊是容器集群主節點上的功能模塊,指標采集模塊是所有節點的功能模塊,其特征在于:
2.根據權利要求1所述的一種基于自定義指標配置文件的容器調度模塊,其特征在于解析模塊將得到的自定義指標名稱、自定義指標的權重大小以及自定義指標的分數計算表達式,以“鍵——值”方式保存,并將保存的“鍵——值”數據發送到調度算法模塊,解析模塊支持json或xml格式配置文件的讀取與解析。
3.根據權利要求1所述的一種基于自定義指標配置文件的容器調度模塊,其特征在于集群主節點上的指標采集模塊獲取集群內的容器狀態信息包括容器名稱,綁定的節點,需要的cpu、內存資源大小;獲取集群內的節點信息包括節點的狀態、節點名稱、節點是否異常。
4.根據權利要求1所述的一種基于自定義指標配置文件的容器調度模塊,其特征在于所述數據信息文件以json文件形式保存下來,調度算法模塊解釋后以“鍵——值”方式保存。
5.根據權利要求1至4任一所述的一種基于自
...【技術特征摘要】
1.一種基于自定義指標配置文件的容器調度模塊,包括解析模塊、指標采集模塊、調度算法模塊、數據信息文件和配置文件,解析模塊、調度算法模塊是容器集群主節點上的功能模塊,指標采集模塊是所有節點的功能模塊,其特征在于:
2.根據權利要求1所述的一種基于自定義指標配置文件的容器調度模塊,其特征在于解析模塊將得到的自定義指標名稱、自定義指標的權重大小以及自定義指標的分數計算表達式,以“鍵——值”方式保存,并將保存的“鍵——值”數據發送到調度算法模塊,解析模塊支持json或xml格式配置文件的讀取與解析。
3.根...
【專利技術屬性】
技術研發人員:景文君,李虎,康介祥,王震,王冠,張濤,姜沛妍,
申請(專利權)人:中國航空無線電電子研究所,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。