本技術(shù)涉及計(jì)算機(jī),特別是涉及一種基于kubernetes的數(shù)據(jù)處理方法、裝置、計(jì)算機(jī)設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、隨著計(jì)算機(jī)技術(shù)的發(fā)展,出現(xiàn)了一種開源的容器編排平臺(tái)kubernetes,在kubernetes的運(yùn)行過(guò)程中,會(huì)由于種種原因出現(xiàn)誤刪除了某個(gè)namespace的現(xiàn)象,導(dǎo)致該namespace下的所有資源被刪除,原因可能是物理原因?qū)е碌姆?wù)器損壞或者需要重裝系統(tǒng)等,因此需要對(duì)kubernetes進(jìn)行數(shù)據(jù)備份。
2、傳統(tǒng)技術(shù)中,通常是對(duì)kubernetes中存儲(chǔ)元數(shù)據(jù)的etcd數(shù)據(jù)庫(kù)進(jìn)行備份。然而,這種備份方式具有諸多弊端,例如無(wú)法跨集群,只能進(jìn)行全量備份,再由于etcd這種鍵值數(shù)據(jù)庫(kù)沒有層級(jí)概念,無(wú)法去區(qū)分集群中的資源,備份的范圍較大,導(dǎo)致該備份方法存在備份效率較低的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對(duì)上述技術(shù)問(wèn)題,提供一種基于kubernetes的數(shù)據(jù)處理方法、裝置、計(jì)算機(jī)設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和計(jì)算機(jī)程序產(chǎn)品。
2、第一方面,本技術(shù)提供了一種基于kubernetes的數(shù)據(jù)處理方法,包括:
3、響應(yīng)于客戶端發(fā)送的數(shù)據(jù)備份指令,獲取待備份數(shù)據(jù),并確定所述待備份數(shù)據(jù)的環(huán)境備份工具;
4、根據(jù)所述環(huán)境備份工具,構(gòu)建環(huán)境備份工具鏡像,將所述環(huán)境備份工具鏡像上傳至kubernetes的鏡像倉(cāng)庫(kù);
5、通過(guò)所述kubernetes的邊車容器,從所述鏡像倉(cāng)庫(kù)中加載包含所述環(huán)境備份工具的環(huán)境備份容器;
6、將所述環(huán)境備份容器通過(guò)預(yù)設(shè)方式與所述待備份數(shù)據(jù)在所述kubernetes的同一個(gè)pod中運(yùn)行;
7、在所述環(huán)境備份工具鏡像中,使用所述環(huán)境備份容器中的所述環(huán)境備份工具對(duì)所述待備份數(shù)據(jù)進(jìn)行備份。
8、在其中一個(gè)實(shí)施例中,所述通過(guò)所述kubernetes的邊車容器,從所述鏡像倉(cāng)庫(kù)中加載包含所述環(huán)境備份工具的環(huán)境備份容器,包括:
9、在所述kubernetes的所述邊車容器中配置新的容器項(xiàng);從所述鏡像倉(cāng)庫(kù)中加載包含所述環(huán)境備份工具的所述環(huán)境備份容器,并將所述環(huán)境備份容器調(diào)度到所述容器項(xiàng)中;在所述環(huán)境備份容器調(diào)度完成后,重啟所述kubernetes。
10、在其中一個(gè)實(shí)施例中,所述將所述環(huán)境備份容器通過(guò)預(yù)設(shè)方式與所述待備份數(shù)據(jù)在所述kubernetes的同一個(gè)pod中運(yùn)行,包括:
11、確定所述預(yù)設(shè)方式為附加方式,將所述環(huán)境備份容器通過(guò)所述附加方式與所述待備份數(shù)據(jù)在所述kubernetes的同一個(gè)pod中運(yùn)行;查看所述kubernetes的運(yùn)行情況,在所述pod的當(dāng)前狀態(tài)為運(yùn)行狀態(tài)的情況下,確認(rèn)所述環(huán)境備份容器運(yùn)行成功;在所述pod的所述當(dāng)前狀態(tài)為非運(yùn)行狀態(tài)的情況下,從所述鏡像倉(cāng)庫(kù)中重新加載所述環(huán)境備份容器。
12、在其中一個(gè)實(shí)施例中,所述使用所述環(huán)境備份容器中的所述環(huán)境備份工具對(duì)所述待備份數(shù)據(jù)進(jìn)行備份,包括:
13、在候選備份方式中確定目標(biāo)備份方式;所述候選備份方式包括全量備份和增量備份;根據(jù)所述目標(biāo)備份方式,使用所述環(huán)境備份容器中的所述環(huán)境備份工具對(duì)所述待備份數(shù)據(jù)進(jìn)行備份,并將備份后的數(shù)據(jù)保存到外部存儲(chǔ)器中。
14、在其中一個(gè)實(shí)施例中,所述方法還包括:
15、響應(yīng)于客戶端發(fā)送的數(shù)據(jù)恢復(fù)指令,在所述環(huán)境備份容器中添加所述環(huán)境備份工具鏡像的鏡像名稱對(duì)應(yīng)的配置項(xiàng);根據(jù)所述配置項(xiàng),從所述外部存儲(chǔ)器中讀取對(duì)應(yīng)的元數(shù)據(jù)備份信息;對(duì)所述元數(shù)據(jù)備份信息進(jìn)行資源排序,得到恢復(fù)后的數(shù)據(jù)。
16、在其中一個(gè)實(shí)施例中,所述將所述環(huán)境備份工具鏡像上傳至kubernetes的鏡像倉(cāng)庫(kù),包括:
17、獲取所述待備份數(shù)據(jù)的數(shù)據(jù)標(biāo)識(shí)信息,根據(jù)所述數(shù)據(jù)標(biāo)識(shí)信息,匹配所述鏡像倉(cāng)庫(kù)中對(duì)應(yīng)的目標(biāo)存儲(chǔ)空間;響應(yīng)于所述環(huán)境備份工具鏡像的上傳指令,將所述環(huán)境備份工具鏡像上傳至所述鏡像倉(cāng)庫(kù)中的所述目標(biāo)存儲(chǔ)空間。
18、第二方面,本技術(shù)還提供了一種基于kubernetes的數(shù)據(jù)處理裝置,包括:
19、數(shù)據(jù)獲取模塊,用于響應(yīng)于客戶端發(fā)送的數(shù)據(jù)備份指令,獲取待備份數(shù)據(jù),并確定所述待備份數(shù)據(jù)的環(huán)境備份工具;
20、鏡像構(gòu)建模塊,用于根據(jù)所述環(huán)境備份工具,構(gòu)建環(huán)境備份工具鏡像,將所述環(huán)境備份工具鏡像上傳至kubernetes的鏡像倉(cāng)庫(kù);
21、容器加載模塊,用于通過(guò)所述kubernetes的邊車容器,從所述鏡像倉(cāng)庫(kù)中加載包含所述環(huán)境備份工具的環(huán)境備份容器;
22、容器運(yùn)行模塊,用于將所述環(huán)境備份容器通過(guò)預(yù)設(shè)方式與所述待備份數(shù)據(jù)在所述kubernetes的同一個(gè)pod中運(yùn)行;
23、數(shù)據(jù)備份模塊,用于在所述環(huán)境備份工具鏡像中,使用所述環(huán)境備份容器中的所述環(huán)境備份工具對(duì)所述待備份數(shù)據(jù)進(jìn)行備份。
24、第三方面,本技術(shù)還提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)以下步驟:
25、響應(yīng)于客戶端發(fā)送的數(shù)據(jù)備份指令,獲取待備份數(shù)據(jù),并確定所述待備份數(shù)據(jù)的環(huán)境備份工具;根據(jù)所述環(huán)境備份工具,構(gòu)建環(huán)境備份工具鏡像,將所述環(huán)境備份工具鏡像上傳至kubernetes的鏡像倉(cāng)庫(kù);通過(guò)所述kubernetes的邊車容器,從所述鏡像倉(cāng)庫(kù)中加載包含所述環(huán)境備份工具的環(huán)境備份容器;將所述環(huán)境備份容器通過(guò)預(yù)設(shè)方式與所述待備份數(shù)據(jù)在所述kubernetes的同一個(gè)pod中運(yùn)行;在所述環(huán)境備份工具鏡像中,使用所述環(huán)境備份容器中的所述環(huán)境備份工具對(duì)所述待備份數(shù)據(jù)進(jìn)行備份。
26、第四方面,本技術(shù)還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:
27、響應(yīng)于客戶端發(fā)送的數(shù)據(jù)備份指令,獲取待備份數(shù)據(jù),并確定所述待備份數(shù)據(jù)的環(huán)境備份工具;根據(jù)所述環(huán)境備份工具,構(gòu)建環(huán)境備份工具鏡像,將所述環(huán)境備份工具鏡像上傳至kubernetes的鏡像倉(cāng)庫(kù);通過(guò)所述kubernetes的邊車容器,從所述鏡像倉(cāng)庫(kù)中加載包含所述環(huán)境備份工具的環(huán)境備份容器;將所述環(huán)境備份容器通過(guò)預(yù)設(shè)方式與所述待備份數(shù)據(jù)在所述kubernetes的同一個(gè)pod中運(yùn)行;在所述環(huán)境備份工具鏡像中,使用所述環(huán)境備份容器中的所述環(huán)境備份工具對(duì)所述待備份數(shù)據(jù)進(jìn)行備份。
28、第五方面,本技術(shù)還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:
29、響應(yīng)于客戶端發(fā)送的數(shù)據(jù)備份指令,獲取待備份數(shù)據(jù),并確定所述待備份數(shù)據(jù)的環(huán)境備份工具;根據(jù)所述環(huán)境備份工具,構(gòu)建環(huán)境備份工具鏡像,將所述環(huán)境備份工具鏡像上傳至kubernetes的鏡像倉(cāng)庫(kù);通過(guò)所述kubernetes的邊車容器,從所述鏡像倉(cāng)庫(kù)中加載包含所述環(huán)境備份工具的環(huán)境備份容器;將所述環(huán)境備份容器通過(guò)預(yù)設(shè)方式與所述待備份數(shù)據(jù)在所述kubernetes的同一個(gè)pod中運(yùn)行;在所述環(huán)境備份工具鏡像中,使用所述環(huán)境備份容器中的所述環(huán)境備份工具對(duì)所述待備份數(shù)據(jù)進(jìn)行備份。
30、上述基于kubernetes的數(shù)據(jù)處理方法、裝置、計(jì)算機(jī)設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和計(jì)算機(jī)程序產(chǎn)品,可以直接將備份容器通過(guò)預(yù)設(shè)方式與備份的應(yīng)用運(yùn)行在kubernetes中的同一個(gè)pod中,并在kubernetes中可通過(guò)配置,讓pod中多個(gè)容器之間可以共用網(wǎng)絡(luò)和存儲(chǔ)等資源,只需將現(xiàn)有技術(shù)中任意的備份方法封裝成容器,結(jié)合上述方法將需備份的容器與備份容器進(jìn)行配置,即可解決物理備份所需要的文件和網(wǎng)絡(luò)等問(wèn)題,也不需要關(guān)心是那種存儲(chǔ)卷插件,即可直接備份恢復(fù)。此外,還可以跨集群,并對(duì)kubernetes集群中的資源進(jìn)行選擇,能夠進(jìn)行全量備份和增量備份,同時(shí)可以對(duì)元數(shù)據(jù)進(jìn)行備份,有效避免對(duì)kubernetes的存儲(chǔ)卷進(jìn)行調(diào)度掛載的繁瑣過(guò)程,從而加快備份流程,并提高備份效率。