本技術涉及數(shù)據(jù)庫領域,具體涉及一種服務恢復方法、裝置、電子設備及存儲介質(zhì)。
背景技術:
1、kubernetes(簡稱k8s)是google開源的一個容器編排引擎,用于容器集群的自動化部署、擴容以及運維。通過該開源平臺可以快速、有效地響應用戶需求,快速而有預期地部署用戶應用,極速地擴展用戶應用,無縫對接新應用功能。而且,節(jié)省資源,優(yōu)化硬件資源的使用,同時能夠為容器編排管理提供完整的開源方案。基于以上優(yōu)點,kubernetes已成為容器編排的事實標準,越來愈多的系統(tǒng)都基于kubernetes平臺擴展或者運行自己的應用,提高資源利用效率和生產(chǎn)力。
2、盡管可以在kubernetes集群中使用高可用方式部署應用,但在數(shù)據(jù)中心發(fā)生地震、火災或者人為誤操作等突發(fā)情況時,還是會導致應用不可用甚至應用數(shù)據(jù)的丟失,因此通常需要對數(shù)據(jù)進行備份,以便出現(xiàn)突發(fā)情況時利用備份數(shù)據(jù)進行數(shù)據(jù)恢復。然而現(xiàn)有的數(shù)據(jù)恢復方法通常需要占用大量系統(tǒng)資源,導致系統(tǒng)變慢或停止響應。
技術實現(xiàn)思路
1、本技術提供一種服務恢復方法、裝置、電子設備及存儲介質(zhì),通過生成不同的服務恢復指令以快速查找到可以進行服務恢復的備份集,減少查詢的備份集的數(shù)量,提高服務恢復的效率。
2、第一方面,本技術提供一種服務恢復方法,應用于客戶端,所述方法包括:
3、實時監(jiān)控k8s集群的運行狀態(tài),以判斷所述k8s集群是否出現(xiàn)異常;
4、若所述k8s集群出現(xiàn)異常,則確定所述k8s集群出現(xiàn)的目標異常,生成所述目標異常對應的服務恢復指令,所述k8s集群出現(xiàn)的不同異常對應不同的服務恢復指令;
5、根據(jù)所述不同的服務恢復指令和多個服務備份集的備份集參數(shù),確定不同的服務恢復指令對應的可進行服務恢復的目標服務備份集,所述多個服務備份集為所述k8s集群根據(jù)服務備份策略進行備份得到;
6、根據(jù)所述目標服務備份集進行服務恢復,得到恢復后的目標服務。
7、在一些可能的實施例中,在實時監(jiān)控k8s集群的運行狀態(tài),以判斷所述k8s集群是否出現(xiàn)異常之前,所述方法還包括:
8、獲取對所述k8s集群進行備份的服務備份策略;
9、根據(jù)所述服務備份策略,確定待備份的服務及第一存儲位置;
10、對所述待備份的服務進行備份,得到多個服務備份集,并將所述多個服務備份集存儲至所述第一存儲位置。
11、在一些可能的實施例中,所述利用集群監(jiān)控組件實時監(jiān)控k8s集群的運行狀態(tài),以判斷所述k8s集群是否出現(xiàn)異常,包括:
12、將所述客戶端中部署所述k8s集群;
13、在所述客戶端中部署狀態(tài)監(jiān)控組件,所述狀態(tài)監(jiān)控組件包括集群監(jiān)控組件和客戶端監(jiān)控組件;
14、利用所述集群監(jiān)控組件監(jiān)控所述k8s集群的集群運行指標,以及利用所述客戶端監(jiān)控組件監(jiān)控所述客戶端的客戶端運行指標;
15、根據(jù)所述集群運行指標和所述客戶端運行指標,判斷所述k8s集群是否出現(xiàn)異常。
16、在一些可能的實施例中,所述根據(jù)所述集群運行指標和所述客戶端運行指標,判斷所述k8s集群是否出現(xiàn)異常,包括:
17、獲取預設運行指標訓練數(shù)據(jù)集,所述運行指標訓練數(shù)據(jù)集包括集群運行指標訓練數(shù)據(jù)、客戶端運行指標訓練數(shù)據(jù)和集群異常判斷結(jié)果;
18、利用所述預設運行指標訓練數(shù)據(jù)集對初始集群異常識別模型進行訓練,確定集群異常預測結(jié)果;
19、計算所述集群異常判斷結(jié)果與所述集群異常預測結(jié)果之間的差值;
20、根據(jù)所述差值調(diào)節(jié)所述初始集群異常識別模型的模型參數(shù),直至所述差值滿足預設訓練條件,停止調(diào)整模型參數(shù),得到訓練后的集群異常識別模型;
21、根據(jù)所述集群異常識別模型、所述集群運行指標和所述客戶端運行指標,判斷所述k8s集群是否出現(xiàn)異常。
22、在一些可能的實施例中,所述k8s集群包括集群主節(jié)點和集群從節(jié)點;所述若所述k8s集群出現(xiàn)異常,則確定所述k8s集群出現(xiàn)的目標異常,生成所述目標異常對應的服務恢復指令,所述k8s集群出現(xiàn)的不同異常對應不同的服務恢復指令,包括:
23、若所述k8s集群出現(xiàn)異常,判斷所述異常為所述集群運行指標異?;蛩隹蛻舳诉\行指標異常;
24、若所述異常為所述客戶端運行指標異常,則生成第一服務恢復指令;
25、若所述異常為所述集群運行指標異常,則判斷所述異常為集群主節(jié)點異常或集群從節(jié)點異常;
26、若為集群主節(jié)點異常,則生成第二服務恢復指令;
27、若為集群從節(jié)點異常,則生成第三服務恢復指令。
28、在一些可能的實施例中,所述根據(jù)所述不同的服務恢復指令和多個服務備份集的備份集參數(shù),不同的服務恢復指令對應的可進行服務恢復的目標服務備份集,包括:
29、根據(jù)所述不同的服務恢復指令,確定待進行服務恢復的備份集類型,所述備份集類型包括全量備份或增量備份;
30、根據(jù)所述備份集類型在所述多個服務備份集中確定第一服務備份集;
31、獲取所述第一服務備份集的備份集參數(shù);
32、根據(jù)所述第一服務備份集各自對應的備份集參數(shù),確定所述第一服務備份集各自對應的服務恢復權重,得到多個服務恢復權重;
33、根據(jù)所述多個服務恢復權重,在所述第一服務備份集中確定所述目標服務備份集。
34、在一些可能的實施例中,所述方法還包括:
35、對所述目標服務進行驗證,以確定目標服務恢復無誤。
36、第二方面,本技術實施例提供一種服務恢復裝置,所述服務恢復裝置包括:
37、集群監(jiān)控模塊,用于實時監(jiān)控k8s集群的運行狀態(tài),以判斷所述k8s集群是否出現(xiàn)異常;
38、服務恢復指令生成模塊,用于若所述k8s集群出現(xiàn)異常,則確定所述k8s集群出現(xiàn)的目標異常,生成所述目標異常對應的服務恢復指令,所述k8s集群出現(xiàn)的不同異常對應不同的服務恢復指令;
39、目標服務備份集確定模塊,用于根據(jù)所述不同的服務恢復指令和多個服務備份集的備份集參數(shù),確定不同的服務恢復指令對應的可進行服務恢復的目標服務備份集,所述多個服務備份集為所述k8s集群根據(jù)服務備份策略進行備份得到;
40、服務恢復模塊,用于根據(jù)所述目標服務備份集進行服務恢復,得到恢復后的目標服務。
41、第三方面,本技術提供一種電子設備,包括處理器,存儲器及存儲在所述存儲器上并可在所述處理器上運行的程序或指令,所述程序或指令被所述處理器執(zhí)行時實現(xiàn)如第一方面任一項所述的服務恢復方法中的步驟。
42、第四方面,本技術提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器進行加載,以執(zhí)行如第一方面任一項所述的服務恢復方法中的步驟。
43、本技術實施例中提供一種服務恢復方法、裝置、電子設備及存儲介質(zhì),包括:實時監(jiān)控k8s集群的運行狀態(tài),以判斷k8s集群是否出現(xiàn)異常;若k8s集群出現(xiàn)異常,則確定k8s集群出現(xiàn)的目標異常,生成目標異常對應的服務恢復指令,k8s集群出現(xiàn)的不同異常對應不同的服務恢復指令;根據(jù)不同的服務恢復指令和多個服務備份集的備份集參數(shù),確定不同的服務恢復指令對應的可進行服務恢復的目標服務備份集,多個服務備份集為k8s集群根據(jù)服務備份策略進行備份得到;根據(jù)目標服務備份集進行服務恢復,得到恢復后的目標服務。本技術針對集群出現(xiàn)的不同類型的異常,生成不同的服務恢復指令,根據(jù)不同的服務恢復指令選擇不同的服務備份集進行服務恢復,減少需要查詢的服務備份集的數(shù)量,提高服務恢復的效率。同時結(jié)合
44、服務備份集的備份集參數(shù)來選擇目標服務備份集,可以提高服務恢復后的完整性和可靠性。