System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及一種基于k8s的應用調度方法,尤其涉及基于主機健康度評估模型和k8s的應用調度方法。
技術介紹
1、kubernetes調度是指將pod容器放置到合適的節點上,以便對應節點上的kubelet能夠常見這些pod;kube-scheduler是kubernetes集群的默認調度器,是集群控制面的一部分,將選擇一個最佳節點來運行新創建的且尚未被調度的pod。
2、kubernetes默認資源調度僅支持基于cpu、內存等基礎資源指標進行調度,而不支持基于應用系統所關注的個性化資源指標進行調度,例如文件句柄數、磁盤io負載、網卡負載、應用程序進程狀態等資源;并且應用系統關注的個性化資源指標數據通常存儲于監控系統中,而監控體系與調度體系之間缺乏有效的連通,可能導致應用實例被調度到監控指標異常的服務器上運行,從而影響應用系統的穩定性,所以kubernetes默認資源調度技術體系難以滿足應用系統個性化的調度需求。
技術實現思路
1、為了解決上述技術所存在的不足之處,本專利技術提供了基于主機健康度評估模型和k8s的應用調度方法。
2、為了解決以上技術問題,本專利技術采用的技術方案是:基于主機健康度評估模型和k8s的應用調度方法,包括以下步驟:
3、步驟s1:構建主機健康評估模型,定義node_healthy指標;主機健康評估模型,包括所需外部物理資源分析模塊、主機與操作系統資源分析模塊;主機健康評估模型的工作維度包括:服務器運行狀態維度和應用可運行所
4、步驟s2:構建設備插件healthydeviceplugin;
5、步驟s3:基于設備插件healthydeviceplugin,將node_healthy指標注冊至節點信息清單;
6、步驟s4:固定周期采集計算并獲取各節點的node_healthy指標數值,并同步更新至節點信息清單;
7、步驟s5:主機健康度評估模型在應用可運行所需資源維度下,并在k8s即kubernetes
內,定義node_filter_annotation指標,以明確節點是否能被調度;
8、步驟s6:主機健康度評估模型在應用可運行所需資源維度下,并在k8s即kubernetes
內,定義node_score指標,以明確節點狀態的優劣;
9、步驟s7:在kubernetes默認調度器的基礎上,基于node_filter_annotation指標和node_score指標,構建自定義策略調度healthyscheduler,以用于過濾節點和節點狀態打分;
10、步驟s8:依據節點的node_healthy指標,healthyscheduler決策出優先級最高的可被調度節點;將應用實例調度決策結果同步至優先級最高節點的kubelet組件;
11、步驟s9:根據kubelet組件監聽的信息,創建應用實例。
12、進一步地,步驟s1中定義node_healthy指標,包括以下步驟:
13、s11:主機健康評估模型在服務器運行狀態維度下,在k8s即kubernetes
內,預設資源指標對健康度評分的影響因子及分段區間,計算資源指標對健康度的影響分值;
14、s12:基于資源指標對健康度的影響分值定義節點健康度node_healthy指標;node_healthy指標計算公式為:
15、
16、其中,node_healthy為節點健康度指標,node_healthy∈(0,100);θ為某項資源指標,θ∈{cpuidletime、freemem、load5、dcount、zombiecount、filedescriptor......};n為node_healthy指標所需考慮的對其產生影響的資源指標項總數量,n∈|{cpuidletime、freemem、load5、dcount、zombiecount、filedescriptor......}|;δhθ為θ資源指標對健康度的影響分值。
17、進一步地,s11中在kubernetes
內,依據物理服務器運行監控、linux操作系統運行狀態、kubernetes組件運行監控的信息進行評估,預設資源指標對健康度評分的影響因子,資源指標對健康度評分的影響因子包括cpu、內存、文件句柄數、磁盤io負載、網卡負載、應用程序進程狀態。
18、進一步地,s11中計算資源指標對健康度的影響分值,公式為:
19、δhθ∈{cpuidletime、freemem、load5、dcount、zombiecount、filedescriptor......}=
20、αi(θ,β(θ))fi(θ,β(θ));
21、其中,δhθ為θ資源指標對建康度的影響分值;θ為某項資源指標,θ∈
22、{cpuidletime、freemem、load5、dcount、zombiecount、filedescriptor…};β(θ)為采集的θ資源指標數值;fi(θ,β(θ))為當θ資源指標采集到的數值為β(θ),且β(θ)分布在θ資源指標第i個分段區間時,該資源指標對健康度的影響分值,fi(θ,β(θ))∈(0,100);αi(θ,β(θ))為當θ資源指標采集到的數值為β(θ),且β(θ)分布在θ資源指標第i個分段區間時,該資源指標對健康度的影響因子。
23、進一步地,步驟s2中基于node_healthy指標中的運行與監控信息采集方法、評估模型函數、定時工具和信息同步方法構建設備插件healthydeviceplugin。
24、進一步地,步驟s4中通過創建cron定時任務,設置固定周期,按照固定周期采集和計算node_healthy指標數值;node_healthy指標數值通過healthydeviceplugin設備插件同步更新至節點信息清單。
25、進一步地,步驟s5中在kubernetes
內,基于調度框架filter擴展點調度算法擴展的節點過濾規則,根據主機狀態信息的node_healthy指標,定義node_filter-annotation指標;node_filter_annotation指標的計算公式為:
26、
27、其中,node_filter_annotationμ為應用μ在調度過程中的filter階段,節點狀態是否能被應用部署的狀態指標;為應用μ在應用可運行的前提下對健康度資源的需求度。
28、進一步地,步驟s6中在kubernetes
內,基于調度框架score擴展點調度算法擴展的節點打分規則,根據主機狀態信息的node_healthy指標,定義node_score指標,以明確節點狀態的優劣;filter階段狀態被標注為schedulable的節點會進入之后的score階段;node_sco本文檔來自技高網...
【技術保護點】
1.基于主機健康度評估模型和K8s的應用調度方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的基于主機健康度評估模型和K8s的應用調度方法,其特征在于:所述步驟S1中定義node_healthy指標,包括以下步驟:
3.根據權利要求2所述的基于主機健康度評估模型和K8s的應用調度方法,其特征在于:所述S11中在Kubernetes技術領域內,依據物理服務器運行監控、Linux操作系統運行狀態、Kubernetes組件運行監控的信息進行評估,預設資源指標對健康度評分的影響因子,資源指標對健康度評分的影響因子包括CPU、內存、文件句柄數、磁盤IO負載、網卡負載、應用程序進程狀態。
4.根據權利要求2所述的基于主機健康度評估模型和K8s的應用調度方法,其特征在于:所述S11中計算資源指標對健康度的影響分值,公式為:
5.根據權利要求1所述的基于主機健康度評估模型和K8s的應用調度方法,其特征在于:所述步驟S2中基于node_healthy指標中的運行與監控信息采集方法、評估模型函數、定時工具和信息同步方法構建設備插件Healthy
6.根據權利要求1所述的基于主機健康度評估模型和K8s的應用調度方法,其特征在于:所述步驟S4中通過創建cron定時任務,設置固定周期,按照固定周期采集和計算node_healthy指標數值;node_healthy指標數值通過HealthyDevicePlugin設備插件同步更新至節點信息清單。
7.根據權利要求1所述的基于主機健康度評估模型和K8s的應用調度方法,其特征在于:所述步驟S5中在Kubernetes技術領域內,基于調度框架Filter擴展點調度算法擴展的節點過濾規則,根據主機狀態信息的node_healthy指標,定義node_filter_annotation指標;node_filter_annotation指標的計算公式為:
8.根據權利要求1所述的基于主機健康度評估模型和K8s的應用調度方法,其特征在于:所述步驟S6中在Kubernetes技術領域內,基于調度框架Score擴展點調度算法擴展的節點打分規則,根據主機狀態信息的node_healthy指標,定義node_score指標,以明確節點狀態的優劣;Filter階段狀態被標注為schedulable的節點會進入之后的Score階段;node_score指標的計算公式為:
9.根據權利要求1所述的基于主機健康度評估模型和K8s的應用調度方法,其特征在于:所述步驟S8中自定義策略調度HealthyScheduler基于node_filter_annotation指標篩選過濾可被調度節點,并基于篩選后的節點node_score指標排序,決策出優先級最高的可被調度節點。
10.根據權利要求1所述的基于主機健康度評估模型和K8s的應用調度方法,其特征在于:所述步驟S9中Kubelet組件監聽到有同步到本節點待創建應用實例Pod信息后,按照業務應用YAML資源清單的配置創建應用實例Pod。
...【技術特征摘要】
1.基于主機健康度評估模型和k8s的應用調度方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的基于主機健康度評估模型和k8s的應用調度方法,其特征在于:所述步驟s1中定義node_healthy指標,包括以下步驟:
3.根據權利要求2所述的基于主機健康度評估模型和k8s的應用調度方法,其特征在于:所述s11中在kubernetes技術領域內,依據物理服務器運行監控、linux操作系統運行狀態、kubernetes組件運行監控的信息進行評估,預設資源指標對健康度評分的影響因子,資源指標對健康度評分的影響因子包括cpu、內存、文件句柄數、磁盤io負載、網卡負載、應用程序進程狀態。
4.根據權利要求2所述的基于主機健康度評估模型和k8s的應用調度方法,其特征在于:所述s11中計算資源指標對健康度的影響分值,公式為:
5.根據權利要求1所述的基于主機健康度評估模型和k8s的應用調度方法,其特征在于:所述步驟s2中基于node_healthy指標中的運行與監控信息采集方法、評估模型函數、定時工具和信息同步方法構建設備插件healthydeviceplugin。
6.根據權利要求1所述的基于主機健康度評估模型和k8s的應用調度方法,其特征在于:所述步驟s4中通過創建cron定時任務,設置固定周期,按照固定周期采集和計算node_healthy指標數值;node_healthy指標數值通過healthydeviceplugin設備插件同步更新至節點信息清單。...
【專利技術屬性】
技術研發人員:楊振,趙曉明,許萍,谷立順,劉剴,牛凱源,胡楠楠,
申請(專利權)人:渤海銀行股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。