一种容器配置管理的方法和系统与流程

文档序号:25543238发布日期:2021-06-18 20:40来源:国知局
一种容器配置管理的方法和系统与流程

本发明涉及计算机技术领域,具体涉及一种容器配置管理的方法和系统。



背景技术:

容器技术已经引起了业内的广泛关注,有充分的证据表明,容器技术能够大大提升工作效率。

传统存储模式在应用容器化时需要将配置数据拷贝至容器内或者容器启动时需要集成更多的第三方客户端库来完成数据读取,此两种方式有明显缺陷:一是需要把配置数据直接在容器生成时将配置数据直接打入镜像,变更时更新繁琐;二是依赖第三方客户端,当依赖的第三方客户端或配置数据发生变更时需要重新生成镜像。

总体而言,就是因为配置类变更和非业务变更行为导致不必要的镜像重新生成和发布工作,而电信行业作为数据密集型行业每一个模块的镜像个数都随着规模逐步量级变化,每次因为配置而发布镜像会导致维护工作繁重,也会增加新的系统风险。另外目前主流容器管理平台,如k8s在进行容器灰度发布时存在异常场景,会造成同时有新版本和老版本共存问题,会导致业务系统出现错误。



技术实现要素:

针对现有技术中存在的上述技术问题,本发明提供一种容器配置管理的方法和系统,从配置中心获取容器的配置信息,并同步到容器内,利于更新容器的配置信息,避免生成和维护大量的镜像。

本发明公开了一种容器配置管理的方法,所述方法包括:为容器与配置中心建立连接;从所述配置中心获取所述容器的配置信息,并同步到所述容器内;所述配置信息同步后,重启所述容器。

优选的,所述配置信息包括以下信息之一或它们的组合:配置参数、依赖库和业务应用的执行程序。

优选的,所述容器与配置中心建立连接的方法包括:

所述容器在启动时,启动客户端;

所述客户端从容器管理平台获取配置中心的连接方式;

所述客户端基于所述连接方式与所述配置中心建立连接。

优选的,本发明的方法还包括通过共享式内存管理配置信息的方法:

为所述配置中心部署服务端和共享式内存;

所述服务端将所述配置信息保存在共享式内存中;

所述服务端将配置路径和同步路径发送给客户端;

所述客户端根据同步路径从共享式内存中获取配置信息,并将所述配置信息保存在配置路径下。

优选的,服务端部署的方法包括:

将所述服务端部署在服务端容器内;

所述服务端容器部署完成后,向容器管理平台提交服务注册信息,所述服务注册信息包括服务端的连接方式。

优选的,所述客户端启动后,在容器管理平台中注册,并获取服务端的连接方式;

所述客户端根据所述连接方式向所述服务端发送连接请求;

所述服务端监听到所述连接请求后,与所述客户端进行配置信息的传输。

优选的,本发明的方法还包括配置信息传输失败的处理方法:

判断所述配置信息是否传输失败;

若是,生成错误信息并发送给服务端,同时在所述容器内建立失败标记;

判断所述容器内是否有失败标记;

若有失败标记,退出业务应用。

本发明还提供一种用于实现上述方法的系统,包括配置中心和部署在容器内的客户端,

所述容器与配置中心建立连接后,所述客户端用于从所述配置中心获取所述容器的配置信息,并同步到容器内,所述配置信息同步后,重启所述容器。

优选的,所述配置中心部署有服务端容器和共享式内存,所述服务端容器内部署有服务端,

所述客户端用于与服务端建立连接,从所述服务端中获得配置信息的同步路径和配置路径,根据所述同步路径从共享式内存中获取配置信息,并将所述配置信息保存在配置路径下。

优选的,本发明的系统还包括容器管理平台,所述容器管理平台用于容器和服务端容器的注册和管理。

与现有技术相比,本发明的有益效果为:配置信息产生变更或发布时,从配置中心同步业务应用启动所需要的配置信息,即可实现版本的发布,提高了容器的适用范围,避免发布和维护大量容器镜像;通过配置中心对配置信息进行统一管理,利于保证配置信息的完整性。

附图说明

图1是本发明的容器配置管理的方法流程图;

图2是配置信息传输失败的处理方法流程图;

图3是本发明的系统逻辑框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合附图对本发明做进一步的详细描述:

一种容器配置管理的方法,如图1所示,所述方法包括:

