CN112988329A - 一种容器配置管理的方法和系统 - Google Patents
一种容器配置管理的方法和系统 Download PDFInfo
- Publication number
- CN112988329A CN112988329A CN202110302567.4A CN202110302567A CN112988329A CN 112988329 A CN112988329 A CN 112988329A CN 202110302567 A CN202110302567 A CN 202110302567A CN 112988329 A CN112988329 A CN 112988329A
- Authority
- CN
- China
- Prior art keywords
- container
- configuration
- configuration information
- server
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种容器配置管理的方法和系统,属于计算机技术领域,所述方法包括:为容器与配置中心建立连接;从所述配置中心获取所述容器的配置信息,并同步到所述容器内;所述配置信息同步后,重启所述容器。配置信息产生变更或发布时,从配置中心同步业务应用启动所需要的配置信息,即可实现版本的发布,提高了容器的适用范围,避免发布和维护大量容器镜像;通过配置中心对配置信息进行统一管理,利于保证配置信息的完整性。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种容器配置管理的方法和系统。
背景技术
容器技术已经引起了业内的广泛关注,有充分的证据表明,容器技术能够大大提升工作效率。
传统存储模式在应用容器化时需要将配置数据拷贝至容器内或者容器启动时需要集成更多的第三方客户端库来完成数据读取,此两种方式有明显缺陷:一是需要把配置数据直接在容器生成时将配置数据直接打入镜像,变更时更新繁琐;二是依赖第三方客户端,当依赖的第三方客户端或配置数据发生变更时需要重新生成镜像。
总体而言,就是因为配置类变更和非业务变更行为导致不必要的镜像重新生成和发布工作,而电信行业作为数据密集型行业每一个模块的镜像个数都随着规模逐步量级变化,每次因为配置而发布镜像会导致维护工作繁重,也会增加新的系统风险。另外目前主流容器管理平台,如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的注册和管理。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种容器配置管理的方法,其特征在于,所述方法包括:
为容器与配置中心建立连接;
从所述配置中心获取所述容器的配置信息,并同步到所述容器内;
所述配置信息同步后,重启所述容器。
2.根据权利要求1所述的方法,其特征在于,所述配置信息包括以下信息之一或它们的组合:
配置参数、依赖库和业务应用的执行程序。
3.根据权利要求1所述的方法,其特征在于,所述容器与配置中心建立连接的方法包括:
所述容器在启动时,启动客户端;
所述客户端从容器管理平台获取配置中心的连接方式;
所述客户端基于所述连接方式与所述配置中心建立连接。
4.根据权利要求3所述的方法,其特征在于,还包括通过共享式内存管理配置信息的方法:
为所述配置中心部署服务端和共享式内存;
所述服务端将所述配置信息保存在共享式内存中;
所述服务端将配置路径和同步路径发送给客户端;
所述客户端根据同步路径从共享式内存中获取配置信息,并将所述配置信息保存在配置路径下。
5.根据权利要求4所述的方法,其特征在于,服务端部署的方法包括:
将所述服务端部署在服务端容器内;
所述服务端容器部署完成后,向容器管理平台提交服务注册信息,所述服务注册信息包括服务端的连接方式。
6.根据权利要求4所述的方法,其特征在于,所述客户端启动后,在容器管理平台中注册,并获取服务端的连接方式;
所述客户端根据所述连接方式向所述服务端发送连接请求;
所述服务端监听到所述连接请求后,与所述客户端进行配置信息的传输。
7.根据权利要求6所述的方法,其特征在于,还包括配置信息传输失败的处理方法:
判断所述配置信息是否传输失败;
若是,生成错误信息并发送给服务端,同时在所述容器内建立失败标记;
判断所述容器内是否有失败标记;
若有失败标记,退出业务应用。
8.一种用于实现权利要求1-7任一项所述方法的系统,其特征在于,包括配置中心和部署在容器内的客户端,
所述容器与配置中心建立连接后,所述客户端从所述配置中心获取所述容器的配置信息,并同步到所述容器内,所述配置信息同步后,重启所述容器。
9.根据权利要求8所述的系统,其特征在于,所述配置中心部署有服务端容器和共享式内存,所述服务端容器内部署有服务端,
所述客户端用于与服务端建立连接,从所述服务端中获得配置信息的同步路径和配置路径,根据所述同步路径从共享式内存中获取配置信息,并将所述配置信息保存在配置路径下。
10.根据权利要求9所述的系统,其特征在于,还包括容器管理平台,所述容器管理平台用于容器和服务端容器的注册和管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110302567.4A CN112988329A (zh) | 2021-03-22 | 2021-03-22 | 一种容器配置管理的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110302567.4A CN112988329A (zh) | 2021-03-22 | 2021-03-22 | 一种容器配置管理的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112988329A true CN112988329A (zh) | 2021-06-18 |
Family
ID=76334253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110302567.4A Pending CN112988329A (zh) | 2021-03-22 | 2021-03-22 | 一种容器配置管理的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112988329A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106789250A (zh) * | 2016-12-22 | 2017-05-31 | 焦点科技股份有限公司 | 一种基于容器的服务多版本共存实现方法 |
CN107154922A (zh) * | 2016-03-04 | 2017-09-12 | 北京京东尚科信息技术有限公司 | 配置管理系统及配置管理方法 |
CN107948249A (zh) * | 2017-11-02 | 2018-04-20 | 华南理工大学 | 基于服务发现和容器技术的大数据平台弹性伸缩方法 |
CN108551487A (zh) * | 2018-04-26 | 2018-09-18 | Oppo广东移动通信有限公司 | PaaS平台的应用部署方法、装置、服务器及存储介质 |
WO2019100605A1 (zh) * | 2017-11-21 | 2019-05-31 | 平安科技(深圳)有限公司 | 平台即服务paas容器平台的构建方法、服务器、系统及存储介质 |
CN110138588A (zh) * | 2019-04-04 | 2019-08-16 | 微梦创科网络科技(中国)有限公司 | 配置文件自动化管理方法和系统、配置管理平台和客户端 |
CN111045745A (zh) * | 2018-10-10 | 2020-04-21 | 北京京东金融科技控股有限公司 | 管理配置信息的方法和系统 |
CN111078238A (zh) * | 2018-10-19 | 2020-04-28 | 中国移动通信集团浙江有限公司 | 容器环境下应用配置集中处理方法及装置 |
CN111416736A (zh) * | 2020-03-12 | 2020-07-14 | 北京星网锐捷网络技术有限公司 | 网络设备的配置管理方法、装置、计算设备及存储介质 |
CN112187923A (zh) * | 2020-09-28 | 2021-01-05 | 浪潮云信息技术股份公司 | 一种政务云平台微服务配置方法 |
-
2021
- 2021-03-22 CN CN202110302567.4A patent/CN112988329A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107154922A (zh) * | 2016-03-04 | 2017-09-12 | 北京京东尚科信息技术有限公司 | 配置管理系统及配置管理方法 |
CN106789250A (zh) * | 2016-12-22 | 2017-05-31 | 焦点科技股份有限公司 | 一种基于容器的服务多版本共存实现方法 |
CN107948249A (zh) * | 2017-11-02 | 2018-04-20 | 华南理工大学 | 基于服务发现和容器技术的大数据平台弹性伸缩方法 |
WO2019100605A1 (zh) * | 2017-11-21 | 2019-05-31 | 平安科技(深圳)有限公司 | 平台即服务paas容器平台的构建方法、服务器、系统及存储介质 |
CN108551487A (zh) * | 2018-04-26 | 2018-09-18 | Oppo广东移动通信有限公司 | PaaS平台的应用部署方法、装置、服务器及存储介质 |
CN111045745A (zh) * | 2018-10-10 | 2020-04-21 | 北京京东金融科技控股有限公司 | 管理配置信息的方法和系统 |
CN111078238A (zh) * | 2018-10-19 | 2020-04-28 | 中国移动通信集团浙江有限公司 | 容器环境下应用配置集中处理方法及装置 |
CN110138588A (zh) * | 2019-04-04 | 2019-08-16 | 微梦创科网络科技(中国)有限公司 | 配置文件自动化管理方法和系统、配置管理平台和客户端 |
CN111416736A (zh) * | 2020-03-12 | 2020-07-14 | 北京星网锐捷网络技术有限公司 | 网络设备的配置管理方法、装置、计算设备及存储介质 |
CN112187923A (zh) * | 2020-09-28 | 2021-01-05 | 浪潮云信息技术股份公司 | 一种政务云平台微服务配置方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11249728B2 (en) | System and method for generating an application structure for an application in a computerized organization | |
US20210004297A1 (en) | System and method for managing blockchain nodes | |
US20240113984A1 (en) | Agent message delivery fairness | |
CN109309693B (zh) | 基于docker的多服务系统、部署方法及装置、设备及存储介质 | |
CN113569987A (zh) | 模型训练方法和装置 | |
US20100174807A1 (en) | System and method for providing configuration synchronicity | |
CN111026414B (zh) | 一种基于kubernetes的HDP平台部署方法 | |
CN109120678A (zh) | 用于分布式存储系统的服务托管的方法和装置 | |
CN112291298B (zh) | 异构系统的数据传输方法、装置、计算机设备和存储介质 | |
US20080222617A1 (en) | Server side application integration framework | |
CN102664747B (zh) | 一种云计算平台系统 | |
US20110296393A1 (en) | Systems and methods for generating an encoded package profile based on executing host processes | |
CN113626286B (zh) | 多集群实例处理方法、装置、电子设备及存储介质 | |
CN106657167B (zh) | 管理服务器、服务器集群、以及管理方法 | |
CN111464603B (zh) | 一种服务器扩容方法及扩容系统 | |
CN109697078B (zh) | 非高可用性组件的修复方法、大数据集群和容器服务平台 | |
US12026494B2 (en) | Dynamic automation of prerequisite component deployment in disconnected environments | |
CN115150419B (zh) | 一种混合云对象存储的配置和访问方法及系统 | |
CN115248692A (zh) | 一种支持多种深度学习框架模型云端部署的装置及方法 | |
CN111966466A (zh) | 一种容器管理方法、设备以及介质 | |
CN116149701A (zh) | 一种面向边缘终端的软件在线升级方法和系统 | |
CN114968283A (zh) | 一种容器镜像的拉取方法、装置、设备及可读存储介质 | |
US11403145B1 (en) | Enforcing system configuration freeze of services deployed via continuous delivery on datacenters configured in cloud platforms | |
CN112988329A (zh) | 一种容器配置管理的方法和系统 | |
CN111339055A (zh) | 大数据集群扩容方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |