一种动态扩容缩容的方法及网络设备与流程

文档序号:14522592阅读:283来源:国知局
一种动态扩容缩容的方法及网络设备与流程

本发明涉及通信技术,尤其涉及一种动态扩容缩容的方法及网络设备。



背景技术:

现有的业界容器化ims应用中,通常会使用dockercompose管理集群中网元容器的编排和运行,实现ims的通话,这里,容器化的镜像包括i/s-cscf、p-cscf、tas网元;但是,现有使用dockercompose进行网元容器的编排时,无法实现多个网元容器之间的通信,即无法支持多节点通信;而且,也无法实现网元容器的动态扩容/缩容,例如,当进行扩容/缩容后,网元容器需要手工进行配置,才能最终达到对集群进行扩容/缩容的目的。



技术实现要素:

为解决现有存在的技术问题,本发明实施例提供了一种动态扩容缩容的方法及网络设备,能至少解决现有技术中存在的上述问题。

本发明实施例的技术方案是这样实现的:

本发明实施例第一方面提供了一种动态扩容缩容的方法,所述方法包括:

网络设备触发目标事件,所述目标事件为对目标集群进行扩容处理,或者进行缩容处理的事件;所述目标集群包含有至少两个第一网元容器;

向数据库获取第二网元的第二网元相关信息,其中,所述数据库存储有每一所述第一网元容器的第一网元相关信息,以及至少一个第二网元的第二网元相关信息;所述第二网元与所述第一网元容器相同或不相同;

将所述第二网元的第二网元相关信息发送至所述目标集群中的每一所述第一网元容器,以便于每一所述第一网元容器基于获取到的第二网元相关信息调整自身的第一网元相关信息。

上述方案中,所述目标事件为对目标集群进行扩容处理的事件,所述第二网元与所述第一网元容器不相同;对应地,所述方法还包括:

向私有镜像库获取镜像数据;其中,所述私有镜像库中存储有所述目标集群中的所述第一网元容器所对应的镜像数据;

将获取到的所述镜像数据发送至所述第二网元,以使所述第二网元启动所述镜像数据,得到第二网元容器;

向所述数据库获取所述目标集群中每一所述第一网元容器的第一网元相关信息,并将每一所述第一网元容器的第一网元相关信息发送至所述第二网元容器,以便于所述第二网元容器基于第一网元相关信息配置自身对应的第二网元相关信息。

上述方案中,所述方法还包括:

向所述数据库发送针对所述目标集群的扩容信息;所述扩容信息中携带有所述第二网元容器的第二网元相关信息;以便于所述数据库基于所述第二网元容器的第二网元相关信息对所述目标集群进行调整,使所述目标集群中包含有所述第二网元容器。

上述方案中,所述目标事件为对目标集群进行缩容处理的事件,所述第二网元与所述第一网元容器相同;对应地,所述方法还包括:

从所述目标集群的至少两个第一网元容器选取出第二网元;

确定出所述第二网元的容器业务处理完成后,从所述目标集群中删除所述第二网元。

上述方案中,所述从所述目标集群中删除所述第二网元,包括:

向所述数据库发送针对所述目标集群的缩容信息;所述缩容信息中携带有所述第二网元的第二网元相关信息;以便于所述数据库基于所述第二网元的第二网元相关信息对所述目标集群进行调整,从所述目标集群删除所述第二网元。

本发明实施例第二方面提供了一种网络设备,所述网络设备包括:

处理单元,用于触发目标事件,所述目标事件为对目标集群进行扩容处理,或者进行缩容处理的事件;所述目标集群包含有至少两个第一网元容器;还用于向数据库获取第二网元的第二网元相关信息,其中,所述数据库存储有每一所述第一网元容器的第一网元相关信息,以及至少一个第二网元的第二网元相关信息;所述第二网元与所述第一网元容器相同或不相同;

发送单元,用于将所述第二网元的第二网元相关信息发送至所述目标集群中的每一所述第一网元容器,以便于每一所述第一网元容器基于获取到的第二网元相关信息调整自身的第一网元相关信息。

上述方案中,所述目标事件为对目标集群进行扩容处理的事件,所述第二网元与所述第一网元容器不相同;对应地,

所述处理单元,还用于向私有镜像库获取镜像数据;其中,所述私有镜像库中存储有所述目标集群中的所述第一网元容器所对应的镜像数据;