步骤101:为容器与配置中心建立连接。容器可以通过网络的方式与配置中心建立连接,其中配置中心用于管理配置信息。

步骤102:从所述配置中心获取所述容器的配置信息,并同步到所述容器内。其中,所述配置信息包括以下信息之一或它们的组合:配置参数、依赖库和业务应用的执行程序。配置参数可以保存在配置文件中,通过文件的方式进行同步,依赖库包括与执行程序具有依赖关系的组件,与容器的镜像相比,上述任一信息的可以产生变更。

步骤103:所述配置信息同步后,重启所述容器。通过重启所述容器,使配置信息生效,配置信息生效后,可以保障业务应用的运行环境,业务应用用于在容器内执行任务。

与容器的镜像相比,配置信息产生变更或发布时,从配置中心同步业务应用启动所需要的配置信息,即可实现版本的发布,提高了容器的适用范围,避免发布和维护大量容器镜像;通过配置中心对配置信息进行统一管理,利于保证配置信息的完整性。

在一个具体应用中,大版本的配置信息发布时,创造新版容器镜像,根据新版容器镜像启动新版容器;而在配置信息变更较小时,在配置中心中修改相应容器的配置信息。

步骤101中,所述容器与配置中心建立连接的方法包括:

步骤201:所述容器在启动时,启动客户端。客户端部署在容器内,可以独立运行的方式进行部署。

步骤202:所述客户端从容器管理平台获取配置中心的连接方式。所述客户端启动后,在容器管理平台中注册,并获取服务端的连接方式。

步骤203:所述客户端基于所述连接方式与所述配置中心建立连接。例如,所述客户端根据所述连接方式向所述服务端发送连接请求,所述服务端监听到所述连接请求后,与所述客户端进行配置信息的传输。

在一个具体实施例中,客户端的启动方式为:在环境变量中以脚本拉起,客户端启动后通过容器外设置的环境变量访问容器管理平台,以获得配置中心的ip和端口。客户端根据所述ip和端口与配置中心连接后,进行数据交互,获取配置信息。

其中,所述配置中心可以通过共享式内存管理配置信息:

步骤301:为所述配置中心部署服务端和共享式内存。

步骤302:所述服务端将所述配置信息保存在共享式内存中。

步骤303:所述服务端将配置路径和同步路径发送给客户端;

步骤304:所述客户端根据同步路径从共享式内存中获取配置信息,并将所述配置信息保存在所述配置路径下。

但不限于此,所述服务端也从客户端中获得容器的类型,并选择与所述容器类型相应的配置信息发送给客户端,客户端将配置信息保存在指定的配置路径下。

步骤301中,服务端部署的方法包括:

步骤401:将所述服务端部署在服务端容器内,但不限于此。

步骤402:所述服务端容器部署完成后,向容器管理平台提交服务注册信息,所述服务注册信息包括服务端的连接方式。

如图2所示,本申请的方法还包括配置信息传输失败的处理方法:

步骤501:判断所述配置信息是否传输失败。

若是,执行步骤502:生成错误信息并发送给服务端,同时在所述容器内建立失败标记,退出客户端,执行步骤503;

步骤503:判断所述容器内是否有失败标记。

若有失败标记,执行步骤504:退出业务应用。在一个具体实例中,在业务应用中执行步骤503和504,在客户端中执行501和502,通过容器管理平台对业务应用进行调用,业务应用用于执行具体的任务。

同步成功时,所述客户端退出,在容器管理平台中进行注册。其中,容器管理平台可以是zookeeper平台,也可以是k8s(kubernetes)平台,但不限于此。

如图3所示,本发明还提供一种用于实现上述方法的系统,包括配置中心1和部署在容器2内的客户端21,容器2与配置中心1建立连接后,客户端21从配置中心1获取容器2的配置信息,并同步到容器2内,所述配置信息同步后,重启容器2,使配置信息生效。

其中,配置中心1部署有服务端容器12和共享式内存13,服务端容器12内部署有服务端14,

客户端21用于与服务端14建立连接,从服务端14中获得配置信息的同步路径和配置路径,根据所述同步路径从共享式内存13中获取配置信息,并将所述配置信息保存在配置路径下。

本发明的系统还可以包括容器管理平台3,容器管理平台3用于容器2和服务端容器12的注册和管理。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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