一種基于Kubernetes的調度管理方法及裝置與流程
一種基于kubernetes的調度管理方法及裝置
技術領域
1.本發明涉及kubernetes技術領域,尤其是指一種基于kubernetes的調度管理方法及裝置。
背景技術:
2.k8s是容器編排和分布式應用部署領域的領導者,在k8s環境中只需要關心應用的業務邏輯,這樣可減輕服務器網絡以及存儲等方面的管理負擔。對于用戶而言,k8s是一個很復雜的容器編排平臺,學習成本非常高。
3.目前,業內的容器云平臺都會抽象底層k8s、并進行高度產品化,以此構建一個全棧的多租戶容器云平臺,為多租戶和用戶提供了一個健壯、安全、功能豐富、具備極致體驗的web控制臺,這樣可解決k8s使用門檻高和云原生生態工具龐雜等痛點。資源可以在租戶之間共享,根據分配的角不同,租戶可以對各種資源進行操作,租戶與資源之間、資源與資源之間的自由度很高,權限粒度也比較大。
4.但是,如何讓容器云平臺更快更方便地將kubernetes集中的資源與租戶關聯起來、如何做到不同權限租戶可訪問不同資源、以及如何準確地隔離集中資源,是現有技術中的技術痛點。
技術實現要素:
5.為了解決上述技術問題,本發明提供了一種基于kubernetes的調度管理方法及裝置,所述基于kubernetes的調度管理方法用于解決目前kubernetes集中無法合理調度與管理各資源、無法實現資源隔離的問題。
6.為實現上述目的,本發明提供一種基于kubernetes的調度管理方法,用于對容器云平臺中的kubernetes集進行資源調度管理,所述容器云平臺包括多租戶管理模塊、項目模塊、資源管理模塊以及節點模塊;
7.所述方法包括:
8.將所述多租戶管理模塊中的當前租戶等級設置為等級a、所述項目模塊中對應的項目等級設置為等級b、所述資源管理模塊中對應的各個軟硬件資源等級設置為等級c、所述節點模塊中對應的節點等級設置為等級d;其中,所述當前租戶、所述項目、所述軟硬件資源、所述節點相互匹配,且等級a≥等級b=等級c=等級d;等級越高,對應資源的調度權限越大;
9.根據所述等級d獲取調度所述節點模塊中目標節點的目標調度等級k,所述目標調度等級k≤所述等級d;
10.當所述節點模塊中所有節點處于網絡互通狀態時,根據黑名單網絡隔離策略阻止所有節點的調度操作;
11.篩選出等級大于所述目標調度等級k的節點,以調度所述目標節點。
12.進一步的,所述多租戶管理模塊包括用戶模塊、企業空間模塊;
13.將所述多租戶管理模塊中的當前租戶等級設置為等級a,具體包括:
14.將所述用戶模塊中的當前用戶等級設置為等級a1、所述企業空間模塊中對應的企業空間等級設置為等級a2;
15.其中,所述當前用戶、所述企業空間、所述當前租戶相互匹配,且等級a1≥等級a2=等級a。
16.進一步的,所述資源管理模塊包括存儲模塊、容器組模塊、負載模塊、服務模塊、應用路由模塊;
17.將所述資源管理模塊中對應的各個軟硬件資源等級設置為等級c,具體包括:
18.將所述存儲模塊、所述容器組模塊、所述負載模塊、所述服務模塊、所述應用路由模塊的等級均設置為等級c,且等級c=等級d。
19.進一步的,所述方法還包括:
20.獲取用于細分劃分兩個相鄰等級的劃分等級j;其中,所述兩個相鄰等級包括等級a、等級b、等級c、等級d之中的兩個,且所述劃分等級j的數值介于所述兩個相鄰等級的數值之間;
21.細分劃分所述兩個相鄰等級,并修改待細分資源的等級、以實現升級操作或降級操作。
22.進一步的,修改待細分資源的等級、以實現升級操作或降級操作,具體包括:
23.對所述待細分資源的等級進行升級、生成升級資源,并判斷所述升級資源的上層資源等級是否不低于所述升級資源等級;
24.對所述待細分資源的等級進行降級、生成降級資源,并判斷所述降級資源的下層資源等級是否不高于所述降級資源等級;
25.當所述升級資源的上層資源等級不低于所述升級資源等級、且所述降級資源的下層資源等級不高于所述降級資源等級時,對所述待細分資源實現升級操作和/或降級操作。
26.進一步的,所述方法還包括:
27.對所述節點模塊中的節點添加節點親和性功能;
28.篩選出等級等于所述目標調度等級k的節點,以調度相同等級的所述目標節點。
29.進一步的,所述方法還包括:
30.將所述容器云平臺對接第三方容器管理平臺,對所述第三方容器管理平臺中等級不超過所述目標調度等級k的第三方目標節點進行調度。
31.本發明還提供一種基于kubernetes的調度管理裝置,用于實現前述所述的基于kubernetes的調度管理方法,所述裝置包括:
32.等級設置單元,用于將所述多租戶管理模塊中的當前租戶等級設置為等級a、所述項目模塊中對應的項目等級設置為等級b、所述資源管理模塊中對應的各個軟硬件資源等級設置為等級c、所述節點模塊中對應的節點等級設置為等級d;其中,所述當前租戶、所述項目、所述軟硬件資源、所述節點相互匹配,且等級a≥等級b=等級c=等級d;等級越高,對應資源的調度權限越大;
33.目標調度等級獲取單元,用于根據所述等級d獲取調度所述節點模塊中目標節點的目標調度等級k,所述目標調度等級k≤所述等級d;
34.黑名單網絡隔離單元,用于當所述節點模塊中所有節點處于網絡互通狀態時,根
據黑名單網絡隔離策略阻止所有節點的調度操作;
35.節點調度管理單元,用于篩選出等級大于所述目標調度等級k的節點,以調度所述目標節點。
36.本發明又提供一種計算機設備,包括存儲器、處理器及計算機程序,所述計算機程序存儲在所述存儲器上并可在所述處理器上運行,所述處理器執行所述計算機程序時實現以下步驟:
37.將所述多租戶管理模塊中的當前租戶等級設置為等級a、所述項目模塊中對應的項目等級設置為等級b、所述資源管理模塊中對應的各個軟硬件資源等級設置為等級c、所述節點模塊中對應的節點等級設置為等級d;其中,所述當前租戶、所述項目、所述軟硬件資源、所述節點相互匹配,且等級a≥等級b=等級c=等級d;等級越高,對應資源的調度權限越大;
38.根據所述等級d獲取調度所述節點模塊中目標節點的目標調度等級k,所述目標調度等級k≤所述等級d;
39.當所述節點模塊中所有節點處于網絡互通狀態時,根據黑名單網絡隔離策略阻止所有節點的調度操作;
40.篩選出等級大于所述目標調度等級k的節點,以調度所述目標節點。
41.本發明再提供一種計算機可讀存儲介質,其存儲有計算機程序,所述計算機程序被處理器執行時實現以下步驟:
42.將所述多租戶管理模塊中的當前租戶等級設置為等級a、所述項目模塊中對應的項目等級設置為等級b、所述資源管理模塊中對應的各個軟硬件資源等級設置為等級c、所述節點模塊中對應的節點等級設置為等級d;其中,所述當前租戶、所述項目、所述軟硬件資源、所述節點相互匹配,且等級a≥等級b=等級c=等級d;等級越高,對應資源的調度權限越大;
43.根據所述等級d獲取調度所述節點模塊中目標節點的目標調度等級k,所述目標調度等級k≤所述等級d;
44.當所述節點模塊中所有節點處于網絡互通狀態時,根據黑名單網絡隔離策略阻止所有節點的調度操作;
45.篩選出等級大于所述目標調度等級k的節點,以調度所述目標節點。
46.本發明的上述技術方案,相比現有技術具有以下技術效果:
47.本發明中,先將kubernetes集中的當前租戶、對應的項目、對應的各個軟硬件資源、對應的節點等資源的等級依次進行標注,使得當前租戶等級a≥項目等級b=各個軟硬件資源等級c=節點等級d,從而便于后期按照從高到低的等級權限進行資源調度和管理,即低層級資源不能訪問高等級資源,高等級資源可以獲取它等級之下的所有資源;
48.當需要調度目標節點(目標節點自身等級不超過等級k,且等級k≤等級d)時,先將處于網絡互通狀態的所有節點按照黑名單網絡隔離策略進行全員阻攔、禁止任何調度操作;再篩選出等級大于等級k的節點,賦予這些篩選節點相關調度權限、以允許這些篩選節點調度目標節點;
49.由此,通過分級管理,來保證擁有不同權限的租戶在kubernetes集中資源使用以及訪問上擁有不同的策略,即租戶隔離、資源隔離以及網絡上的隔離。
附圖說明
50.為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其它的附圖。
51.圖1是本發明實施例一中基于kubernetes的調度管理方法的流程示意圖;
52.圖2是本發明實際實施例中等級分級體系示意圖;
53.圖3是本發明實際實施例中調度管理方法中分級管理架構示意圖;
54.圖4是本發明實施例二中基于kubernetes的調度管理裝置的結構框圖;
55.圖5為本發明實施例二中計算機設備的內部結構圖。
具體實施方式
56.現有技術中,申請號為cn202011094385.4的專利申請公開了一種跨組織用戶的分級管理系統;其中,通過設定、分配每級組織的分級管理員,可以管理本組織或跨組織的用戶,管理員可以管理自己分配管轄區的用戶;本管轄區的管理員可以創建、修改組織、用戶、角,并可將權限分配給角,將角分配給用戶,用戶就有了操作系統相應菜單的權限,分級并可跨組織管理用戶解決了龐大組織和用戶的管理,將用戶管理分解成不同的小單元進行管理,每級都可個性化管理用戶,加快了響應速度;用戶管理分散到每級管理員,可以減輕超級管理員的壓力。
57.可見,上述專利申請主要從用戶管理的角度來對用戶的角、用戶的權限進行管理,從而保證在web端進行不同菜單以及資源的展示。
58.但是,如何從kubernetes集的角度來確保管理、如何實現租戶隔離和資源隔離、以及如何對接第三方組件是目前技術痛點。
59.為此,本發明提供一種基于kubernetes的調度管理方法及裝置,來解決上述問題。
60.為使本發明的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬于本發明保護的范圍。
61.實施例一:
62.如圖1所示,本發明實施例提供一種基于kubernetes的調度管理方法,用于對容器云平臺中的kubernetes集進行資源調度管理,容器云平臺包括多租戶管理模塊、項目模塊、資源管理模塊以及節點模塊;
63.方法包括:
64.s1將多租戶管理模塊中的當前租戶等級設置為等級a、項目模塊中對應的項目等級設置為等級b、資源管理模塊中對應的各個軟硬件資源等級設置為等級c、節點模塊中對應的節點等級設置為等級d;其中,當前租戶、項目、軟硬件資源、節點相互匹配,且等級a≥等級b=等級c=等級d;等級越高,對應資源的調度權限越大;
65.s21根據等級d獲取調度節點模塊中目標節點的目標調度等級k,目標調度等級k≤等級d;
66.s22當節點模塊中所有節點處于網絡互通狀態時,根據黑名單網絡隔離策略阻止所有節點的調度操作;
67.s23篩選出等級大于目標調度等級k的節點,以調度目標節點。
68.在具體實施例中,先將kubernetes集中的當前租戶、對應的項目、對應的各個軟硬件資源、對應的節點等資源的等級依次進行標注,使得當前租戶等級a≥項目等級b=各個軟硬件資源等級c=節點等級d,從而便于后期按照從高到低的等級權限進行資源調度和管理,即低層級資源不能訪問高等級資源,高等級資源可以獲取它等級之下的所有資源;
69.當需要調度目標節點(目標節點自身等級不超過等級k,且等級k≤等級d)時,先將處于網絡互通狀態的所有節點按照黑名單網絡隔離策略進行全員阻攔、禁止任何調度操作;再篩選出等級大于等級k的節點,賦予這些篩選節點相關調度權限、以允許這些篩選節點調度目標節點;
70.由此,通過分級管理,來保證擁有不同權限的租戶在kubernetes集中資源使用以及訪問上擁有不同的策略,即租戶隔離、資源隔離以及網絡上的隔離。
71.在具體實施例中,上述調度管理方法采用極少改動就可實現kubernetest集的分級管理;通過應用整個生命周期中的調度隔離、資源隔離、網絡隔離等策略來保證不同租戶之間的分級管理。
72.在實際中,分級體系具體概念如下:
73.分級,顧名思義就是按照既定的標準對整體進行分解、分類。具體的,將其抽象成一個金字塔模型,從地基到塔頂會有很多個層級;將公共資源作為金字塔的地基,擁有最高權限的admin作為塔頂,其他資源按照權限等級劃分成不同等級。
74.如圖2所示,低層級資源不能訪問高等級資源,高等級資源可以獲取它等級之下的所有資源,以此構建一個權益遞減、層級間相互隔離的分級體系。
75.在一個優選的實施方式中,多租戶管理模塊包括用戶模塊、企業空間模塊;
76.s1中,將多租戶管理模塊中的當前租戶等級設置為等級a,具體包括:
77.s11將用戶模塊中的當前用戶等級設置為等級a1、企業空間模塊中對應的企業空間等級設置為等級a2;
78.其中,當前用戶、企業空間、當前租戶相互匹配,且等級a1≥等級a2=等級a。
79.在一個優選的實施方式中,資源管理模塊包括存儲模塊、容器組模塊、負載模塊、服務模塊、應用路由模塊;
80.s1中,將資源管理模塊中對應的各個軟硬件資源等級設置為等級c,具體包括:
81.s12將存儲模塊、容器組模塊、負載模塊、服務模塊、應用路由模塊的等級均設置為等級c,且等級c=等級d。
82.在一個優選的實施方式中,方法還包括:
83.s241對節點模塊中的節點添加節點親和性功能;
84.s242篩選出等級等于目標調度等級k的節點,以調度相同等級的目標節點。
85.在具體實施例中,以一個多節點的集為例,首先給用戶、企業空間、節點等資源打上代表等級的標簽。
86.在邀請用戶加入企業空間或者項目時,要求加入的企業空間或者項目的等級不得高于用戶的等級;
87.同樣項目在綁定企業空間時,也要求項目的等級不得高于企業空間(或多租戶管理模塊)的等級,由此才能對資源進行納管;
88.同一項目下資源的等級是相同的,基于項目創建的負載、pod(即節點)、服務等資源的等級跟項目保持一致。
89.同時pod中加入節點親和性,以使pod可調度到不高于其權限等級的節點上。
90.在一個優選的實施方式中,方法還包括:
91.s31獲取用于細分劃分兩個相鄰等級的劃分等級j;其中,兩個相鄰等級包括等級a、等級b、等級c、等級d之中的兩個,且劃分等級j的數值介于兩個相鄰等級的數值之間;
92.s32細分劃分兩個相鄰等級,并修改待細分資源的等級、以實現升級操作或降級操作。
93.在具體實施例中,在分級管理體系中,支持等級的無限劃分,只需定義一個中間值,就可以在兩個等級之間插入一個新的等級,無需操作其他資源;在對資源進行升降級時,只需修改資源對應的label標簽、就可對資源進行升降級操作。
94.在一個優選的實施方式中,s32中,修改待細分資源的等級、以實現升級操作或降級操作,具體包括:
95.s321對待細分資源的等級進行升級、生成升級資源,并判斷升級資源的上層資源等級是否不低于升級資源等級;
96.s322對待細分資源的等級進行降級、生成降級資源,并判斷降級資源的下層資源等級是否不高于降級資源等級;
97.s323當升級資源的上層資源等級不低于升級資源等級、且降級資源的下層資源等級不高于降級資源等級時,對待細分資源實現升級操作和/或降級操作。
98.當然,在對資源進行升降級的時候,需要對資源進行檢測,以保證升級時其上層資源的權限等級不得低于目標等級;同時,降級時其下層資源的權限等級不得高于目標等級。
99.此外,在不滿足升降級操作條件時,需要將對應資源也做相應調整。
100.在一個優選的實施方式中,方法還包括:
101.s4將容器云平臺對接第三方容器管理平臺,對第三方容器管理平臺中等級不超過目標調度等級k的第三方目標節點進行調度。
102.在具體實施例中,上述調度管理方法便于快速對接第三方容器管理平臺,實現租戶與資源的關聯以及資源之間的隔離。
103.其完全基于kubernetes自身的能力,不需要額外組件,去中心化的方式保證了對接方便以及架構安全。
104.綜上,本發明實施例提供的一種基于kubernetes的調度管理方法,可解決如下技術問題:
105.1)如何提供不同的策略來保證不同租戶之間資源的隔離以及網絡上的隔離;
106.2)如何完全基于kubernetes自身的能力,不需要額外的組件,以去中心化的方式保證對接方便以及架構安全;
107.3)如何快速對接第三方容器管理平臺,實現租戶與資源的關聯以及資源之間的隔離。
108.其具有以下優點:
109.1)可從kubernetes集的角度來確保管理,不同權限的用戶在集中表現不同;
110.2)可提供不同的策略來保證擁有不同權限的用戶在kubernetes集中資源使用以及訪問上擁有不同的策略,即租戶隔離和資源隔離;
111.3)可提供一種去中心化的方式,方便第三方組件對接原生kubernetes對象,不要額外的學習成本以及對接成本。
112.如圖3所示,在實際實施例中,上述基于kubernetes的調度管理方法中的分級管理架構如下:
113.定義一個代表等級的標簽kubernetes.io/level。
114.以一個多節點的集為例,首先給用戶、企業空間、節點等資源打上代表等級的標簽。
115.用戶和企業空間模擬容器平臺中多租戶管理模塊;項目對應kubernetes中的namespace資源對象,節點對應kubernetes中的node資源對象,存儲、容器組、負載、服務、應用路由都對應kubernetes中的資源對象;
116.在邀請用戶加入企業空間或者項目時,要求加入的企業空間或者項目的等級不得高于用戶的等級;
117.同樣項目在綁定企業空間時,也要求項目的等級不得高于企業空間的等級,由此才能對資源進行納管;
118.同一項目下資源的等級是相同的,基于項目創建的負載、pod、服務等資源的等級跟項目保持一致;
119.同時pod中加入節點親和性,以使pod可調度到不高于其權限等級的節點上。
120.在某個實際實施例中,上述基于kubernetes的調度管理方法的流程步驟如下:
121.1.創建一個權限等級是3的用戶demo-user,其可以加入權限等級不高于3的企業空間或者項目中。
122.2.創建一個權限等級是2的項目demo-ns,那么基于項目創建的負載、pod、存儲等資源的權限等級也是2。
123.yaml示例:
[0124][0125]
3.基于項目demo-ns創建一個nginx的pod,其權限等級也是2;
[0126]
同時加入節點親和性,要求此pod調度到權限等級不高于2的節點上。
[0127]
yaml示例如下:
[0128][0129][0130]
4.在分級體系中,高等級pod可訪問低等級pod,但是低等級pod不可訪問高等級pod;為保證不同層級間各個pod的網絡通信,具體操作如下:
[0131]
項目在不開啟網絡隔離的情況下,pod間的網絡是互通的,所以在這里新增一個黑名單的網絡隔離策略。podselector:{}其作用于項目中所有pod、阻止所有流量流入。
[0132]
然后放行標簽等級大于目標等級(這里是2)的流量流入。
[0133]
yaml示例如下:
[0134][0135][0136]
需要注意的是,雖然流程圖中的各個步驟按照箭頭的指示依次顯示,但是這些步驟并不是必然按照箭頭指示的順序依次執行。除非本文中有明確的說明,這些步驟的執行并沒有嚴格的順序限制,這些步驟可以以其它的順序執行。而且,流程圖中的至少一部分步驟可以包括多個子步驟或者多個階段,這些子步驟或者階段并不必然是在同一時刻執行完成,而是可以在不同的時刻執行,這些子步驟或者階段的執行順序也不必然是依次進行,而是可以與其它步驟或者其它步驟的子步驟或者階段的至少一部分輪流或者交替地執行。
[0137]
實施例二:
[0138]
如圖4所示,本發明實施例還提供一種基于kubernetes的調度管理裝置,用于實現前述的基于kubernetes的調度管理方法,裝置包括:
[0139]
等級設置單元,用于將多租戶管理模塊中的當前租戶等級設置為等級a、項目模塊中對應的項目等級設置為等級b、資源管理模塊中對應的各個軟硬件資源等級設置為等級c、節點模塊中對應的節點等級設置為等級d;其中,當前租戶、項目、軟硬件資源、節點相互匹配,且等級a≥等級b=等級c=等級d;等級越高,對應資源的調度權限越大;
[0140]
目標調度等級獲取單元,用于根據等級d獲取調度節點模塊中目標節點的目標調度等級k,目標調度等級k≤等級d;
[0141]
黑名單網絡隔離單元,用于當節點模塊中所有節點處于網絡互通狀態時,根據黑名單網絡隔離策略阻止所有節點的調度操作;
[0142]
節點調度管理單元,用于篩選出等級大于目標調度等級k的節點,以調度目標節點。
[0143]
在一個優選的實施方式中,等級設置單元包括用戶與企業空間等級設置單元,用
于將用戶模塊中的當前用戶等級設置為等級a1、企業空間模塊中對應的企業空間等級設置為等級a2;其中,當前用戶、企業空間、當前租戶相互匹配,且等級a1≥等級a2=等級a。
[0144]
在一個優選的實施方式中,等級設置單元還包括資源等級設置單元,用于將存儲模塊、容器組模塊、負載模塊、服務模塊、應用路由模塊的等級均設置為等級c,且等級c=等級d。
[0145]
在一個優選的實施方式中,裝置還包括:
[0146]
等級劃分單元,用于獲取用于細分劃分兩個相鄰等級的劃分等級j;其中,兩個相鄰等級包括等級a、等級b、等級c、等級d之中的兩個,且劃分等級j的數值介于兩個相鄰等級的數值之間;
[0147]
升級降級單元,用于細分劃分兩個相鄰等級,并修改待細分資源的等級、以實現升級操作或降級操作。
[0148]
在一個優選的實施方式中,升級降級單元包括:
[0149]
升級檢測單元,用于對待細分資源的等級進行升級、生成升級資源,并判斷升級資源的上層資源等級是否不低于升級資源等級;
[0150]
降級檢測單元,用于對待細分資源的等級進行降級、生成降級資源,并判斷降級資源的下層資源等級是否不高于降級資源等級;
[0151]
升級降級單元還用于當升級資源的上層資源等級不低于升級資源等級、且降級資源的下層資源等級不高于降級資源等級時,對待細分資源實現升級操作和/或降級操作。
[0152]
在一個優選的實施方式中,裝置還包括:
[0153]
節點親和性設置單元,用于將節點模塊中的節點添加節點親和性功能;
[0154]
同等級節點篩選單元,用于篩選出等級等于目標調度等級k的節點,以調度相同等級的目標節點。
[0155]
在一個優選的實施方式中,裝置還包括第三方平臺對接單元,其用于將容器云平臺對接第三方容器管理平臺,對第三方容器管理平臺中等級不超過目標調度等級k的第三方目標節點進行調度。
[0156]
關于上述裝置的具體限定,可以參見上文中對于方法的限定,在此不再贅述。
[0157]
上述裝置中的各個模塊,可全部或部分通過軟件、硬件及其組合來實現。上述各模塊可以以硬件形式內嵌于、或獨立于計算機設備中的處理器中,也可以以軟件形式存儲于計算機設備中的存儲器中,以便于處理器調用執行以上各個模塊對應的操作。
[0158]
其中,如圖5所示,上述計算機設備可以是終端,其包括通過系統總線連接的處理器、存儲器、網絡接口、顯示屏和輸入裝置。其中,該計算機設備的處理器用于提供計算和控制能力。該計算機設備的存儲器包括非易失性存儲介質、內存儲器。該非易失性存儲介質存儲有操作系統和計算機程序。該內存儲器為非易失性存儲介質中的操作系統和計算機程序的運行提供環境。該計算機設備的網絡接口用于與外部的終端通過網絡連接通信。該計算機設備的顯示屏可以是液晶顯示屏或者電子墨水顯示屏,該計算機設備的輸入裝置可以是顯示屏上覆蓋的觸摸層,也可以是計算機設備外殼上設置的按鍵、軌跡球或觸控板,還可以是外接的鍵盤、觸控板或鼠標等。
[0159]
可以理解的是,上述圖中示出的結構,僅僅是與本發明方案相關的部分結構的框圖,并不構成對本發明方案所應用于其上的計算機設備的限定,具體的計算機設備可以包
括比圖中所示更多或更少的部件,或者組合某些部件,或者具有不同的部件布置。
[0160]
實施例三:
[0161]
本發明實施例又提供一種計算機設備,包括存儲器、處理器及計算機程序,計算機程序存儲在存儲器上并可在處理器上運行,處理器執行計算機程序時實現以下步驟:
[0162]
s1將多租戶管理模塊中的當前租戶等級設置為等級a、項目模塊中對應的項目等級設置為等級b、資源管理模塊中對應的各個軟硬件資源等級設置為等級c、節點模塊中對應的節點等級設置為等級d;其中,當前租戶、項目、軟硬件資源、節點相互匹配,且等級a≥等級b=等級c=等級d;等級越高,對應資源的調度權限越大;
[0163]
s21根據等級d獲取調度節點模塊中目標節點的目標調度等級k,目標調度等級k≤等級d;
[0164]
s22當節點模塊中所有節點處于網絡互通狀態時,根據黑名單網絡隔離策略阻止所有節點的調度操作;
[0165]
s23篩選出等級大于目標調度等級k的節點,以調度目標節點。
[0166]
在一個優選的實施方式中,處理器執行計算機程序時還實現以下步驟:
[0167]
s1中,將多租戶管理模塊中的當前租戶等級設置為等級a,具體包括:s11將用戶模塊中的當前用戶等級設置為等級a1、企業空間模塊中對應的企業空間等級設置為等級a2;其中,當前用戶、企業空間、當前租戶相互匹配,且等級a1≥等級a2=等級a。
[0168]
在一個優選的實施方式中,處理器執行計算機程序時還實現以下步驟:
[0169]
s1中,將資源管理模塊中對應的各個軟硬件資源等級設置為等級c,具體包括:s12將存儲模塊、容器組模塊、負載模塊、服務模塊、應用路由模塊的等級均設置為等級c,且等級c=等級d。
[0170]
在一個優選的實施方式中,處理器執行計算機程序時還實現以下步驟:
[0171]
s241對節點模塊中的節點添加節點親和性功能;s242篩選出等級等于目標調度等級k的節點,以調度相同等級的目標節點。
[0172]
在一個優選的實施方式中,處理器執行計算機程序時還實現以下步驟:
[0173]
s31獲取用于細分劃分兩個相鄰等級的劃分等級j;其中,兩個相鄰等級包括等級a、等級b、等級c、等級d之中的兩個,且劃分等級j的數值介于兩個相鄰等級的數值之間;s32細分劃分兩個相鄰等級,并修改待細分資源的等級、以實現升級操作或降級操作。
[0174]
在一個優選的實施方式中,處理器執行計算機程序時還實現以下步驟:
[0175]
s32中,修改待細分資源的等級、以實現升級操作或降級操作,具體包括:s321對待細分資源的等級進行升級、生成升級資源,并判斷升級資源的上層資源等級是否不低于升級資源等級;s322對待細分資源的等級進行降級、生成降級資源,并判斷降級資源的下層資源等級是否不高于降級資源等級;s323當升級資源的上層資源等級不低于升級資源等級、且降級資源的下層資源等級不高于降級資源等級時,對待細分資源實現升級操作和/或降級操作。
[0176]
在一個優選的實施方式中,處理器執行計算機程序時還實現以下步驟:
[0177]
s4將容器云平臺對接第三方容器管理平臺,對第三方容器管理平臺中等級不超過目標調度等級k的第三方目標節點進行調度。
[0178]
實施例四:
[0179]
本發明實施例再提供一種計算機可讀存儲介質,存儲有計算機程序,計算機程序被處理器執行時實現以下步驟:
[0180]
s1將多租戶管理模塊中的當前租戶等級設置為等級a、項目模塊中對應的項目等級設置為等級b、資源管理模塊中對應的各個軟硬件資源等級設置為等級c、節點模塊中對應的節點等級設置為等級d;其中,當前租戶、項目、軟硬件資源、節點相互匹配,且等級a≥等級b=等級c=等級d;等級越高,對應資源的調度權限越大;
[0181]
s21根據等級d獲取調度節點模塊中目標節點的目標調度等級k,目標調度等級k≤等級d;
[0182]
s22當節點模塊中所有節點處于網絡互通狀態時,根據黑名單網絡隔離策略阻止所有節點的調度操作;
[0183]
s23篩選出等級大于目標調度等級k的節點,以調度目標節點。
[0184]
在一個優選的實施方式中,計算機程序被處理器執行時還實現以下步驟:
[0185]
s1中,將多租戶管理模塊中的當前租戶等級設置為等級a,具體包括:s11將用戶模塊中的當前用戶等級設置為等級a1、企業空間模塊中對應的企業空間等級設置為等級a2;其中,當前用戶、企業空間、當前租戶相互匹配,且等級a1≥等級a2=等級a。
[0186]
在一個優選的實施方式中,計算機程序被處理器執行時還實現以下步驟:
[0187]
s1中,將資源管理模塊中對應的各個軟硬件資源等級設置為等級c,具體包括:s12將存儲模塊、容器組模塊、負載模塊、服務模塊、應用路由模塊的等級均設置為等級c,且等級c=等級d。
[0188]
在一個優選的實施方式中,計算機程序被處理器執行時還實現以下步驟:
[0189]
s241對節點模塊中的節點添加節點親和性功能;s242篩選出等級等于目標調度等級k的節點,以調度相同等級的目標節點。
[0190]
在一個優選的實施方式中,計算機程序被處理器執行時還實現以下步驟:
[0191]
s31獲取用于細分劃分兩個相鄰等級的劃分等級j;其中,兩個相鄰等級包括等級a、等級b、等級c、等級d之中的兩個,且劃分等級j的數值介于兩個相鄰等級的數值之間;s32細分劃分兩個相鄰等級,并修改待細分資源的等級、以實現升級操作或降級操作。
[0192]
在一個優選的實施方式中,計算機程序被處理器執行時還實現以下步驟:
[0193]
s32中,修改待細分資源的等級、以實現升級操作或降級操作,具體包括:s321對待細分資源的等級進行升級、生成升級資源,并判斷升級資源的上層資源等級是否不低于升級資源等級;s322對待細分資源的等級進行降級、生成降級資源,并判斷降級資源的下層資源等級是否不高于降級資源等級;s323當升級資源的上層資源等級不低于升級資源等級、且降級資源的下層資源等級不高于降級資源等級時,對待細分資源實現升級操作和/或降級操作。
[0194]
在一個優選的實施方式中,計算機程序被處理器執行時還實現以下步驟:
[0195]
s4將容器云平臺對接第三方容器管理平臺,對第三方容器管理平臺中等級不超過目標調度等級k的第三方目標節點進行調度。
[0196]
可以理解的是,上述實施例方法中的全部或部分流程的實現,可以通過計算機程序來指令相關的硬件來完成,計算機程序可存儲于一非易失性計算機可讀取存儲介質中,該計算機程序在執行時,可包括如上述各方法的實施例的流程。
[0197]
其中,本發明所提供的各實施例中所使用的對存儲器、存儲、數據庫或其它介質的任何引用,均可包括非易失性和/或易失性存儲器。非易失性存儲器可包括只讀存儲器(rom)、可編程rom(prom)、電可編程rom(eprom)、電可擦除可編程rom(eeprom)或閃存。易失性存儲器可包括隨機存取存儲器(ram)或者外部高速緩沖存儲器。作為說明而非局限,ram以多種形式可得,諸如靜態ram(sram)、動態ram(dram)、同步dram(sdram)、雙數據率sdram(ddrsdram)、增強型sdram(esdram)、同步鏈路(synchlink)dram(sldram)、存儲器總線(rambus)直接ram(rdram)、直接存儲器總線動態ram(drdram)、以及存儲器總線動態ram(rdram)等。
[0198]
需要注意的是,上述僅為本發明的較佳實施例及所運用技術原理。本領域技術人員會理解,本發明不限于這里所述的特定實施例,對本領域技術人員來說能夠進行各種明顯的變化、重新調整和替代而不會脫離本發明的保護范圍。因此,雖然通過以上實施例對本發明進行了較為詳細的說明,但是本發明不僅僅限于以上實施例,在不脫離本發明構思的情況下,還可以包括更多其它等效實施例,而本發明的范圍由所附的權利要求范圍決定。
技術特征:
1.一種基于kubernetes的調度管理方法,其特征在于,用于對容器云平臺中的kubernetes集進行資源調度管理,所述容器云平臺包括多租戶管理模塊、項目模塊、資源管理模塊以及節點模塊;所述方法包括:將所述多租戶管理模塊中的當前租戶等級設置為等級a、所述項目模塊中對應的項目等級設置為等級b、所述資源管理模塊中對應的各個軟硬件資源等級設置為等級c、所述節點模塊中對應的節點等級設置為等級d;其中,所述當前租戶、所述項目、所述軟硬件資源、所述節點相互匹配,且等級a≥等級b=等級c=等級d;等級越高,對應資源的調度權限越大;根據所述等級d獲取調度所述節點模塊中目標節點的目標調度等級k,所述目標調度等級k≤所述等級d;當所述節點模塊中所有節點處于網絡互通狀態時,根據黑名單網絡隔離策略阻止所有節點的調度操作;篩選出等級大于所述目標調度等級k的節點,以調度所述目標節點。2.根據權利要求1所述的基于kubernetes的調度管理方法,其特征在于,所述多租戶管理模塊包括用戶模塊、企業空間模塊;將所述多租戶管理模塊中的當前租戶等級設置為等級a,具體包括:將所述用戶模塊中的當前用戶等級設置為等級a1、所述企業空間模塊中對應的企業空間等級設置為等級a2;其中,所述當前用戶、所述企業空間、所述當前租戶相互匹配,且等級a1≥等級a2=等級a。3.根據權利要求2所述的基于kubernetes的調度管理方法,其特征在于,所述資源管理模塊包括存儲模塊、容器組模塊、負載模塊、服務模塊、應用路由模塊;將所述資源管理模塊中對應的各個軟硬件資源等級設置為等級c,具體包括:將所述存儲模塊、所述容器組模塊、所述負載模塊、所述服務模塊、所述應用路由模塊的等級均設置為等級c,且等級c=等級d。4.根據權利要求1所述的基于kubernetes的調度管理方法,其特征在于,所述方法還包括:獲取用于細分劃分兩個相鄰等級的劃分等級j;其中,所述兩個相鄰等級包括等級a、等級b、等級c、等級d之中的兩個,且所述劃分等級j的數值介于所述兩個相鄰等級的數值之間;細分劃分所述兩個相鄰等級,并修改待細分資源的等級、以實現升級操作或降級操作。5.根據權利要求4所述的基于kubernetes的調度管理方法,其特征在于,修改待細分資源的等級、以實現升級操作或降級操作,具體包括:對所述待細分資源的等級進行升級、生成升級資源,并判斷所述升級資源的上層資源等級是否不低于所述升級資源等級;對所述待細分資源的等級進行降級、生成降級資源,并判斷所述降級資源的下層資源等級是否不高于所述降級資源等級;當所述升級資源的上層資源等級不低于所述升級資源等級、且所述降級資源的下層資
源等級不高于所述降級資源等級時,對所述待細分資源實現升級操作和/或降級操作。6.根據權利要求1所述的基于kubernetes的調度管理方法,其特征在于,所述方法還包括:對所述節點模塊中的節點添加節點親和性功能;篩選出等級等于所述目標調度等級k的節點,以調度相同等級的所述目標節點。7.根據權利要求6所述的基于kubernetes的調度管理方法,其特征在于,所述方法還包括:將所述容器云平臺對接第三方容器管理平臺,對所述第三方容器管理平臺中等級不超過所述目標調度等級k的第三方目標節點進行調度。8.一種基于kubernetes的調度管理裝置,其特征在于,用于實現如權利要求1-7任一項所述的基于kubernetes的調度管理方法,所述裝置包括:等級設置單元,用于將所述多租戶管理模塊中的當前租戶等級設置為等級a、所述項目模塊中對應的項目等級設置為等級b、所述資源管理模塊中對應的各個軟硬件資源等級設置為等級c、所述節點模塊中對應的節點等級設置為等級d;其中,所述當前租戶、所述項目、所述軟硬件資源、所述節點相互匹配,且等級a≥等級b=等級c=等級d;等級越高,對應資源的調度權限越大;目標調度等級獲取單元,用于根據所述等級d獲取調度所述節點模塊中目標節點的目標調度等級k,所述目標調度等級k≤所述等級d;黑名單網絡隔離單元,用于當所述節點模塊中所有節點處于網絡互通狀態時,根據黑名單網絡隔離策略阻止所有節點的調度操作;節點調度管理單元,用于篩選出等級大于所述目標調度等級k的節點,以調度所述目標節點。9.一種計算機設備,包括存儲器、處理器及計算機程序,所述計算機程序存儲在所述存儲器上并可在所述處理器上運行,其特征在于,所述處理器執行所述計算機程序時實現如權利要求1-7中任一項所述的基于kubernetes的調度管理方法的步驟。10.一種計算機可讀存儲介質,其存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現如權利要求1-7中任一項所述的基于kubernetes的調度管理方法的步驟。
技術總結
本發明涉及一種基于Kubernetes的調度管理方法及裝置,方法包括:將多租戶管理模塊中的當前租戶等級設置為等級a、項目模塊中對應的項目等級設置為等級b、資源管理模塊中對應的各個軟硬件資源等級設置為等級c、節點模塊中對應的節點等級設置為等級d;等級a≥等級b=等級c=等級d;根據等級d獲取調度節點模塊中目標節點的目標調度等級k,目標調度等級k≤等級d;當節點模塊中所有節點處于網絡互通狀態時,根據黑名單網絡隔離策略阻止所有節點的調度操作;篩選出等級大于目標調度等級k的節點,以調度目標節點。通過上述技術方案,可解決目前kubernetes集中無法合理調度與管理各資源、無法實現資源隔離的問題。無法實現資源隔離的問題。無法實現資源隔離的問題。