所述发送单元,还用于将获取到的所述镜像数据发送至所述第二网元,以使所述第二网元启动所述镜像数据,得到第二网元容器;相应地,

所述处理单元,还用于向所述数据库获取所述目标集群中每一所述第一网元容器的第一网元相关信息;

所述发送单元,还用于将每一所述第一网元容器的第一网元相关信息发送至所述第二网元容器,以便于所述第二网元容器基于第一网元相关信息配置自身对应的第二网元相关信息。

上述方案中,所述发送单元,还用于向所述数据库发送针对所述目标集群的扩容信息;所述扩容信息中携带有所述第二网元容器的第二网元相关信息;以便于所述数据库基于所述第二网元容器的第二网元相关信息对所述目标集群进行调整,使所述目标集群中包含有所述第二网元容器。

上述方案中,所述目标事件为对目标集群进行缩容处理的事件,所述第二网元与所述第一网元容器相同;对应地,

所述处理单元,还用于从所述目标集群的至少两个第一网元容器选取出第二网元;确定出所述第二网元的容器业务处理完成后,从所述目标集群中删除所述第二网元。

上述方案中,所述发送单元,还用于向所述数据库发送针对所述目标集群的缩容信息;所述缩容信息中携带有所述第二网元的第二网元相关信息;以便于所述数据库基于所述第二网元的第二网元相关信息对所述目标集群进行调整,从所述目标集群删除所述第二网元。

本发明实施例所述的动态扩容缩容的方法及网络设备,通过网络设备触发对目标集群进行扩容处理或者缩容处理的事件,向数据库获取第二网元的第二网元相关信息,进而将所述第二网元的第二网元相关信息发送至所述目标集群中的每一所述第一网元容器,如此,便于每一所述第一网元容器基于获取到的第二网元相关信息调整自身的第一网元相关信息,实现第二网元与第一网元容器之间的通信,这里,由于所述第二网元与第一网元容器相同或者不相同,所以,本发明实施例所述的方法实现了多网元容器之间的连通,进而实现了智能地、自动地对目标集群进行扩容缩容的目的。

附图说明

图1为本发明实施例动态扩容缩容的方法的实现流程示意图;

图2为本发明实施例目标集群的创建流程示意图;

图3为本发明实施例动态扩容的具体实现流程示意图;

图4为本发明实施例动态缩容的具体实现流程示意图;

图5为本发明实施例网络设备的逻辑单元结构示意图。

具体实施方式

为了能够更加详尽地了解本发明的特点与技术内容,下面结合附图对本发明的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。

实施例一

本实施例提供了一种动态扩容缩容的方法,这里,本实施例能够实现多节点部署、多节点间通信,并实现动态扩容缩容的目的。具体地,图1为本发明实施例动态扩容缩容的方法的实现流程示意图,如图1所示,所述方法包括:

步骤101:网络设备触发目标事件,所述目标事件为对目标集群进行扩容处理,或者进行缩容处理的事件;所述目标集群包含有至少两个第一网元容器;

本实施例中,所述网络设备支持kubernete服务;这里,所述kubernetes是一个基于docker容器的开源编制系统,能够在跨多个主机上管理docker应用,并提供应用部署维护和扩展的基本机制。使用kubernetes服务能够有效的避免单点故障以及方便的进行集群的扩容/缩容。

步骤102:向数据库获取第二网元的第二网元相关信息,其中,所述数据库存储有每一所述第一网元容器的第一网元相关信息,以及至少一个第二网元的第二网元相关信息;所述第二网元与所述第一网元容器相同或不相同;

本实施例中,所述网元相关信息可以具体包括网络信息和配置信息;也即,所述第一网元容器的第一网元相关信息包括所述第一网元容器网络信息和配置信息;所述第二网元的第二网元相关信息包括所述第二网元的网络信息和配置信息。

本实施例中,所述数据库可以具体为一key-value的数据库etcd,能够应用于分布式网络、服务发现、配置管理、任务调度和负载均衡等服务中。所述数据库etcd将每一个网元的网络信息和配置信息,通过restapi的方式写入自身,并在多节点部署过程中,所述kubernetes能够从数据块etcd中获取某一网元的网络信息和配置信息,并将该某一网元的网络信息和配置信息传送给已知的网元容器(如目标集群中的第一网元容器),实现多节点的部署。同时,在集群扩容缩容时,所述kubernetes在增加或删除网元容器前,将会将增加或删除网元容器的信息写到数据库etcd中,以配合完成电信应用的动态扩容或缩容。

