本申请涉及nacos集群,尤其涉及一种nacos集群的部署方法、装置及电子设备。
背景技术:
1、目前,云技术愈发成熟,应用也愈发广泛。新的部署环境在资源、部署、运维等方面提供更大优势,在大幅降低成本的同时,又提高了开发及运维人员工作效率。
2、传统的基于kubernetes集群环境(简称k8s)实现的nacos容器集群部署方案,通过在集群配置文件中编辑指定所有节点域名,并配置健康检查策略,部署运行组件镜像,实现nacos容器集群的健康检查。
3、应用此方案时,至少存在如下的技术问题:
4、1)需提前指定集群节点pod名称、命名空间名称等参数,当增加或删除pod节点时配置文件无法实时检测集群节点以及pod参数等信息,从而导致nacos集群异常;
5、2)失去了kubernetes集群中灵活部署的优势,必须在指定命名空间下部署且应用固定pod名称,在后期nacos集群节点规模扩展时有诸多不便,难以体现kubernetes集群的能力;
6、3)nacos集群节点的7848端口用于检测集群其他节点的运行状态,当集群所有节点运行成功后,nacos集群节点的8848端口才可对外提供服务,但nacos集群中的节点pod是顺序启动的,因此在集群其他节点运行成功之前,首个集群pod的8848端口无法通过健康检查并对外提供服务,从而造成节点就绪等待的问题。
技术实现思路
1、为了解决上述至少一个方面的技术问题,本申请实施例提供了一种nacos集群的部署方法、装置及电子设备,以解决传统的nacos集群部署方式出现的节点就绪等待的问题,提高容器集群部署服务的灵活性。
2、本申请实施例采用下述技术方案:
3、第一方面,本申请实施例提供一种nacos集群的部署方法,所述方法包括:
4、在kubernetes集群环境下部署nacos组件并创建nacos集群节点;
5、监控nacos集群节点是否发生变化;
6、在nacos集群节点发生变化的情况下,更新nacos集群的节点配置文件;
7、根据更新后的节点配置文件,对nacos集群节点进行健康检查。
8、可选地,所述监控nacos集群节点是否发生变化包括:
9、通过预设监控工具监控nacos集群节点是否发生变化,所述预设监控工具以初始化容器的方式挂载到nacos集群节点内。
10、可选地,所述监控nacos集群节点是否发生变化包括:
11、监控nacos集群的无头服务中的dns数量是否发生变化;
12、若无头服务中的dns数量发生变化,则确定所述nacos集群节点发生变化;
13、否则,则确定所述nacos集群节点未发生变化。
14、可选地,所述根据更新后的节点配置文件,对nacos集群节点进行健康检查包括:
15、根据更新后的节点配置文件,利用nacos集群节点的检测端口对更新后的节点配置文件中的所有节点的运行状态进行检测;
16、若更新后的节点配置文件中的所有节点均启动成功,则确定所述nacos集群节点通过健康检查。
17、可选地,在根据更新后的节点配置文件,对nacos集群节点进行健康检查之后,所述方法还包括:
18、在nacos集群节点通过健康检查的情况下,通过nacos集群节点的服务端口对外提供服务。
19、可选地,在nacos集群节点通过健康检查的情况下,运行nacos集群节点之后,所述方法还包括:
20、通过预设监控工具监控nacos集群节点的资源使用状态;
21、根据所述nacos集群节点的资源使用状态调整nacos集群节点的jvm参数。
22、可选地,所述根据所述nacos集群节点的资源使用状态调整nacos集群节点的jvm参数包括:
23、若所述nacos集群节点的资源使用状态为内存溢出,则扩大所述nacos集群节点的jvm参数;
24、若所述nacos集群节点的资源使用状态为内存泄漏,则缩小所述nacos集群节点的jvm参数。
25、第二方面,本申请实施例还提供一种nacos集群的部署装置,所述装置包括:
26、创建单元,用于在kubernetes集群环境下部署nacos组件并创建nacos集群节点;
27、监控单元,用于监控nacos集群节点是否发生变化;
28、更新单元,用于在nacos集群节点发生变化的情况下,更新nacos集群的节点配置文件;
29、健康检查单元,用于根据更新后的节点配置文件,对nacos集群节点进行健康检查。
30、第三方面,本申请实施例还提供一种电子设备,包括:
31、处理器;以及
32、被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行前述之任一所述方法。
33、第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行前述之任一所述方法。
34、本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本申请实施例的nacos集群的部署方法,先在kubernetes集群环境下部署nacos组件并创建nacos集群节点;然后监控nacos集群节点是否发生变化;之后在nacos集群节点发生变化的情况下,更新nacos集群的节点配置文件;最后根据更新后的节点配置文件,对nacos集群节点进行健康检查。本申请实施例的nacos集群的部署方法通过容器部署nacos集群,以kubernetes集群自身在调度、运维、扩展等方面能力提升nacos性能,避免手动指定集群配置文件中节点信息导致的在运维以及扩展等方面的问题。通过实时监控nacos集群的节点变化情况,并实时更新nacos集群的节点配置文件,解决了传统的nacos集群有状态部署方式下出现的节点就绪等待的问题,保留了容器集群部署服务的灵活性。
1.一种nacos集群的部署方法,其特征在于,所述方法包括:
2.根据权利要求1所述nacos集群的部署方法,其特征在于,所述监控nacos集群节点是否发生变化包括:
3.根据权利要求1所述nacos集群的部署方法,其特征在于,所述监控nacos集群节点是否发生变化包括:
4.根据权利要求1所述nacos集群的部署方法,其特征在于,所述根据更新后的节点配置文件,对nacos集群节点进行健康检查包括:
5.根据权利要求1所述nacos集群的部署方法,其特征在于,在根据更新后的节点配置文件,对nacos集群节点进行健康检查之后,所述方法还包括:
6.根据权利要求1所述nacos集群的部署方法,其特征在于,在nacos集群节点通过健康检查的情况下,运行nacos集群节点之后,所述方法还包括:
7.根据权利要求6所述nacos集群的部署方法,其特征在于,所述根据所述nacos集群节点的资源使用状态调整nacos集群节点的jvm参数包括:
8.一种nacos集群的部署装置,其特征在于,所述装置包括:
9.一种电子设备,包括:
10.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行权利要求1~7之任一所述方法。