本申請(qǐng)涉及計(jì)算機(jī),尤其涉及一種容器端口管理方法、電子設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著hpc(high?performance?computing,高性能計(jì)算)科學(xué)計(jì)算應(yīng)用的普及,各行各業(yè)使用hpc集群進(jìn)行計(jì)算的用戶越來(lái)越多。
2、現(xiàn)有的hpc系統(tǒng)廣泛采用容器動(dòng)態(tài)部署服務(wù),在高性能計(jì)算場(chǎng)景下,對(duì)網(wǎng)絡(luò)性能有較高要求,因此,一些服務(wù)需要用到容器的host模式(因?yàn)槭褂萌萜鞯膆ost模式可以在一定程度上提升服務(wù)的網(wǎng)絡(luò)性能),特別是在需要較高網(wǎng)絡(luò)性能和較低延遲的場(chǎng)景中。然而容器的host模式會(huì)導(dǎo)致占用宿主機(jī)的端口,所以在自動(dòng)化部署和大規(guī)模容器管理中需要一種高效且自動(dòng)化的端口分配方案。
3、因此,特提出本申請(qǐng)。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本申請(qǐng)的目的在于提出一種容器端口管理方法、電子設(shè)備及存儲(chǔ)介質(zhì),實(shí)現(xiàn)了對(duì)目標(biāo)容器自動(dòng)分配端口的目的,有利于對(duì)目標(biāo)宿主機(jī)的端口進(jìn)行合理分配,提高目標(biāo)容器的運(yùn)行穩(wěn)定性。
2、基于上述目的,第一方面,本申請(qǐng)?zhí)峁┝艘环N容器端口管理方法,包括:
3、根據(jù)目標(biāo)容器在目標(biāo)宿主機(jī)上的歷史運(yùn)行數(shù)據(jù),預(yù)測(cè)在未來(lái)時(shí)間所述目標(biāo)容器對(duì)所述目標(biāo)宿主機(jī)端口的使用信息;
4、根據(jù)所述目標(biāo)宿主機(jī)的配置信息確定待分配端口的屬性信息;
5、根據(jù)所述待分配端口的屬性信息以及所述使用信息為所述目標(biāo)容器分配端口。
6、進(jìn)一步的,所述未來(lái)時(shí)間包括多個(gè)時(shí)間點(diǎn),所述根據(jù)目標(biāo)容器在目標(biāo)宿主機(jī)上的歷史運(yùn)行數(shù)據(jù),預(yù)測(cè)在未來(lái)時(shí)間所述目標(biāo)容器對(duì)所述目標(biāo)宿主機(jī)端口的使用信息,包括:
7、根據(jù)目標(biāo)容器在目標(biāo)宿主機(jī)上的歷史運(yùn)行數(shù)據(jù),預(yù)測(cè)在未來(lái)每個(gè)所述時(shí)間點(diǎn)占用的端口數(shù)量;
8、將所述在未來(lái)每個(gè)所述時(shí)間點(diǎn)占用的端口數(shù)量中的最大值確定為目標(biāo)值;
9、將所述目標(biāo)值確定為所述使用信息;
10、對(duì)應(yīng)的,根據(jù)所述待分配端口的屬性信息以及所述使用信息為所述目標(biāo)容器分配端口,包括:
11、為所述目標(biāo)容器分配數(shù)量為所述目標(biāo)值的端口。
12、進(jìn)一步的,所述未來(lái)時(shí)間包括多個(gè)時(shí)間點(diǎn),所述根據(jù)目標(biāo)容器在目標(biāo)宿主機(jī)上的歷史運(yùn)行數(shù)據(jù),預(yù)測(cè)在未來(lái)時(shí)間所述目標(biāo)容器對(duì)所述目標(biāo)宿主機(jī)端口的使用信息,包括:
13、根據(jù)目標(biāo)容器在目標(biāo)宿主機(jī)上的歷史運(yùn)行數(shù)據(jù),預(yù)測(cè)在未來(lái)每個(gè)所述時(shí)間點(diǎn)占用的端口數(shù)量,將所述在未來(lái)每個(gè)所述時(shí)間點(diǎn)占用的端口數(shù)量確定為所述使用信息;
14、對(duì)應(yīng)的,根據(jù)所述待分配端口的屬性信息以及所述使用信息為所述目標(biāo)容器分配端口,包括:
15、根據(jù)所述待分配端口的屬性信息以及每個(gè)所述時(shí)間點(diǎn)占用的端口數(shù)量,在對(duì)應(yīng)時(shí)間點(diǎn)為所述目標(biāo)容器動(dòng)態(tài)分配端口。
16、進(jìn)一步的,所述根據(jù)所述待分配端口的屬性信息以及每個(gè)所述時(shí)間點(diǎn)占用的端口數(shù)量,在對(duì)應(yīng)時(shí)間點(diǎn)為所述目標(biāo)容器動(dòng)態(tài)分配端口,包括:
17、響應(yīng)于所述待分配端口的屬性信息指示目標(biāo)宿主機(jī)的待分配端口已耗盡,確定已被分配端口的各服務(wù)的空閑端口,其中,一服務(wù)對(duì)應(yīng)一容器;
18、將空閑端口最多的服務(wù)確定為候選服務(wù);
19、將所述候選服務(wù)的空閑端口分配至所述目標(biāo)容器。
20、進(jìn)一步的,還包括:
21、對(duì)已分配端口進(jìn)行監(jiān)測(cè);
22、響應(yīng)于確定已分配端口在預(yù)設(shè)時(shí)長(zhǎng)內(nèi)未接收到請(qǐng)求信息,將所述已分配端口標(biāo)記為待分配端口。
23、進(jìn)一步的,還包括:
24、根據(jù)各目標(biāo)容器在目標(biāo)宿主機(jī)上的歷史運(yùn)行數(shù)據(jù),確定所述目標(biāo)宿主機(jī)上待分配端口耗盡的預(yù)期時(shí)刻和概率;
25、響應(yīng)于所述預(yù)期時(shí)刻與當(dāng)前時(shí)刻的時(shí)間間隔小于時(shí)間閾值且所述概率大于概率閾值,進(jìn)行報(bào)警提示。
26、進(jìn)一步的,所述目標(biāo)宿主機(jī)上同時(shí)運(yùn)行多個(gè)容器,所述方法還包括:
27、響應(yīng)于監(jiān)測(cè)到?jīng)_突端口,基于預(yù)設(shè)策略對(duì)所述沖突端口進(jìn)行處理;
28、其中,同時(shí)被多個(gè)容器占用的端口為沖突端口。
29、進(jìn)一步的,所述基于預(yù)設(shè)策略對(duì)所述沖突端口進(jìn)行處理,包括:
30、將占用沖突端口的多個(gè)容器均關(guān)閉;
31、或者,根據(jù)占用沖突端口的多個(gè)容器各自的優(yōu)先級(jí),保留優(yōu)先級(jí)最高的容器;
32、或者,控制占用沖突端口的多個(gè)容器重啟;
33、或者,向關(guān)聯(lián)的管理員發(fā)送沖突通知。
34、基于上述目的,第二方面,本申請(qǐng)還提供了一種容器端口管理裝置,包括:
35、預(yù)測(cè)模塊,用于根據(jù)目標(biāo)容器在目標(biāo)宿主機(jī)上的歷史運(yùn)行數(shù)據(jù),預(yù)測(cè)在未來(lái)時(shí)間所述目標(biāo)容器對(duì)所述目標(biāo)宿主機(jī)端口的使用信息;
36、確定模塊,用于根據(jù)所述目標(biāo)宿主機(jī)的配置信息確定待分配端口的屬性信息;
37、分配模塊,用于根據(jù)所述待分配端口的屬性信息以及所述使用信息為所述目標(biāo)容器分配端口。
38、基于上述目的,第三方面,本申請(qǐng)還提供了一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如上述第一方面所述的容器端口管理方法。
39、基于上述目的,第四方面,本申請(qǐng)還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)計(jì)算機(jī)指令,所述計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行如上述第一方面中任一的所述容器端口管理方法。
40、從上面所述可以看出,本申請(qǐng)?zhí)峁┑娜萜鞫丝诠芾矸椒ǎㄟ^(guò)根據(jù)目標(biāo)容器在目標(biāo)宿主機(jī)上的歷史運(yùn)行數(shù)據(jù),可以預(yù)測(cè)在未來(lái)時(shí)間所述目標(biāo)容器對(duì)所述目標(biāo)宿主機(jī)端口的使用信息,進(jìn)而根據(jù)該使用信息為所述目標(biāo)容器分配端口,實(shí)現(xiàn)了對(duì)目標(biāo)容器自動(dòng)且精準(zhǔn)分配端口的目的,有利于對(duì)目標(biāo)宿主機(jī)的端口進(jìn)行合理分配,提高目標(biāo)容器的運(yùn)行穩(wěn)定性。
1.一種容器端口管理方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的容器端口管理方法,其特征在于,所述未來(lái)時(shí)間包括多個(gè)時(shí)間點(diǎn),所述根據(jù)目標(biāo)容器在目標(biāo)宿主機(jī)上的歷史運(yùn)行數(shù)據(jù),預(yù)測(cè)在未來(lái)時(shí)間所述目標(biāo)容器對(duì)所述目標(biāo)宿主機(jī)端口的使用信息,包括:
3.根據(jù)權(quán)利要求1所述的容器端口管理方法,其特征在于,所述未來(lái)時(shí)間包括多個(gè)時(shí)間點(diǎn),所述根據(jù)目標(biāo)容器在目標(biāo)宿主機(jī)上的歷史運(yùn)行數(shù)據(jù),預(yù)測(cè)在未來(lái)時(shí)間所述目標(biāo)容器對(duì)所述目標(biāo)宿主機(jī)端口的使用信息,包括:
4.根據(jù)權(quán)利要求3所述的容器端口管理方法,其特征在于,所述根據(jù)所述待分配端口的屬性信息以及每個(gè)所述時(shí)間點(diǎn)占用的端口數(shù)量,在對(duì)應(yīng)時(shí)間點(diǎn)為所述目標(biāo)容器動(dòng)態(tài)分配端口,包括:
5.根據(jù)權(quán)利要求1所述的容器端口管理方法,其特征在于,還包括:
6.根據(jù)權(quán)利要求1所述的容器端口管理方法,其特征在于,還包括:
7.根據(jù)權(quán)利要求1所述的容器端口管理方法,其特征在于,所述目標(biāo)宿主機(jī)上同時(shí)運(yùn)行多個(gè)容器,所述方法還包括:
8.根據(jù)權(quán)利要求7所述的容器端口管理方法,其特征在于,所述基于預(yù)設(shè)策略對(duì)所述沖突端口進(jìn)行處理,包括:
9.一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如權(quán)利要求1至8任意一項(xiàng)所述的容器端口管理方法。
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)計(jì)算機(jī)指令,所述計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行如權(quán)利要求1至8任意一項(xiàng)所述的容器端口管理方法。