本实施例中,由于数据库etcd中存储有多个网元的网络信息和配置信息,所以,每一网元容器在启动时,可以通过kubernetes服务从数据库etcd中去获取其他网元容器的网络信息和配置信息,进而配置自身的配置文件,这样,每个网元容器之间就能够根据需求进行连通,实现了多节点的通信。

步骤103:将所述第二网元的第二网元相关信息发送至所述目标集群中的每一所述第一网元容器,以便于每一所述第一网元容器基于获取到的第二网元相关信息调整自身的第一网元相关信息。

在一具体实施例中,所述目标事件为对目标集群进行扩容处理的事件,所述第二网元与所述第一网元容器不相同;也就是说,需要对所述目标集群进行扩容时,所述网络设备向私有镜像库获取镜像数据;其中,所述私有镜像库中存储有所述目标集群中的所述第一网元容器所对应的镜像数据,这样实现镜像共享的目的;进一步地,所述网络设备将获取到的所述镜像数据发送至所述第二网元,以使所述第二网元启动所述镜像数据,得到第二网元容器;同时,所述网络设备还向所述数据库获取所述目标集群中每一所述第一网元容器的第一网元相关信息,并将每一所述第一网元容器的第一网元相关信息发送至所述第二网元容器,以便于所述第二网元容器基于第一网元相关信息配置自身对应的第二网元相关信息,进而实现多网元容器之间的通信。

本实施例中,在扩容事件中,所述网络设备还向所述数据库发送针对所述目标集群的扩容信息;所述扩容信息中携带有所述第二网元容器的第二网元相关信息;以便于所述数据库基于所述第二网元容器的第二网元相关信息对所述目标集群进行调整,使所述目标集群中包含有所述第二网元容器。

在另一具体实施例中,所述目标事件为对目标集群进行缩容处理的事件,所述第二网元与所述第一网元容器相同;也就是说,需要对所述目标集群进行缩容时,所述网络设备从所述目标集群的至少两个第一网元容器选取出目标第一网元容器,将所述目标第一网元容器作为所述第二网元,并确定出所述第二网元的容器业务处理完成后,从所述目标集群中删除所述第二网元。具体地,所述从所述目标集群中删除所述第二网元,包括:所述网络设备向所述数据库发送针对所述目标集群的缩容信息;所述缩容信息中携带有所述第二网元的第二网元相关信息;以便于所述数据库基于所述第二网元的第二网元相关信息对所述目标集群进行调整,从所述目标集群删除所述第二网元。

这样,本发明实施例所述的方法,通过网络设备触发对目标集群进行扩容处理或者缩容处理的事件,向数据库获取第二网元的第二网元相关信息,进而将所述第二网元的第二网元相关信息发送至所述目标集群中的每一所述第一网元容器,如此,便于每一所述第一网元容器基于获取到的第二网元相关信息调整自身的第一网元相关信息,实现第二网元与第一网元容器之间的通信,这里,由于所述第二网元与第一网元容器相同或者不相同,所以,本发明实施例所述的方法实现了多网元容器之间的连通,进而实现了智能地、自动地对目标集群进行扩容缩容的目的。

而且,由于所述网络设备能够向私有镜像库去获取所述第一网元容器对应的镜像数据,并将获取到的镜像数据发送至所述第二网元,所以,本发明实施例所述的方法能够实现多个网元共享镜像数据的目的。

以下通过具体应用场景对本发明实施例做进一步详细说明;图2为本发明实施例目标集群的创建流程示意图,如图2所示,目标集群的创建步骤包括:上传容器镜像至私有镜像库,创建项目,创建应用模板;这里,所述应用模板定义了应用之间的链接关系以及应用的启动方式,每个应用是一个容器;进一步地,各第一网元通过kubernetes服务的触发,从私有镜像库获取镜像数据到本地;各第一网元启动镜像数据,得到第一网元容器;检查各第一网元容器的运行状态,获取各第一网元容器的网元相关信息,基于其他第一网元容器的网元相关信息,动态配置各第一网元容器的配置文件,包含有各第一网元容器的目标集群创建完毕。

