本申請涉及容器處理,尤其涉及一種基于宿主機(jī)的容器處理方法、宿主機(jī)、系統(tǒng)、設(shè)備及介質(zhì)。
背景技術(shù):
1、當(dāng)前,現(xiàn)有的技術(shù)方案可以實(shí)現(xiàn)多個windows容器在一個宿主機(jī)上共同運(yùn)行,也即宿主機(jī)上可以部署多個windows容器,windows容器指的用于部署window系統(tǒng)的容器。每個windows容器都會運(yùn)行一個虛擬化服務(wù)(比如qemu),windows容器上的虛擬化服務(wù)需要加載宿主機(jī)一些公共的環(huán)境配置和前置資源,而這些操作本身并不能并行執(zhí)行,只能按照一定順序串行執(zhí)行,也就是說,在虛擬化服務(wù)啟動后才會在windows容器上創(chuàng)建虛擬機(jī)。例如,1個windows容器啟動時間為3分鐘,則3個windows容器如果同時創(chuàng)建,則第2個容器需要在接近3分鐘后再啟動,第3個容器需要在接近6分鐘后再啟動,依次類推,實(shí)際上的效果就是串行創(chuàng)建windows容器。
2、可見,傳統(tǒng)方案雖然可以做到多個windows容器運(yùn)行,但是每個windows容器都會運(yùn)行一個虛擬化服務(wù),虛擬化服務(wù)本身并不能并行執(zhí)行,而只能按照一定順序串行執(zhí)行,這樣會導(dǎo)致windows容器創(chuàng)建虛擬操作系統(tǒng)的啟動時間疊加,如果大批量windows容器創(chuàng)建請求來臨時,創(chuàng)建虛擬操作系統(tǒng)的運(yùn)行時間會線性增長。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對上述技術(shù)問題,提供了一種基于宿主機(jī)的容器處理方法、宿主機(jī)、系統(tǒng)、設(shè)備及介質(zhì)術(shù),以解決大批量操作系統(tǒng)容器創(chuàng)建請求來臨時,創(chuàng)建虛擬操作系統(tǒng)的運(yùn)行時間會線性增長的技術(shù)問題。
2、為解決上述技術(shù)問題,提供如下技術(shù)方案:
3、第一方面,提供了一種基于宿主機(jī)的容器處理方法,所述宿主機(jī)部署有虛擬化服務(wù)容器,虛擬化服務(wù)容器運(yùn)行有虛擬化服務(wù),所述方法包括:
4、所述虛擬化服務(wù)啟動監(jiān)聽模式,以監(jiān)聽每個操作系統(tǒng)容器的客戶端所觸發(fā)的創(chuàng)建請求,所述創(chuàng)建請求用于請求創(chuàng)建虛擬操作系統(tǒng);
5、當(dāng)監(jiān)聽到多個所述創(chuàng)建請求,所述虛擬化服務(wù)基于所述操作系統(tǒng)容器的鏡像存儲路徑,加載每個所述創(chuàng)建請求對應(yīng)的操作系統(tǒng)鏡像;
6、所述虛擬化服務(wù)基于所述宿主機(jī)上的加載資源和每個所述創(chuàng)建請求對應(yīng)的操作系統(tǒng)鏡像,并行在所述虛擬化服務(wù)容器中對應(yīng)創(chuàng)建出每個虛擬操作系統(tǒng)。
7、進(jìn)一步地,所述操作系統(tǒng)容器包括部署在所述宿主機(jī)的操作系統(tǒng)容器,和/或部署在其他宿主機(jī)節(jié)點(diǎn)的操作系統(tǒng)容器。
8、進(jìn)一步地,所述虛擬化服務(wù)啟動監(jiān)聽模式之前,所述方法還包括:
9、所述虛擬化服務(wù)獲取所述操作系統(tǒng)容器相應(yīng)的操作系統(tǒng)鏡像;
10、所述虛擬化服務(wù)將所述操作系統(tǒng)鏡像存儲于所述宿主機(jī),并將所述操作系統(tǒng)鏡像相應(yīng)的鏡像存儲路徑掛載至所述虛擬化服務(wù)容器。
11、進(jìn)一步地,所述虛擬化服務(wù)將所述操作系統(tǒng)鏡像存儲于所述宿主機(jī),并將相應(yīng)的鏡像存儲路徑掛載至所述虛擬化服務(wù)容器,包括:
12、所述虛擬化服務(wù)將所述操作系統(tǒng)容器對應(yīng)的操作系統(tǒng)容器鏡像存儲于所述宿主機(jī),并將所述操作系統(tǒng)容器鏡像相應(yīng)的鏡像存儲路徑掛載至所述虛擬化服務(wù)容器上,所述操作系統(tǒng)容器鏡像包含所述操作系統(tǒng)鏡像。
13、第二方面,提供了一種宿主機(jī),所述宿主機(jī)部署有虛擬化服務(wù)容器,虛擬化服務(wù)容器運(yùn)行有虛擬化服務(wù),所述虛擬化服務(wù)用于:
14、啟動監(jiān)聽模式,以監(jiān)聽每個操作系統(tǒng)容器的客戶端所觸發(fā)的創(chuàng)建請求,所述創(chuàng)建請求用于請求創(chuàng)建虛擬操作系統(tǒng);
15、當(dāng)監(jiān)聽到多個所述創(chuàng)建請求,基于所述操作系統(tǒng)容器的鏡像存儲路徑,加載每個所述創(chuàng)建請求對應(yīng)的操作系統(tǒng)鏡像;
16、基于所述宿主機(jī)上的加載資源和每個所述創(chuàng)建請求對應(yīng)的操作系統(tǒng)鏡像,并行在所述虛擬化服務(wù)容器中對應(yīng)創(chuàng)建出每個虛擬操作系統(tǒng)。
17、第三方面,提供了一種容器處理系統(tǒng),所述容器處理系統(tǒng)包括n個宿主機(jī)節(jié)點(diǎn),n個所述宿主機(jī)節(jié)點(diǎn)中的第一宿主機(jī)節(jié)點(diǎn)部署有虛擬化服務(wù)容器,所述虛擬化服務(wù)容器運(yùn)行有虛擬化服務(wù),所述虛擬化服務(wù)用于:
18、啟動監(jiān)聽模式,以監(jiān)聽每個操作系統(tǒng)容器的客戶端所觸發(fā)的創(chuàng)建請求,所述創(chuàng)建請求用于請求創(chuàng)建虛擬操作系統(tǒng);
19、當(dāng)監(jiān)聽到多個所述創(chuàng)建請求,基于所述操作系統(tǒng)容器的鏡像存儲路徑,加載每個所述創(chuàng)建請求對應(yīng)的操作系統(tǒng)鏡像;
20、基于所述第一宿主機(jī)節(jié)點(diǎn)上的加載資源和每個所述創(chuàng)建請求對應(yīng)的操作系統(tǒng)鏡像,并行在所述虛擬化服務(wù)容器中對應(yīng)創(chuàng)建出每個虛擬操作系統(tǒng)。
21、進(jìn)一步地,所述操作系統(tǒng)容器包括第一操作系統(tǒng)容器和/或第二操作系統(tǒng)容器;所述第一操作系統(tǒng)容器部署在所述第一宿主機(jī)節(jié)點(diǎn),所述第二操作系統(tǒng)容器部署在n個所述宿主機(jī)節(jié)點(diǎn)中的第二宿主機(jī)節(jié)點(diǎn),所述第二宿主機(jī)節(jié)點(diǎn)與所述第一宿主機(jī)節(jié)點(diǎn)為不同的宿主機(jī)節(jié)點(diǎn)。
22、進(jìn)一步地,所述第二宿主機(jī)節(jié)點(diǎn)為所述容器處理系統(tǒng)中的邊緣節(jié)點(diǎn),所述虛擬化服務(wù)還用于:
23、基于邊緣調(diào)度算法,將所述第二操作系統(tǒng)容器部署至所述容器處理系統(tǒng)中的邊緣節(jié)點(diǎn)。
24、第四方面,提供了一種計(jì)算機(jī)設(shè)備,包括存儲器、處理器以及存儲在所述存儲器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時實(shí)現(xiàn)如前述任一項(xiàng)所述的容器處理方法的步驟。
25、第五方面,所述計(jì)算機(jī)可讀存儲介質(zhì)存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)如前述任一項(xiàng)所述的容器處理方法的步驟。
26、可見,本申請?zhí)峁┑钠渲幸环桨钢?,?dāng)大量操作容器創(chuàng)建請求時,每個操作系統(tǒng)容器的客戶端可共同調(diào)用虛擬化服務(wù)容器,以使該虛擬化服務(wù)容器內(nèi)的虛擬化服務(wù)在面臨多個創(chuàng)建請求時,可僅加載一次宿主機(jī)的公共資源用于并行創(chuàng)建虛擬操作系統(tǒng),即單次加載的資源可以給到多個操作系統(tǒng)容器的創(chuàng)建調(diào)用使用,有效地避免了各個操作系統(tǒng)容器單獨(dú)啟用自身運(yùn)行的虛擬化服務(wù)引起的串行處理等待時間,從而達(dá)到多個操作系統(tǒng)容器創(chuàng)建虛擬操作系統(tǒng)并行執(zhí)行的效果,減少創(chuàng)建虛擬操作系統(tǒng)的運(yùn)行時間,提高了處理效率。
1.一種基于宿主機(jī)的容器處理方法,其特征在于,所述宿主機(jī)部署有虛擬化服務(wù)容器,所述虛擬化服務(wù)容器運(yùn)行有虛擬化服務(wù),所述方法包括:
2.如權(quán)利要求1所述的容器處理方法,其特征在于,所述操作系統(tǒng)容器包括部署在所述宿主機(jī)的操作系統(tǒng)容器,和/或部署在其他宿主機(jī)節(jié)點(diǎn)的操作系統(tǒng)容器。
3.如權(quán)利要求1或2任一項(xiàng)所述的容器處理方法,其特征在于,所述虛擬化服務(wù)啟動監(jiān)聽模式之前,所述方法還包括:
4.如權(quán)利要求3所述的容器處理方法,其特征在于,所述虛擬化服務(wù)將所述操作系統(tǒng)鏡像存儲于所述宿主機(jī),并將所述操作系統(tǒng)鏡像相應(yīng)的鏡像存儲路徑掛載至所述虛擬化服務(wù)容器,包括:
5.一種宿主機(jī),其特征在于,所述宿主機(jī)部署有虛擬化服務(wù)容器,所述虛擬化服務(wù)容器運(yùn)行有虛擬化服務(wù),所述虛擬化服務(wù)用于:
6.一種容器處理系統(tǒng),其特征在于,所述容器處理系統(tǒng)包括n個宿主機(jī)節(jié)點(diǎn),n個所述宿主機(jī)節(jié)點(diǎn)中的第一宿主機(jī)節(jié)點(diǎn)部署有虛擬化服務(wù)容器,所述虛擬化服務(wù)容器運(yùn)行有虛擬化服務(wù),所述虛擬化服務(wù)用于:
7.如權(quán)利要求6所述的容器處理系統(tǒng),其特征在于,所述操作系統(tǒng)容器包括第一操作系統(tǒng)容器和/或第二操作系統(tǒng)容器;
8.如權(quán)利要求7所述的容器處理系統(tǒng),其特征在于,所述第二宿主機(jī)節(jié)點(diǎn)為所述容器處理系統(tǒng)中的邊緣節(jié)點(diǎn),所述虛擬化服務(wù)還用于:
9.一種計(jì)算機(jī)設(shè)備,包括存儲器、處理器以及存儲在所述存儲器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時實(shí)現(xiàn)如權(quán)利要求1至4任一項(xiàng)所述的容器處理方法的步驟。
10.一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)存儲有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)如權(quán)利要求1至4任一項(xiàng)所述的容器處理方法的步驟。