本技術(shù)涉及計(jì)算機(jī),特別涉及一種zookeeper集群的管理方法及裝置。
背景技術(shù):
1、現(xiàn)有的分布式系統(tǒng)中,zookeeper作為一個(gè)非常重要的組件用以提供配置管理、命名服務(wù)、master選舉等等功能,需要具有極高的可用性,但是,現(xiàn)有技術(shù)中,zookeeper集群的部署、配置、升級(jí)、運(yùn)維及監(jiān)控往往需要非常多的人力來(lái)完成,難度十分大。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本技術(shù)提供一種zookeeper集群的管理方法及裝置,簡(jiǎn)化了對(duì)zookeeper集群的管理難度。
2、本技術(shù)第一方面提供了一種zookeeper集群的管理方法,包括:
3、接收zookeeper集群的部署請(qǐng)求;其中,所述zookeeper集群的部署請(qǐng)求包括可重用包;所述可重用包包括應(yīng)用程序的配置信息和模板目錄;所述應(yīng)用程序的配置信息包括zookeeper集群的節(jié)點(diǎn)數(shù)量、數(shù)據(jù)存儲(chǔ)目錄和客戶端端口信息;所述模板目錄包括kubernetes資源的yaml模板文件;
4、根據(jù)所述zookeeper集群的節(jié)點(diǎn)數(shù)量,確定deployment控制器的目標(biāo)數(shù)量;
5、根據(jù)所述kubernetes資源的yaml模板文件,生成目標(biāo)數(shù)量的deployment控制器;
6、針對(duì)每一個(gè)deployment控制器,所述deployment控制器按照所述數(shù)據(jù)存儲(chǔ)目錄和客戶端端口信息完成對(duì)zookeeper集群的部署。
7、可選的,所述可重用包還包括容器鏡像以及所述容器鏡像的版本信息,所述zookeeper集群的管理方法,還包括:
8、接收版本切換請(qǐng)求;其中,所述版本切換請(qǐng)求包括目標(biāo)版本信息;所述目標(biāo)版本信息為本次要切換到的版本信息;
9、根據(jù)所述目標(biāo)版本信息和所述容器鏡像的版本信息,確定目標(biāo)容器鏡像;
10、根據(jù)所述目標(biāo)容器鏡像將所述zookeeper集群切換至目標(biāo)版本。
11、可選的,所述的zookeeper集群的管理方法,還包括:
12、接收配置請(qǐng)求;其中,所述配置請(qǐng)求包括目標(biāo)配置選項(xiàng)的配置信息;所述目標(biāo)配置選項(xiàng)為所述應(yīng)用程序的配置信息中的選項(xiàng);
13、按照所述目標(biāo)配置選項(xiàng)的配置信息對(duì)目標(biāo)配置選項(xiàng)進(jìn)行配置。
14、可選的,所述的zookeeper集群的管理方法,還包括:
15、當(dāng)zookeeper集群進(jìn)行升級(jí)或部署時(shí),獲取生命周期掛鉤信息;
16、根據(jù)所述生命周期掛鉤信息確定當(dāng)前zookeeper集群需要初始化的部分和需要清理的部分;
17、將當(dāng)前zookeeper集群需要初始化的部分進(jìn)行初始化;
18、將當(dāng)前zookeeper集群需要清理的部分進(jìn)行清理。
19、可選的,所述zookeeper集群中的每一個(gè)節(jié)點(diǎn)部署有statefulset控制器。
20、可選的,所述可重用包還包括zoonavigator控制臺(tái)的安裝信息和配置信息,所述zookeeper集群的管理方法,還包括:
21、根據(jù)zoonavigator控制臺(tái)的安裝信息和配置信息完成zoonavigator控制臺(tái)的安裝。
22、可選的,所述可重用包還包括prometheus的安裝信息和配置信息,所述zookeeper集群的管理方法,還包括:
23、根據(jù)prometheus控制臺(tái)的安裝信息和配置信息完成prometheus的安裝。
24、可選的,所述可重用包還包括grafana的安裝信息和配置信息,所述zookeeper集群的管理方法,還包括:
25、根據(jù)grafana控制臺(tái)的安裝信息和配置信息完成grafana的安裝;其中,所述grafana用于展示zookeeper集群的關(guān)鍵性能指標(biāo)和狀態(tài)信息。
26、可選的,所述可重用包還包括prometheus的警報(bào)規(guī)則,所述zookeeper集群的管理方法,還包括:
27、當(dāng)zookeeper集群的關(guān)鍵性能指標(biāo)和狀態(tài)信息滿足所述警報(bào)規(guī)則中的告警條件時(shí),生成告警信息。
28、本技術(shù)第二方面提供了一種zookeeper集群的管理裝置,包括:
29、第一接收單元,用于接收zookeeper集群的部署請(qǐng)求;其中,所述zookeeper集群的部署請(qǐng)求包括可重用包;所述可重用包包括應(yīng)用程序的配置信息和模板目錄;所述應(yīng)用程序的配置信息包括zookeeper集群的節(jié)點(diǎn)數(shù)量、數(shù)據(jù)存儲(chǔ)目錄和客戶端端口信息;所述模板目錄包括kubernetes資源的yaml模板文件;
30、第一確定單元,用于根據(jù)所述zookeeper集群的節(jié)點(diǎn)數(shù)量,確定deployment控制器的目標(biāo)數(shù)量;
31、生成單元,用于根據(jù)所述kubernetes資源的yaml模板文件,生成目標(biāo)數(shù)量的deployment控制器;
32、部署單元,用于針對(duì)每一個(gè)deployment控制器,所述deployment控制器按照所述數(shù)據(jù)存儲(chǔ)目錄和客戶端端口信息完成對(duì)zookeeper集群的部署。
33、可選的,所述可重用包還包括容器鏡像以及所述容器鏡像的版本信息,所述zookeeper集群的管理裝置,還包括:
34、第二接收單元,用于接收版本切換請(qǐng)求;其中,所述版本切換請(qǐng)求包括目標(biāo)版本信息;所述目標(biāo)版本信息為本次要切換到的版本信息;
35、第二確定單元,用于根據(jù)所述目標(biāo)版本信息和所述容器鏡像的版本信息,確定目標(biāo)容器鏡像;
36、切換單元,用于根據(jù)所述目標(biāo)容器鏡像將所述zookeeper集群切換至目標(biāo)版本。
37、可選的,所述的zookeeper集群的管理裝置,還包括:
38、第三接收單元,用于接收配置請(qǐng)求;其中,所述配置請(qǐng)求包括目標(biāo)配置選項(xiàng)的配置信息;所述目標(biāo)配置選項(xiàng)為所述應(yīng)用程序的配置信息中的選項(xiàng);
39、配置單元,用于按照所述目標(biāo)配置選項(xiàng)的配置信息對(duì)目標(biāo)配置選項(xiàng)進(jìn)行配置。
40、可選的,所述的zookeeper集群的管理裝置,還包括:
41、獲取單元,用于當(dāng)zookeeper集群進(jìn)行升級(jí)或部署時(shí),獲取生命周期掛鉤信息;
42、第三確定單元,用于根據(jù)所述生命周期掛鉤信息確定當(dāng)前zookeeper集群需要初始化的部分和需要清理的部分;
43、初始化單元,用于將當(dāng)前zookeeper集群需要初始化的部分進(jìn)行初始化;
44、清理單元,用于將當(dāng)前zookeeper集群需要清理的部分進(jìn)行清理。
45、可選的,所述zookeeper集群中的每一個(gè)節(jié)點(diǎn)部署有statefulset控制器。
46、可選的,所述可重用包還包括zoonavigator控制臺(tái)的安裝信息和配置信息,所述zookeeper集群的管理裝置,還包括:
47、第一安裝單元,用于根據(jù)zoonavigator控制臺(tái)的安裝信息和配置信息完成zoonavigator控制臺(tái)的安裝。
48、可選的,所述可重用包還包括prometheus的安裝信息和配置信息,所述zookeeper集群的管理裝置,還包括:
49、第二安裝單元,用于根據(jù)prometheus控制臺(tái)的安裝信息和配置信息完成prometheus的安裝。
50、可選的,所述可重用包還包括grafana的安裝信息和配置信息,所述zookeeper集群的管理裝置,還包括:
51、第三安裝單元,用于根據(jù)grafana控制臺(tái)的安裝信息和配置信息完成grafana的安裝;其中,所述grafana用于展示zookeeper集群的關(guān)鍵性能指標(biāo)和狀態(tài)信息。
52、可選的,所述可重用包還包括prometheus的警報(bào)規(guī)則,所述zookeeper集群的管理裝置,還包括:
53、告警單元,用于當(dāng)zookeeper集群的關(guān)鍵性能指標(biāo)和狀態(tài)信息滿足所述警報(bào)規(guī)則中的告警條件時(shí),生成告警信息。
54、本技術(shù)第三方面提供了一種電子設(shè)備,包括:
55、一個(gè)或多個(gè)處理器;
56、存儲(chǔ)裝置,其上存儲(chǔ)有一個(gè)或多個(gè)程序;
57、當(dāng)所述一個(gè)或多個(gè)程序被所述一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得所述一個(gè)或多個(gè)處理器實(shí)現(xiàn)如第一方面任意一項(xiàng)所述的zookeeper集群的管理方法。
58、本技術(shù)第四方面提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其中,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面任意一項(xiàng)所述的zookeeper集群的管理方法。
59、由以上方案可知,本技術(shù)提供一種zookeeper集群的管理方法及裝置,在接收zookeeper集群的部署請(qǐng)求后;根據(jù)部署請(qǐng)求中可重用包中的zookeeper集群的節(jié)點(diǎn)數(shù)量,確定deployment控制器的目標(biāo)數(shù)量,根據(jù)部署請(qǐng)求中可重用包中的kubernetes資源的yaml模板文件,生成目標(biāo)數(shù)量的deployment控制器;然后,針對(duì)每一個(gè)deployment控制器,deployment控制器按照部署請(qǐng)求中可重用包中的數(shù)據(jù)存儲(chǔ)目錄和客戶端端口信息完成對(duì)zookeeper集群的部署。本技術(shù)使用模板化和參數(shù)化的方式,簡(jiǎn)化了zookeeper集群的部署流程。用戶只需提供必要的配置參數(shù),而無(wú)需手動(dòng)創(chuàng)建和管理多個(gè)kubernetes資源,從而降低了操作復(fù)雜性。