进一步地,图3为本发明实施例动态扩容的具体实现流程示意图,如图3所示,所述动态扩容的步骤包括:触发扩容事件,指定容器横向扩展,从私有镜像库拉取镜像数据,控制新网元启动镜像数据,生成新的网元容器,新的网元容器通过kubernetes服务的触发向数据库etcd去获取目标集群的集群信息;这里,所述集群信息中包含有目标集群对应的每一网元容器的网络信息和配置信息;新的网元容器基于获取到的集群信息配置自身的配置文件;同时,所述目标集群中的原有每一网元容器通过kubernetes服务的触发感知到数据库etcd的数据变化,所述目标集群中的原有每一网元容器获取新的网元容器的网络信息和配置信息,以及所述目标集群中其他网元容器的网络信息和配置信息,基于获取到的网络信息和配置信息更新自身的配置文件;检测各网元容器的运行状态,完成对目标集群的扩容过程。

图4为本发明实施例动态缩容的具体实现流程示意图,如图4所示,所述动态缩容的步骤包括:触发扩容事件,指定容器横向收缩,从目标集群中选择一个网元容器进行销毁;待销毁的网元容器确定容器业务已经完成;待销毁的网元容器通过kubernetes服务的触发向数据库etcd发送缩容信息,以使所述数据库etcd删除该待销毁的网元容器的相关信息;删除该待销毁的网元容器;同时,所述目标集群中原有网元容器通过kubernetes服务的触发感知到数据库etcd的数据变化,所述目标集群中的原有每一网元容器获取销毁网元容器后,其他未销毁的网元容器的网络信息和配置信息,并更新自身的配置文件;检测各网元容器的运行状态,完成对目标集群的缩容过程。

实施例二

本实施例提供了一种网络设备,如图5所示,所述网络设备包括:

处理单元51,用于触发目标事件,所述目标事件为对目标集群进行扩容处理,或者进行缩容处理的事件;所述目标集群包含有至少两个第一网元容器;还用于向数据库获取第二网元的第二网元相关信息,其中,所述数据库存储有每一所述第一网元容器的第一网元相关信息,以及至少一个第二网元的第二网元相关信息;所述第二网元与所述第一网元容器相同或不相同;

发送单元52,用于将所述第二网元的第二网元相关信息发送至所述目标集群中的每一所述第一网元容器,以便于每一所述第一网元容器基于获取到的第二网元相关信息调整自身的第一网元相关信息。

在一实施例中,所述目标事件为对目标集群进行扩容处理的事件,所述第二网元与所述第一网元容器不相同;对应地,

所述处理单元51,还用于向私有镜像库获取镜像数据;其中,所述私有镜像库中存储有所述目标集群中的所述第一网元容器所对应的镜像数据;

所述发送单元52,还用于将获取到的所述镜像数据发送至所述第二网元,以使所述第二网元启动所述镜像数据,得到第二网元容器;相应地,

所述处理单元51,还用于向所述数据库获取所述目标集群中每一所述第一网元容器的第一网元相关信息;

所述发送单元52,还用于将每一所述第一网元容器的第一网元相关信息发送至所述第二网元容器,以便于所述第二网元容器基于第一网元相关信息配置自身对应的第二网元相关信息。

在另一实施例中,所述发送单元52,还用于向所述数据库发送针对所述目标集群的扩容信息;所述扩容信息中携带有所述第二网元容器的第二网元相关信息;以便于所述数据库基于所述第二网元容器的第二网元相关信息对所述目标集群进行调整,使所述目标集群中包含有所述第二网元容器。

在另一实施例中,所述目标事件为对目标集群进行缩容处理的事件,所述第二网元与所述第一网元容器相同;对应地,

所述处理单元51,还用于从所述目标集群的至少两个第一网元容器选取出第二网元;确定出所述第二网元的容器业务处理完成后,从所述目标集群中删除所述第二网元。

在另一实施例中,所述发送单元52,还用于向所述数据库发送针对所述目标集群的缩容信息;所述缩容信息中携带有所述第二网元的第二网元相关信息;以便于所述数据库基于所述第二网元的第二网元相关信息对所述目标集群进行调整,从所述目标集群删除所述第二网元。

这里需要指出的是:以上网络设备实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果,因此不做赘述。对于本发明网络设备实施例中未披露的技术细节,本领域的技术人员请参照本发明方法实施例的描述而理解,为节约篇幅,这里不再赘述。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅是本发明实施例的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明实施例原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明实施例的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1