System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請涉及跨集群通信,尤其是一種跨kubernetes網(wǎng)絡(luò)連通方法、系統(tǒng)、存儲(chǔ)介質(zhì)及電子設(shè)備。
技術(shù)介紹
1、kubernetes(簡稱k8s)是一個(gè)用于自動(dòng)部署、擴(kuò)展和管理容器化應(yīng)用程序的開源平臺(tái)。它提供了一個(gè)強(qiáng)大的容器編排系統(tǒng),幫助用戶高效地管理大規(guī)模容器化應(yīng)用程序的運(yùn)行,其中,pod是最小部署單元:包含一個(gè)或多個(gè)容器,這些容器共享網(wǎng)絡(luò)和存儲(chǔ)資源,并在同一主機(jī)上運(yùn)行。pod可以是靜態(tài)的或動(dòng)態(tài)的,并可以通過service對象公開訪問。service是服務(wù)抽象:用于公開pod的網(wǎng)絡(luò)端點(diǎn),提供負(fù)載均衡和故障轉(zhuǎn)移功能。
2、如圖2所示,有3個(gè)kubernetes集群:manager?kubernetes集群(簡稱manager集群)、managed?kubernetes集群x(簡稱managed-x集群)、managed?kubernetes集群y(簡稱managed-y集群)。manager集群中部署了兩個(gè)應(yīng)用程序:podapp-a,podapp-b。managed-x集群中部署了數(shù)據(jù)庫服務(wù)poddb,并通過servicea進(jìn)行負(fù)載均衡。managed-y集群中部署了另一個(gè)數(shù)據(jù)庫服務(wù)poddb,并通過servicea進(jìn)行負(fù)載均衡。需要注意的是,雖然managed-x集群和managed-y集群中都有poddb和servicea,但他們是不同的數(shù)據(jù)庫服務(wù),只是名字相同。
3、正常情況下,manager集群中的podapp-a是無法連通到managed-x集群中的poddb的。即在現(xiàn)有技術(shù)中,kubernete
技術(shù)實(shí)現(xiàn)思路
1、本申請的目的在于克服現(xiàn)有技術(shù)中pod無法實(shí)現(xiàn)跨kubernetes集群進(jìn)行通信的問題,提供一種跨kubernetes網(wǎng)絡(luò)連通方法、系統(tǒng)、存儲(chǔ)介質(zhì)及電子設(shè)備。
2、第一方面,提供了一種跨kubernetes網(wǎng)絡(luò)連通方法,包括:
3、建立與第二集群中網(wǎng)絡(luò)代理服務(wù)端的tcp長連接;
4、掃描第一集群中的service對象并掃描到的service對象列表上報(bào)至網(wǎng)絡(luò)代理服務(wù)端,其中,所述service對象包含網(wǎng)格四元組:源ip、源端口、目標(biāo)ip和目標(biāo)端口;
5、對所述第一集群中service對象的變化信息進(jìn)行監(jiān)控,并將所述變化信息上報(bào)至網(wǎng)絡(luò)代理服務(wù)端;
6、根據(jù)所述網(wǎng)格四元組搭建用于實(shí)現(xiàn)第二集群中pod與第一集群中pod通信的虛擬網(wǎng)絡(luò)鏈路;
7、通過所述虛擬網(wǎng)絡(luò)聯(lián)絡(luò)實(shí)現(xiàn)第二集群中pod與第一集群中pod的通信。
8、在一些可能的實(shí)現(xiàn)方式中,在建立與第二集群中網(wǎng)絡(luò)代理服務(wù)端的tcp長連接之前,還包括:
9、獲取網(wǎng)絡(luò)代理服務(wù)端的ip地址和登陸憑證并發(fā)起登陸請求。
10、在一些可能的實(shí)現(xiàn)方式中,根據(jù)所述網(wǎng)格四元組搭建用于實(shí)現(xiàn)第二集群中pod與第一集群中pod通信的虛擬網(wǎng)絡(luò)鏈路,包括:
11、將源端口和源ip上報(bào)至網(wǎng)絡(luò)代理服務(wù)端,其中,所述源端口為第一集群中pod對外提供服務(wù)的端口,所述源ip為第一集群中pod對外提供服務(wù)的ip;
12、接收網(wǎng)絡(luò)代理服務(wù)端所提供的目標(biāo)端口和目標(biāo)ip,其中,所述目標(biāo)端口為第二集群中pod對外提供服務(wù)的端口,所述目標(biāo)ip為第二集群中pod對外提供服務(wù)的ip;
13、建立并保存源端口與目標(biāo)端口之間的映射關(guān)系。
14、第二方面,提供了另一種跨kubernetes網(wǎng)絡(luò)連通方法,包括:
15、建立與第一集群中網(wǎng)絡(luò)代理客戶端的tcp長連接;
16、接收來自于網(wǎng)絡(luò)代理客戶端的service對象列表和/或service對象的變化信息;
17、根據(jù)所述service對象列表和/或service對象的變化信息在第二集群的對應(yīng)namespace中新建或更新鏡像service對象,其中,所述service對象和鏡像service對象中均包含網(wǎng)格四元組:源ip、源端口、目標(biāo)ip和目標(biāo)端口;
18、根據(jù)所述網(wǎng)格四元組搭建用于實(shí)現(xiàn)第二集群中pod與第一集群中pod通信的虛擬網(wǎng)絡(luò)鏈路;
19、通過所述虛擬網(wǎng)絡(luò)聯(lián)絡(luò)實(shí)現(xiàn)第二集群中pod與第一集群中pod的通信。
20、在一些可能的實(shí)現(xiàn)方式中,在建立與第一集群中網(wǎng)絡(luò)代理客戶端的tcp長連接之前,還包括:
21、接收網(wǎng)絡(luò)代理客戶端的登陸請求并進(jìn)行認(rèn)證。
22、在一些可能的實(shí)現(xiàn)方式中,根據(jù)所述service對象列表和/或service對象的變化信息在第二集群的對應(yīng)namespace中新建或更新鏡像service對象,包括:
23、遍歷service對象列表和/或service對象的變化信息;
24、獲取網(wǎng)絡(luò)代理服務(wù)端對應(yīng)的第一集群的id,其中,所述第一集群的id唯一對應(yīng)一個(gè)第二集群的namespace;
25、根據(jù)第一集群中service對象的名稱和service對象所在的namespace構(gòu)建所述service對象所對應(yīng)的鏡像service對象的名稱;
26、判斷所述service對象列表和/或service對象的變化信息的類型;
27、若類型為新建或更新,則根據(jù)鏡像service對象的名稱在對應(yīng)namespace中搜尋,若搜尋到,則對鏡像service對象進(jìn)行更新,若未搜尋到,則在對應(yīng)namespace中創(chuàng)建對應(yīng)的鏡像service對象;
28、若類型為刪除,則在對應(yīng)namespace中將對應(yīng)的鏡像service對象刪除。
29、根據(jù)所述網(wǎng)格四元組搭建用于實(shí)現(xiàn)第二集群中pod與第一集群中pod通信的虛擬網(wǎng)絡(luò)鏈路,包括:
30、接收來自網(wǎng)絡(luò)代理客戶端的源端口和源ip,其中,所述源端口為第一集群中pod對外提供服務(wù)的端口,所述源ip為第一集群中pod對外提供服務(wù)的ip;
31、分配目標(biāo)端口和目標(biāo)ip并返回至網(wǎng)絡(luò)代理客戶端,其中,所述目標(biāo)端口為第二集群中pod對外提供服務(wù)的端口,所述目標(biāo)ip為第二集群中pod對外提供服務(wù)的ip;
32、建立并保存源端口與目標(biāo)端口之間的映射關(guān)系。
33、第三方面,提供了一種跨kubernetes網(wǎng)絡(luò)連通系統(tǒng),包括:
34、設(shè)置于第一集群中的網(wǎng)絡(luò)代理客戶端,用于實(shí)現(xiàn)如上述第一方面中的任意一種實(shí)現(xiàn)方式中的方法;
35、設(shè)置于第二集群中的網(wǎng)絡(luò)代理服務(wù)端,用于實(shí)現(xiàn)如上述第二方面中的任意一種實(shí)現(xiàn)方式中的方法。
36、第四方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀介質(zhì)存儲(chǔ)用于設(shè)備執(zhí)行的程序代碼,該程序代碼包括用于執(zhí)行如上述第一方面和第二方面中的任意一種實(shí)現(xiàn)方式中方法的步驟。
37、第五方面,提供了一種電子設(shè)備,所述電子設(shè)備包括處理器、本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種跨Kubernetes網(wǎng)絡(luò)連通方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的跨Kubernetes網(wǎng)絡(luò)連通方法,其特征在于,在建立與第二集群中網(wǎng)絡(luò)代理服務(wù)端的TCP長連接之前,還包括:獲取網(wǎng)絡(luò)代理服務(wù)端的IP地址和登陸憑證并發(fā)起登陸請求。
3.根據(jù)權(quán)利要求1所述的跨Kubernetes網(wǎng)絡(luò)連通方法,其特征在于,根據(jù)所述網(wǎng)格四元組搭建用于實(shí)現(xiàn)第二集群中Pod與第一集群中Pod通信的虛擬網(wǎng)絡(luò)鏈路,包括:
4.一種跨Kubernetes網(wǎng)絡(luò)連通方法,其特征在于,包括:
5.根據(jù)權(quán)利要求4所述的跨Kubernetes網(wǎng)絡(luò)連通方法,其特征在于,在建立與第一集群中網(wǎng)絡(luò)代理客戶端的TCP長連接之前,還包括:接收網(wǎng)絡(luò)代理客戶端的登陸請求并進(jìn)行認(rèn)證。
6.根據(jù)權(quán)利要求5所述的跨Kubernetes網(wǎng)絡(luò)連通方法,其特征在于,根據(jù)所述Service對象列表和/或Service對象的變化信息在第二集群的對應(yīng)Namespace中新建或更新鏡像Service對象,包括:
7.根據(jù)權(quán)利要求4所述的跨Kubernetes網(wǎng)絡(luò)連通
8.一種跨Kubernetes網(wǎng)絡(luò)連通系統(tǒng),其特征在于,包括:
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)用于設(shè)備執(zhí)行的程序代碼,該程序代碼包括用于執(zhí)行如權(quán)利要求1-7中任一項(xiàng)所述方法的步驟。
10.一種電子設(shè)備,其特征在于,所述電子設(shè)備包括處理器、存儲(chǔ)器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的程序或指令,所述程序或指令被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-7中任一項(xiàng)所述方法。
...【技術(shù)特征摘要】
1.一種跨kubernetes網(wǎng)絡(luò)連通方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的跨kubernetes網(wǎng)絡(luò)連通方法,其特征在于,在建立與第二集群中網(wǎng)絡(luò)代理服務(wù)端的tcp長連接之前,還包括:獲取網(wǎng)絡(luò)代理服務(wù)端的ip地址和登陸憑證并發(fā)起登陸請求。
3.根據(jù)權(quán)利要求1所述的跨kubernetes網(wǎng)絡(luò)連通方法,其特征在于,根據(jù)所述網(wǎng)格四元組搭建用于實(shí)現(xiàn)第二集群中pod與第一集群中pod通信的虛擬網(wǎng)絡(luò)鏈路,包括:
4.一種跨kubernetes網(wǎng)絡(luò)連通方法,其特征在于,包括:
5.根據(jù)權(quán)利要求4所述的跨kubernetes網(wǎng)絡(luò)連通方法,其特征在于,在建立與第一集群中網(wǎng)絡(luò)代理客戶端的tcp長連接之前,還包括:接收網(wǎng)絡(luò)代理客戶端的登陸請求并進(jìn)行認(rèn)證。
6.根據(jù)權(quán)利要求5所述的跨kubernetes網(wǎng)絡(luò)連通方法,...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:吳學(xué)強(qiáng),程嘉承,
申請(專利權(quán))人:杭州云猿生數(shù)據(jù)有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會(huì)獲得科技券。