CN111552494A - 一种容器组的管理方法、设备、系统及介质 - Google Patents
一种容器组的管理方法、设备、系统及介质 Download PDFInfo
- Publication number
- CN111552494A CN111552494A CN202010332240.7A CN202010332240A CN111552494A CN 111552494 A CN111552494 A CN 111552494A CN 202010332240 A CN202010332240 A CN 202010332240A CN 111552494 A CN111552494 A CN 111552494A
- Authority
- CN
- China
- Prior art keywords
- information
- updated
- container group
- information fields
- configuration information
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种容器组的管理方法、设备、系统及介质。其中,容器组的管理方法,包括:获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息,原始配置信息和更新配置信息分别包括第一数量的原始信息字段和更新信息字段;在原始信息字段和更新信息字段中去除预先设定的信息字段,以获取第二数量的原始信息字段和第二数量的更新信息字段;根据第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对至少一个容器组中的每个容器组进行更新。本发明实施例的技术方案,通过原始配置信息和更新配置信息中设定信息字段之间的差异进行容器组更新,减少了不必要的容器销毁操作。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种容器组的管理方法、设备、系统及介质。
背景技术
Kubernetes是一个容器集群管理平台,其目标是实现容器化应用的高效部署。Kubernetes中内建了很多控制器,这些控制器负责创建多副本的Pod,并对其创建的Pod进行管理,现有技术中,当Pod配置发生变化时,例如,用户需要更新Pod的镜像名或者标签等字段时,控制器会响应用户的配置更新请求,销毁旧版本的Pod,然后使用更新后的配置信息重新创建新版本的Pod。
上述配置更新方法在每次需要更新配置时,都需要销毁原有Pod,重新创建一个新的Pod,但在一些情况下,仅重建Pod中与更新配置相关的容器即可完成配置更新,而不需要销毁整个Pod,而现有技术中每次更新配置都需要执行一次调度流程,不仅耗时较长,还增加了调度器负担,更新代价大。另一方面,重建Pod会导致Pod命名空间配置以及Pod IP等基础信息发生改变,这在外部其他容器依赖Pod命名空间进行调试,或者其他服务依赖Pod IP通信的场景下就不适用了。
发明内容
本发明实施例提供一种容器组的管理方法、设备、系统及介质,通过原始配置信息和更新配置信息中设定信息字段之间的差异进行容器组更新,减少了不必要的容器销毁操作。
第一方面,本发明实施例提供了一种容器组的管理方法,所述方法包括:
获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息,所述原始配置信息和更新配置信息分别包括第一数量的原始信息字段和更新信息字段;
在所述原始信息字段和更新信息字段中去除预先设定的信息字段,以获取第二数量的原始信息字段和第二数量的更新信息字段,所述第二数量小于所述第一数量;
根据所述第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对所述至少一个容器组中的每个容器组进行更新。
第二方面,本发明实施例还提供了一种计算机设备,包括处理器和存储器,存储器用于存储指令,当指令执行时使得处理器执行以下操作:
获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息,所述原始配置信息和更新配置信息分别包括第一数量的原始信息字段和更新信息字段;
在所述原始信息字段和更新信息字段中去除预先设定的信息字段,以获取第二数量的原始信息字段和第二数量的更新信息字段,所述第二数量小于所述第一数量;
根据所述第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对所述至少一个容器组中的每个容器组进行更新。
第三方面,本发明实施例提供了一种容器组的管理系统,所述系统包括:多个容器、容器组管理组件;所述多个容器构成至少一个容器组,一个容器组管理组件用于管理至少一个容器组,一个容器管理组件用于管理至少一个容器;
所述容器组管理组件,用于执行本发明任意实施例提供的容器组的管理方法;
所述容器管理组件,用于从与各容器组对应的原始配置信息和更新配置信息中分别获取与所管理容器对应的第一信息字段和第二信息字段,并根据所述第一信息字段与所述第二信息字段之间的差异,对所管理容器进行更新。
第四方面,本发明实施例提供了一种容器组的管理系统,所述系统包括:由多个节点构成的节点集群;每个节点上分别配置至少一个容器,各所述容器构成至少一个容器组;
每个所述节点,用于从与各容器组对应的原始配置信息和更新配置信息中分别获取与节点中配置的容器对应的第一信息字段和第二信息字段,并根据所述第一信息字段与所述第二信息字段之间的差异,对节点中配置的容器进行更新;
所述节点集群中的目标节点,用于执行本发明任意实施例提供的容器组的管理方法。
第五方面,本发明实施例还提供了一种存储介质,存储介质用于存储指令,指令用于执行:
获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息,所述原始配置信息和更新配置信息分别包括第一数量的原始信息字段和更新信息字段;
在所述原始信息字段和更新信息字段中去除预先设定的信息字段,以获取第二数量的原始信息字段和第二数量的更新信息字段,所述第二数量小于所述第一数量;
根据所述第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对所述至少一个容器组中的每个容器组进行更新。
本发明实施例的技术方案,容器组管理组件通过获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息,并在原始信息字段和更新信息字段中去除预先设定的信息字段,获取第二数量的原始信息字段和第二数量的更新信息字段,最终根据第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对至少一个容器组中的每个容器组进行更新,解决了现有技术中配置信息一旦发生变化就需要销毁并重建当前容器组的问题,其中,第二数量的信息字段是全部配置信息中的一部分,当修改除第二数量的信息字段之外的信息字段时,不必销毁当前容器组,减少了不必要的容器组销毁操作。
附图说明
图1a是本发明实施例一中的一种容器组的管理方法的流程图;
图1b是本发明实施例一中的一种容器组管理的伪代码;
图2是本发明实施例二中的一种容器组的管理方法的流程图;
图3是本发明实施例三中的一种容器组的管理方法的流程图;
图4是本发明实施例四中的一种容器组的管理装置的结构示意图;
图5是本发明实施例五提供的一种计算机设备的结构示意图;
图6是本发明实施例六中的一种容器化的集群管理系统的结构示意图;
图7是本发明实施例七中的一种容器化的集群管理系统的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本文使用的术语“节点”是集群中的执行工作的机器,可以是物理机器也可以是虚拟机。
本文使用的术语“容器”是指Linux容器,Linux容器技术能够对应用及其整个运行时环境(包括全部所需文件)一起进行打包或隔离。从而在不同环境(如开发、测试和生产等环境)之间轻松迁移应用的同时,还可保留应用的全部功能。
本文使用的术语“容器组”是容器组的管理系统中能够创建和部署的最小单元,是集群管理系统中的一个应用实例,总是部署在集群管理系统的同一个节点上。
本文使用的术语“容器组管理组件”是一个控制循环,会持续监控容器化的集群管理系统中由该容器组管理组件管理的容器组,并确保该容器组处于期望的工作状态。
本文使用的术语“容器管理组件”是与节点集群中的节点对应的节点守护进程,用于管理节点中布署的多个容器,具体的,容器管理组件可以通过心跳向容器组管理组件汇报节点状态和节点中布署的容器的状态。
本文使用的术语“存储引擎”是集群管理系统中以Key-Value格式进行数据存储的数据库。
为了便于理解,将本发明实施例的主要发明构思进行简述。
现有技术中,当用户上传针对某一容器组的更新配置信息后,若容器组管理组件检测到更新配置信息中包含的第一数量的原始信息字段与更新配置信息中对应的信息字段不同,则会销毁当前容器组,并根据更新配置信息重建容器组,但在一些情况下,用户对配置信息的更改仅与容器组中的一个容器相关,但容器组管理组件会通过销毁整个容器组来更新配置信息,造成了不必要的容器组销毁操作。
基于上述问题,发明人针对现有技术中容器组管理组件通过销毁整个容器组来实现配置信息更新,造成不必要的容器组销毁操作的问题,考虑在检测针对某一容器组的配置信息是否需要更新时,忽略设定的信息字段,从而实现容器组中仅有设定字段需要更新时,不会销毁整个容器组。
基于上述思考,发明人创造性的提出,容器组管理组件通过获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息,并在原始信息字段和更新信息字段中去除预先设定的信息字段,以获取第二数量的原始信息字段和第二数量的更新信息字段,最终根据第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对至少一个容器组中的每个容器组进行更新,解决了现有技术中配置信息一旦发生变化就需要销毁并重建当前容器组的问题,其中,第二数量的信息字段是全部配置信息中的一部分,当修改除第二数量的信息字段之外的信息字段时,不必销毁当前容器组,减少了不必要的容器组销毁操作。
实施例一
图1a为本发明实施例一中的一种容器组的管理方法的流程图,本实施例的技术方案适用于通过容器组管理组件进行容器组配置信息更新的情况,该方法可以由容器组的管理装置执行,该装置可以由软件和/或硬件来实现,并可以集成在各种通用计算机设备中。
本实施例的技术方案是由容器化的集群管理系统中的容器组管理组件执行的,为了便于理解,首先对容器组管理组件进行说明,容器组管理组件具体是一个控制循环,会持续监控容器化的集群管理系统中由该容器组管理组件管理的容器组,并确保该容器组处于期望的工作状态,其伪代码如图1b所示,具体的,容器组管理组件获取其管理的容器组原始配置信息,以及用户上传的与其管理的容器组对应更新配置信息,当二者不同时,就需要更新容器组的配置信息。示例性的,集群管理系统为Kubernetes时,容器组为Pod。
其中,Kubernetes,简称K8s,是一个开源的用于管理云平台中多个节点上的容器化的应用。K8s的目标是让部署容器化的应用简单并且高效,它提供了应用部署、规划、更新和维护的一种机制。
本实施例中的容器组的管理方法,具体包括如下步骤:
步骤110、获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息,原始配置信息和更新配置信息分别包括第一数量的原始信息字段和更新信息字段。
其中,容器组是容器化的集群管理系统中能够创建和部署的最小单元,是容器化的集群管理系统中的一个应用实例,总是部署在容器化的容器化的集群管理系统的同一个节点上。容器组中包含了一个或多个容器,还包括了存储、网络等各个容器共享的资源。
本实施例中,为了检测容器组的配置信息是否需要更新,容器组管理组件首先需要获取与各容器组对应的原始配置信息和更新配置信息,其中,原始配置信息是指最近一次进行容器组配置信息更新时所使用的配置信息,更新配置信息是指用户上传的最新的配置信息,其中,原始配置信息和更新配置信息分别包括第一数量的原始信息字段和更新信息字段。
示例性的,容器组管理组件从Etcd中查找与当前时间最接近的配置文件,获取配置文件中的原始配置信息,然后从用户上传的更新的配置文件中获取更新配置文件。其中,Etcd是一个分布式、key-value存储的分布式系统。
步骤120、在原始信息字段和更新信息字段中去除预先设定的信息字段,以获取第二数量的原始信息字段和第二数量的更新信息字段,第二数量小于第一数量。
本实施例中,为了减少不必要的容器组销毁操作,在第一数量的原始信息字段和更新信息字段中取出预先设定的信息字段,得到第二数量的原始信息字段和第二数量的更新信息字段,其中,第二数量小于第一数量,此时,当容器组管理组件检测容器组对应的配置信息是否需要更新时,会忽略预先设定的信息字段,也就是说,在仅有预先设定的信息字段需要更新时,不会销毁当前容器组。示例性的,预先设定的信息字段可以是镜像字段。
步骤130、根据第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对至少一个容器组中的每个容器组进行更新。
本实施例中,在去除原始配置信息和更新配置信息中预先设定的信息字段后,获取第二数量的原始信息字段和第二数量的更新信息字段,然后根据第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对各容器组进行更新。示例性的,当两组信息字段不完全相同时,根据更新配置信息对容器组进行更新,或者计算两组信息字段的哈希值,当两组信息字段对应的哈希值不同时,根据更新配置信息进行容器组更新。
本发明实施例的技术方案,容器组管理组件通过获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息,并在原始信息字段和更新信息字段中去除预先设定的信息字段,获取第二数量的原始信息字段和第二数量的更新信息字段,最终根据第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对至少一个容器组中的每个容器组进行更新,解决了现有技术中配置信息一旦发生变化就需要销毁并重建当前容器组的问题,其中,第二数量的信息字段是全部配置信息中的一部分,当修改除第二数量的信息字段之外的信息字段时,不必销毁当前容器组,减少了不必要的容器组销毁操作。
实施例二
图2为本发明实施例二中的一种容器组的管理方法的流程图,本实施例在上述实施例的基础上进一步细化,提供了根据第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对至少一个容器组中的每个容器组进行更新的具体步骤。下面结合图2对本发明实施例二提供的一种容器组的管理方法进行说明,包括以下步骤:
步骤210、获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息,原始配置信息和更新配置信息分别包括第一数量的原始信息字段和更新信息字段。
步骤220、在原始信息字段和更新信息字段中去除预先设定的信息字段,以获取第二数量的原始信息字段和第二数量的更新信息字段,第二数量小于第一数量。
步骤230、依次获取一个容器组作为目标容器组,获取目标容器组当前的目标配置信息,并去除目标配置信息中预先设定的信息字段,以获取第二数量的信息字段作为目标计算信息,计算目标计算信息对应的目标哈希值。
本实施例中,容器组管理组件为了监测其管理的至少一个容器组的配置信息是否与用户当前上传的更新配置信息相同,依次获取其管理的一个容器组作为目标容器组,获取目标容器组对应的目标配置信息,并去除目标配置信息中预先设定的信息字段,得到第二数量的信息字段作为目标计算信息,最终计算目标计算信息对应的目标哈希值,用以判断容器组当前的配置信息是否需要更新。
步骤240、判断第二数量的原始信息字段和第二数量的更新信息字段所对应的哈希值是否相同,若是,则执行步骤250,否则执行步骤260。
本实施例中,为了判断容器组当前的配置信息是否需要更新,首先将第二数量的原始信息字段和第二数量的更新信息字段所对应的哈希值进行比对,确定当前用户上传的更新配置信息是否包含需要更新的信息字段,若二者不相同,则表示用户上传的更新配置信息与原始配置信息不完全相同,存在需要更新的信息字段。
步骤250、判断目标哈希值与第二数量的更新信息字段对应哈希值是否相同,若是,则返回执行步骤230,否则,执行步骤251。
本实施例中,当第二数量的原始信息字段和第二数量的更新信息字段所对应的哈希值相同,并且目标哈希值与第二数量的更新信息字段对应哈希值相同时,表明目标容器组当前的配置信息与用户上传的更新配置信息相同,所以当前目标容器组不需要进行更新,则返回执行依次获取一个容器组作为目标容器组的操作,以继续判断下一容器组是否需要进行更新。
步骤251、对目标容器组进行可用性报错,并退出。
本实施例中,当第二数量的原始信息字段和第二数量的更新信息字段所对应的哈希值相同,并且目标哈希值与第二数量的更新信息字段对应哈希值不同时,表明目标容器组当前的配置信息与用户上传的更新配置信息以及原始配置信息均不相同,此时需要对目标容器组进行可用性报错,并退出循环。
步骤260、根据目标哈希值、第二数量的原始信息字段和更新配置信息对目标容器组进行更新,并返回步骤230执行依次获取一个容器组作为目标容器组的操作。
本实施例中,当第二数量的原始信息字段和第二数量的更新信息字段所对应的哈希值不同时,表明更新配置信息中的至少一个信息字段与原始配置信息不同,此时需要对应用原始配置信息的目标容器组进行更新,具体的,根据目标哈希值、第二数量的原始信息字段和更新配置信息对目标容器组进行更新,并返回执行依次获取一个容器组作为目标容器组的操作。
可选的,根据所述目标哈希值、第二数量的原始信息字段和所述更新配置信息对所述目标容器组进行更新,包括:
如果所述目标哈希值与所述第二数量的原始信息字段对应的哈希值相同,则销毁所述目标容器组,并根据所述更新配置信息重建容器组;
如果所述目标哈希值与所述第二数量的原始信息字段以及第二数量的更新信息字段对应的哈希值均不相同,则对所述目标容器组进行报错,并退出。
本可选的实施例中,提供了一种对目标容器组进行更新的方式,具体为,如果检测到目标哈希值与第二数量的原始信息字段对应的哈希值相同,表明目标容器组当前对应的配置信息为原始配置信息,则销毁目标容器组,并根据更新配置信息重建容器组;如果检测到目标哈希值与第二数量的原始信息字段以及第二数量的更新信息字段对应的哈希值均不同,表明目标容器组当前对应的配置信息既不是原始配置信息也不是更新配置信息,则对目标容器组进行报错,并退出循环。
可选的,根据所述更新配置信息重建容器组,包括:
当所述存储引擎中存储有与更新配置信息匹配的容器组构建模板时,根据所述容器组构建模板重建容器组。
可选的,根据更新配置信息重建容器组,包括:
当所述存储引擎中未存储与更新配置信息匹配的容器组构建模板时,根据所述更新配置信息创建容器组构建模板,并根据所述容器组构建模板重建容器组。
上述两个可选的实施例中,提供了具体的根据更新配置信息重建容器组的方式,在需要根据更新配置信息对目标容器组进行更新时,首先查询存储引擎中是否存储有与更新配置信息匹配的容器组构建模板,若是,则直接根据与更新配置信息匹配的容器组构建模板重建容器组,否则,根据更新配置信息创建容器组构建模板,然后根据容器组构建模板重建容器组。
本发明实施例的技术方案,容器组管理组件通过获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息,并在原始信息字段和更新信息字段中去除预先设定的信息字段,以获取第二数量的原始信息字段和第二数量的更新信息字段,最终根据第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对至少一个容器组中的每个容器组进行更新,解决了现有技术中配置信息一旦发生变化就需要销毁并重建当前容器组的问题,仅修改除第二数量的信息字段之外的信息字段时,不必销毁当前容器组,减少了不必要的容器组销毁操作。
实施例三
图3为本发明实施例三中的一种容器组的管理方法的流程图,本实施例在上述实施例的基础上进一步细化,提供了获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息的具体步骤,以及在所述原始信息字段和更新信息字段中去除预先设定的信息字段,以获取第二数量的原始信息字段和第二数量的更新信息字段的具体步骤。下面结合图3对本发明实施例三提供的一种容器组的管理方法进行说明,包括以下步骤:
步骤310、获取存储引擎中存储的与当前时间最接近的配置文件,并确定配置文件中包含的原始配置信息。
其中,存储引擎是集群管理系统中以Key-Value格式进行数据存储的数据库,示例性的,存储引擎是Etcd。
本实施例中,为了获取原始配置信息,容器组管理组件从存储引擎中查找保存时间与当前时间最接近的配置文件,从配置文件中获取原始配置信息,示例性的,原始配置信息包镜像以及标签等信息字段。
步骤320、获取用户上传的更新配置文件中包含的更新配置信息;
其中,原始配置信息和更新配置信息均是至少两个信息字段的集合。
本实施例中,为了获取更新配置信息,容器组管理组件需要获取用户上传的更新配置文件,并从更新配置文件中获取更新配置信息,示例性的,更新配置信息包含镜像以及标签等信息字段。原始配置信息和更新配置信息均是由多个信息字段的构成的,各信息字段用于标识容器组的各项配置信息,且该配置信息中的信息字段与容器组包含的容器关联。
可选的,在获取更新配置文件中包含的更新配置信息后,容器组管理组件会检测配置信息的合法性,当检测到配置信息不合法时,会进行报错提示,当检测到配置信息合法时,才会进一步根据更新配置信息对容器组进行更新。示例性的,容器组管理组件会检测更新配置信息中包含的各信息字段的合法性,包括数据类型是否与预设类型相匹配,以及检测是否有字段信息的缺失等,例如,用于指定容器组标签的信息字段是必要字段,当容器组标签字段不存在时则认为配置信息不合法,或者某一字段的数据类型为整型,而用户上传的更新配置文件中该字段为浮点型,则认为配置信息不合法。
步骤330、在原始信息字段和更新信息字段中去除镜像字段,获取第二数量的原始信息字段和第二数量的更新信息字段。
本实施例中,首先去除原始配置信息中的镜像字段,获取第二数量的原始信息字段,也就是说第二数量的原始信息字段是去除配置信息中镜像字段后剩余的信息字段的集合,同理,去除更新配置信息中的镜像字段,获取第二数量的更新信息字段。
示例性的,原始配置信息F中所有信息字段的集合是F={f1,f2,…,fn},其中,f1是镜像字段,若将镜像字段作为设定信息字段,则去除设定字段后获取的第二数量的原始信息字段为NF={f2,…,fn},更新配置信息F'中所有信息字段的集合是F'={f1',f2,…,fn},去除镜像字段后获取第二数量的更新信息字段为NF'={f2,…,fn}。
步骤340、根据第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对至少一个容器组中的每个容器组进行更新。
本发明实施例的技术方案,容器组管理组件通过获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息,并在原始信息字段和更新信息字段中去除镜像字段,以获取第二数量的原始信息字段和第二数量的更新信息字段,最终根据第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对至少一个容器组中的每个容器组进行更新,解决了现有技术中配置信息一旦发生变化就需要销毁并重建当前容器组的问题,当仅对镜像字段进行更新时,不必销毁当前容器组,减少了不必要的容器组销毁操作。
实施例四
图4为本发明实施例四提供的一种容器组的管理装置的结构示意图,该容器组的管理装置,包括:配置信息获取模块410、信息字段获取模块420和容器组更新模块430。
其中,配置信息获取模块410,用于获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息,所述原始配置信息和更新配置信息分别包括第一数量的原始信息字段和更新信息字段;
信息字段获取模块420,用于在所述原始信息字段和更新信息字段中去除预先设定的信息字段,以获取第二数量的原始信息字段和第二数量的更新信息字段,所述第二数量小于所述第一数量;
容器组更新模块430,用于根据所述第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对所述至少一个容器组中的每个容器组进行更新。
本发明实施例的技术方案,容器组管理组件通过获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息,并在原始信息字段和更新信息字段中去除预先设定的信息字段,以获取第二数量的原始信息字段和第二数量的更新信息字段,最终根据第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对至少一个容器组中的每个容器组进行更新,解决了现有技术中配置信息一旦发生变化就需要销毁并重建当前容器组的问题,其中,第二数量的信息字段是全部配置信息中的一部分,当修改除第二数量的信息字段之外的信息字段时,不必销毁当前容器组,减少了不必要的容器组销毁操作。
可选的,所述配置信息获取模块410,包括:
原始配置信息获取单元,用于获取存储引擎中存储的与当前时间最接近的配置文件,并确定所述配置文件中包含的原始配置信息;
更新配置信息获取单元,获取用户上传的更新配置文件中包含的更新配置信息;
其中,所述原始配置信息和所述更新配置信息均是至少两个信息字段的集合。
可选的,所述容器组更新模块430,包括:
目标配置信息获取单元,用于依次获取一个容器组作为目标容器组,并获取所述目标容器组当前的目标配置信息;
目标计算信息获取单元,用于去除所述目标配置信息中预先设定的信息字段,以获取第二数量的信息字段作为目标计算信息,并计算所述目标计算信息对应的目标哈希值;
第一判断单元,用于当所述第二数量的原始信息字段和所述第二数量的更新信息字段所对应的哈希值相同时,判断所述目标哈希值与所述第二数量的更新信息字段对应哈希值是否相同;
目标容器组获取单元,用于如果所述目标哈希值与所述第二数量的更新信息字段对应哈希值相同,则返回执行依次获取一个容器组作为目标容器组的操作;
可用性报错单元,用于如果所述目标哈希值与所述第二数量的更新信息字段对应哈希值不同,则对所述目标容器组进行可用性报错,并退出。
可选的,所述容器组更新模块430,还包括:
目标容器组更新单元,用于当所述第二数量的原始信息字段和所述第二数量的更新信息字段所对应的的哈希值不同时,根据所述目标哈希值、第二数量的原始信息字段和所述更新配置信息对所述目标容器组进行更新,并返回执行依次获取一个容器组作为目标容器组的操作。
可选的,所述目标容器组更新单元,包括:
容器组重建子单元,用于如果所述目标哈希值与所述第二数量的原始信息字段对应的哈希值相同,则销毁所述目标容器组,并根据所述更新配置信息重建容器组;
可用性报错子单元,用于如果所述目标哈希值与所述第二数量的原始信息字段以及第二数量的更新信息字段对应的哈希值均不相同,则对所述目标容器组进行报错,并退出。
可选的,所述容器组重建子单元,具体用于:
当所述存储引擎中存储有与更新配置信息匹配的容器组构建模板时,根据所述容器组构建模板重建容器组。
可选的,所述容器组重建子单元,还用于:
当所述存储引擎中未存储与更新配置信息匹配的容器组构建模板时,根据所述更新配置信息创建容器组构建模板,并根据所述容器组构建模板重建容器组。
可选的,信息字段获取模块420,具体用于:
在所述原始信息字段和更新信息字段中去除镜像字段,获取第二数量的原始信息字段和第二数量的更新信息字段。
本发明实施例所提供的容器组的管理装置可执行本发明任意实施例所提供的容器组的管理方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种计算机设备的结构示意图,如图5所示,该设备包括处理器50、存储器51、输入装置52和输出装置53;设备中处理器50的数量可以是一个或多个,图5中以一个处理器50为例;设备中的处理器50、存储器51、输入装置52和输出装置53可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器51作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的容器组的管理方法对应的程序指令/模块(例如,容器组的管理装置中的配置信息获取模块410、信息字段获取模块420和容器组更新模块430)。处理器50通过运行存储在存储器51中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的容器组的管理方法。
存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器51可进一步包括相对于处理器50远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器50通过运行存储在存储器51中的指令,从而执行各种功能应用以及数据处理,例如执行以下操作:获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息,所述原始配置信息和更新配置信息分别包括第一数量的原始信息字段和更新信息字段;在所述原始信息字段和更新信息字段中去除预先设定的信息字段,以获取第二数量的原始信息字段和第二数量的更新信息字段,所述第二数量小于所述第一数量;根据所述第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对所述至少一个容器组中的每个容器组进行更新。
在上述各实施例的基础上,处理器50是设置为通过以下方式获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息:获取存储引擎中存储的与当前时间最接近的配置文件,并确定所述配置文件中包含的原始配置信息;获取用户上传的更新配置文件中包含的更新配置信息;其中,所述原始配置信息和所述更新配置信息均是至少两个信息字段的集合。
在上述各实施例的基础上,处理器50是设置为通过以下方式对各容器组进行更新:依次获取一个容器组作为目标容器组,并获取所述目标容器组当前的目标配置信息;去除所述目标配置信息中预先设定的信息字段,以获取第二数量的信息字段作为目标计算信息,并计算所述目标计算信息对应的目标哈希值;当所述第二数量的原始信息字段和所述第二数量的更新信息字段所对应的哈希值相同时,判断所述目标哈希值与所述第二数量的更新信息字段对应哈希值是否相同;如果所述目标哈希值与所述第二数量的更新信息字段对应哈希值相同,则返回执行依次获取一个容器组作为目标容器组的操作;如果所述目标哈希值与所述第二数量的更新信息字段对应哈希值不同,则对所述目标容器组进行可用性报错,并退出。
在上述各实施例的基础上,处理器50是设置为通过以下方式对所述容器组进行更新:当所述第二数量的原始信息字段和所述第二数量的更新信息字段所对应的的哈希值不同时,根据所述目标哈希值、第二数量的原始信息字段和所述更新配置信息对所述目标容器组进行更新;返回执行依次获取一个容器组作为目标容器组的操作。
在上述各实施例的基础上,处理器50是设置为通过以下方式对所述容器组进行更新:如果所述目标哈希值与所述第二数量的原始信息字段对应的哈希值相同,则销毁所述目标容器组,并根据所述更新配置信息重建容器组;如果所述目标哈希值与所述第二数量的原始信息字段以及第二数量的更新信息字段对应的哈希值均不相同,则对所述目标容器组进行报错,并退出。
在上述各实施例的基础上,处理器50是设置为通过以下方式重建容器组:当所述存储引擎中存储有与更新配置信息匹配的容器组构建模板时,根据所述容器组构建模板重建容器组。
在上述各实施例的基础上,处理器50是设置为通过以下方式重建容器组:当所述存储引擎中未存储与更新配置信息匹配的容器组构建模板时,根据所述更新配置信息创建容器组构建模板,并根据所述容器组构建模板重建容器组。
在上述各实施例的基础上,处理器50是设置为通过以下方式获取第二数量的原始信息字段和第二数量的更新信息字段:在所述原始信息字段和更新信息字段中去除镜像字段,获取第二数量的原始信息字段和第二数量的更新信息字段。
实施例六
图6为本发明实施例六提供的一种容器化的集群管理系统的结构示意图,下面结合图6对本发明实施例六提供的一种容器化的集群管理系统进行说明:
容器化的集群管理系统包括:多个容器1、容器组管理组件2;所述多个容器构成至少一个容器组3,一个容器组管理组件2用于管理至少一个容器组3,一个容器管理组件4用于管理至少一个容器1。
所述容器组管理组件2,用于执行本发明任意实施例提供的容器组的管理方法。
其中,容器组管理组件2用于管理至少一个容器组3,主要通过循环检测容器组3对应的配置信息是否与用户提交的更新配置信息相同,在检测到容器组3当前配置信息与用户提交的更新配置信息不同时,对容器组3的配置信息进行更新,具体的,容器组管理组件2首先获取与所管理的容器组3对应的原始配置信息和更新配置信息,其中,原始配置信息和更新配置信息分别包括第一数量的原始信息字段和更新信息字段,进一步的去除原始信息字段和更新信息字段中预先设定的信息字段,得到第二数量的原始信息字段和第二数量的更新信息字段,最终根据同一容器组3第二数量的原始信息字段和第二数量的更新信息字段之间的差异对容器组3进行更新。
示例性的,比较原始配置信息中去除镜像字段得到的第二数量的原始信息字段对应的哈希值与更新配置信息中去除镜像字段得到的第二数量的更新信息字段对应的哈希值是否相同,若二者不同,说明当前容器组3的配置信息与用户期望的配置信息不同,则进行容器组3的销毁和重建。
所述容器管理组件4,用于从与各容器组对应的原始配置信息和更新的配置信息中分别获取与所管理容器对应的第一信息字段和第二信息字段,并根据所述第一信息字段与所述第二信息字段之间的差异,对所管理容器进行更新。
其中,容器管理组件4,用于从各容器组3对应的原始配置信息和更新配置信息中分别获取所管理容器1对应的第一信息字段和第二信息字段,并根据第一信息字段与第二信息字段之间的差异,对所管理容器1进行更新。其中,容器管理组件4用于管理多个容器1,主要通过循环检测其管理的容器1的原始配置信息是否与用户提交的更新配置信息相同,在检测到原始配置信息与用户提交的更新配置信息不同时,需要对当前容器1进行配置信息的更新。具体的,容器管理组件4从各配置信息中分别获取与所管理容器1对应的第一信息字段和第二信息字段,并根据第一信息字段和第二信息字段之间的差异,对所管理的容器1进行更新。其中,第一信息字段和第二信息字段分别是指原始配置信息和更新配置信息中与当前容器管理组件4所管理的容器1对应的信息字段。
示例性的,可以通过比较当前容器管理组件4所管理的容器1对应的配置信息和更新配置信息中该容器1对应配置信息是否相同,若二者不同,说明当前容器1的配置信息与用户期望的配置信息不同,则进行容器1的销毁和重建,也就是说,当容器组3的配置信息中,除第二数量的信息字段之外的其他字段需要进行更新时,不会进行容器组3的销毁和重建,仅通过重建与需要更新的信息字段对应的容器1即可实现配置信息的更新。
可选的,所述容器化的集群管理系统为kubernetes,所述容器组管理组件2为所述kubernetes中的容器控制器、所述容器组3为Pod,所述容器管理组件4为kubelet。
本发明实施例的技术方案,容器化的集群管理系统中包括多个容器、容器组管理组件,容器组管理组件,用于在去除原始信息字段和更新信息字段中预先设定的信息字段,获取到第二数量的原始信息字段和第二数量的更新信息字段后,根据第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对至少一个容器组中的每个容器组进行更新,容器管理组件,用于从与各容器组对应的原始配置信息和更新配置信息中分别获取与所管理容器对应的第一信息字段和第二信息字段,并根据第一信息字段与所述第二信息字段之间的差异,对所管理容器进行更新,解决了现有技术中配置信息一旦发生变化就需要销毁并重建当前容器组的问题,实现了在仅需要更新设定字段信息时,不销毁当前容器组,仅通过更新相应容器实现配置信息更新,减少了不必要的容器组销毁操作。
实施例七
图7为本发明实施例七提供的一种容器化的集群管理系统的结构示意图,下面结合图7对本发明实施例七提供的一种容器化的集群管理系统进行说明:
容器化的集群管理系统包括:由多个节点71构成的节点集群7;每个节点71上分别配置至少一个容器711,各所述容器构成至少一个容器组712;
每个所述节点71,用于从与各容器组712对应的原始配置信息和更新配置信息中分别获取与节点71中配置的容器711对应的第一信息字段和第二信息字段,并根据所述第一信息字段与所述第二信息字段之间的差异,对节点71中配置的容器711进行更新。
其中,每个节点71从各容器组712对应的原始配置信息和更新配置信息中分别获取当前节点上所配置的容器711对应的第一信息字段和第二信息字段,并根据第一信息字段与第二信息字段之间的差异,对所配置的容器711进行更新。其中,每个节点71上配置有多个容器711,并对多个容器711进行管理,主要通过循环检测其管理的容器711的原始配置信息是否与用户提交的更新配置信息相同,在检测到原始配置信息与用户提交的更新配置信息不同时,需要对当前容器711进行配置信息的更新。具体的,每个节点71从各配置信息中分别获取与所管理容器711对应的第一信息字段和第二信息字段,并根据第一信息字段和第二信息字段之间的差异,对所管理的容器711进行更新。其中,第一信息字段和第二信息字段分别是指原始配置信息和更新配置信息中与当前节点71所管理的容器711对应的信息字段。
所述节点集群中的目标节点72,用于执行本发明任意实施例提供的容器组712的管理方法。
其中,节点集群7中的目标节点72是节点集群7中运行有容器组管理组件的节点,目标节点72用于管理至少一个容器组712,主要通过循环检测容器组712对应的配置信息是否与用户提交的更新配置信息相同,在检测到容器组712当前配置信息与用户提交的更新配置信息不同时,对容器组712的配置信息进行更新,具体的,目标节点72首先通过运行容器组管理组件获取与所管理的容器组712对应的原始配置信息和更新配置信息,其中,原始配置信息和更新配置信息分别包括第一数量的原始信息字段和更新信息字段,进一步的去除原始信息字段和更新信息字段中预先设定的信息字段,得到第二数量的原始信息字段和第二数量的更新信息字段,最终根据同一容器组712第二数量的原始信息字段和第二数量的更新信息字段之间的差异对容器组712进行更新。
本发明实施例的技术方案,容器化的集群管理系统中包括由多个节点构成的节点集群,每个节点上分别配置至少一个容器,各容器构成至少一个容器组,其中,每个节点用于从与各容器组对应的原始配置信息和更新配置信息中分别获取与节点中配置的容器对应的第一信息字段和第二信息字段,并根据第一信息字段与第二信息字段之间的差异,对节点中配置的容器进行更新,节点集群中的目标节点,用于在去除原始信息字段和更新信息字段中预先设定的信息字段,获取到第二数量的原始信息字段和第二数量的更新信息字段后,根据第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对至少一个容器组中的每个容器组进行更新,解决了现有技术中配置信息一旦发生变化就需要销毁并重建当前容器组的问题,实现了在仅需要更新设定字段信息时,不销毁当前容器组,仅通过更新相应容器实现配置信息更新,减少了不必要的容器组销毁操作。
实施例八
本发明实施例八还提供一种存储计算机程序的计算机存储介质,所述计算机程序在由计算机处理器执行时用于执行本发明上述实施例任一所述的容器组的管理方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器((Erasable Programmable ReadOnly Memory,EPROM)或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (20)
1.一种容器组的管理方法,其特征在于,包括:
获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息,所述原始配置信息和更新配置信息分别包括第一数量的原始信息字段和更新信息字段;
在所述原始信息字段和更新信息字段中去除预先设定的信息字段,以获取第二数量的原始信息字段和第二数量的更新信息字段,所述第二数量小于所述第一数量;
根据所述第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对所述至少一个容器组中的每个容器组进行更新。
2.根据权利要求1所述的方法,其特征在于,获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息,包括:
获取存储引擎中存储的与当前时间最接近的配置文件,并确定所述配置文件中包含的原始配置信息;
获取用户上传的更新配置文件中包含的更新配置信息;
其中,所述原始配置信息和所述更新配置信息均是至少两个信息字段的集合。
3.根据权利要求1所述的方法,其特征在于,根据所述第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对所述至少一个容器组中的每个容器组进行更新,包括:
依次获取一个容器组作为目标容器组,并获取所述目标容器组当前的目标配置信息;
去除所述目标配置信息中预先设定的信息字段,以获取第二数量的信息字段作为目标计算信息,并计算所述目标计算信息对应的目标哈希值;
当所述第二数量的原始信息字段和所述第二数量的更新信息字段所对应的哈希值相同时,判断所述目标哈希值与所述第二数量的更新信息字段对应哈希值是否相同;
如果所述目标哈希值与所述第二数量的更新信息字段对应哈希值相同,则返回执行依次获取一个容器组作为目标容器组的操作;
如果所述目标哈希值与所述第二数量的更新信息字段对应哈希值不同,则对所述目标容器组进行可用性报错,并退出。
4.根据权利要求3所述的方法,其特征在于,在计算所述目标计算信息对应的目标哈希值之后,还包括:
当所述第二数量的原始信息字段和所述第二数量的更新信息字段所对应的的哈希值不同时,根据所述目标哈希值、第二数量的原始信息字段和所述更新配置信息对所述目标容器组进行更新;
返回执行依次获取一个容器组作为目标容器组的操作。
5.根据权利要求4所述的方法,其特征在于,根据所述目标哈希值、第二数量的原始信息字段和所述更新配置信息对所述目标容器组进行更新,包括:
如果所述目标哈希值与所述第二数量的原始信息字段对应的哈希值相同,则销毁所述目标容器组,并根据所述更新配置信息重建容器组;
如果所述目标哈希值与所述第二数量的原始信息字段以及第二数量的更新信息字段对应的哈希值均不相同,则对所述目标容器组进行报错,并退出。
6.根据权利要求5所述的方法,其特征在于,根据所述更新配置信息重建容器组,包括:
当所述存储引擎中存储有与更新配置信息匹配的容器组构建模板时,根据所述容器组构建模板重建容器组。
7.根据权利要求5所述的方法,其特征在于,根据更新配置信息重建容器组,包括:
当所述存储引擎中未存储与更新配置信息匹配的容器组构建模板时,根据所述更新配置信息创建容器组构建模板,并根据所述容器组构建模板重建容器组。
8.根据权利要求1所述的方法,其特征在于,在所述原始信息字段和更新信息字段中去除预先设定的信息字段,以获取第二数量的原始信息字段和第二数量的更新信息字段,包括:
在所述原始信息字段和更新信息字段中去除镜像字段,获取第二数量的原始信息字段和第二数量的更新信息字段。
9.一种计算机设备,包括:包括处理器和存储器,所述存储器用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
获取与至少一个容器组中的每个容器组对应的原始配置信息和更新配置信息,所述原始配置信息和更新配置信息分别包括第一数量的原始信息字段和更新信息字段;
在所述原始信息字段和更新信息字段中去除预先设定的信息字段,以获取第二数量的原始信息字段和第二数量的更新信息字段,所述第二数量小于所述第一数量;
根据所述第二数量的原始信息字段和第二数量的更新信息字段之间的差异,对所述至少一个容器组中的每个容器组进行更新。
10.根据权利要求9所述的计算机设备,其特征在于,所述处理器是设置于通过以下方式获取与各容器组对应的原始配置信息和更新配置信息:
获取存储引擎中存储的与当前时间最接近的配置文件,并确定所述配置文件中包含的原始配置信息;
获取用户上传的更新配置文件中包含的更新配置信息;
其中,所述原始配置信息和所述更新配置信息均是至少两个信息字段的集合。
11.根据权利要求9所述的计算机设备,其特征在于,所述处理器是设置于通过以下方式对所述容器组进行更新:
依次获取一个容器组作为目标容器组,并获取所述目标容器组当前的目标配置信息;
去除所述目标配置信息中预先设定的信息字段,以获取第二数量的信息字段作为目标计算信息,并计算所述目标计算信息对应的目标哈希值;
当所述第二数量的原始信息字段和所述第二数量的更新信息字段所对应的哈希值相同时,判断所述目标哈希值与所述第二数量的更新信息字段对应哈希值是否相同;
如果所述目标哈希值与所述第二数量的更新信息字段对应哈希值相同,则返回执行依次获取一个容器组作为目标容器组的操作;
如果所述目标哈希值与所述第二数量的更新信息字段对应哈希值不同,则对所述目标容器组进行可用性报错,并退出。
12.根据权利要求11所述的计算机设备,其特征在于,所述处理器是设置于通过以下方式对所述目标容器组进行更新:
当所述第二数量的原始信息字段和所述第二数量的更新信息字段所对应的的哈希值不同时,根据所述目标哈希值、第二数量的原始信息字段和所述更新配置信息对所述目标容器组进行更新;
返回执行依次获取一个容器组作为目标容器组的操作。
13.根据权利要求12所述的计算机设备,其特征在于,所述处理器是设置于通过以下方式对所述目标容器组进行更新:
如果所述目标哈希值与所述第二数量的原始信息字段对应的哈希值相同,则销毁所述目标容器组,并根据所述更新配置信息重建容器组;
如果所述目标哈希值与所述第二数量的原始信息字段以及第二数量的更新信息字段对应的哈希值均不相同,则对所述目标容器组进行报错,并退出。
14.根据权利要求13所述的计算机设备,其特征在于,所述处理器是设置于通过以下方式重建容器组:
当所述存储引擎中存储有与更新配置信息匹配的容器组构建模板时,根据所述容器组构建模板重建容器组。
15.根据权利要求13所述的计算机设备,其特征在于,所述处理器是设置于通过以下方式重建容器组:
当所述存储引擎中未存储与更新配置信息匹配的容器组构建模板时,根据所述更新配置信息创建容器组构建模板,并根据所述容器组构建模板重建容器组。
16.根据权利要求9所述的计算机设备,其特征在于,所述处理器是设置于通过以下方式获取第二数量的原始信息字段和第二数量的更新信息字段:
在所述原始信息字段和更新信息字段中去除镜像字段,获取第二数量的原始信息字段和第二数量的更新信息字段。
17.一种容器化的集群管理系统,其特征在于,包括:多个容器、容器组管理组件;所述多个容器构成至少一个容器组,一个容器组管理组件用于管理至少一个容器组,一个容器管理组件用于管理至少一个容器;
所述容器组管理组件,用于执行如权利要求1-8任一项所述的容器组的管理方法;
所述容器管理组件,用于从与各容器组对应的原始配置信息和更新配置信息中分别获取与所管理容器对应的第一信息字段和第二信息字段,并根据所述第一信息字段与所述第二信息字段之间的差异,对所管理容器进行更新。
18.根据权利要求17所述的系统,其特征在于:
所述容器化的集群管理系统为kubernetes,所述容器组管理组件为所述kubernetes中的容器控制器、所述容器组为Pod,所述容器管理组件为kubelet。
19.一种容器化的集群管理系统,其特征在于,包括由多个节点构成的节点集群;每个节点上分别配置至少一个容器,各所述容器构成至少一个容器组;
每个所述节点,用于从与各容器组对应的原始配置信息和更新配置信息中分别获取与节点中配置的容器对应的第一信息字段和第二信息字段,并根据所述第一信息字段与所述第二信息字段之间的差异,对节点中配置的容器进行更新;
所述节点集群中的目标节点,用于执行如权利要求1-8任一项所述的容器组的管理方法。
20.一种存储介质,所述存储介质用于存储指令,所述指令用于执行如权利要求1-8中任一所述的容器组的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010332240.7A CN111552494B (zh) | 2020-04-24 | 2020-04-24 | 一种容器组的管理方法、设备、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010332240.7A CN111552494B (zh) | 2020-04-24 | 2020-04-24 | 一种容器组的管理方法、设备、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111552494A true CN111552494A (zh) | 2020-08-18 |
CN111552494B CN111552494B (zh) | 2021-05-11 |
Family
ID=72007599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010332240.7A Active CN111552494B (zh) | 2020-04-24 | 2020-04-24 | 一种容器组的管理方法、设备、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552494B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905197A (zh) * | 2020-11-23 | 2021-06-04 | 京东数字科技控股股份有限公司 | 一种信息处理方法、装置、系统、电子设备及存储介质 |
US11693649B2 (en) | 2021-04-06 | 2023-07-04 | International Business Machines Corporation | Autonomous Kubernetes operator creation and management |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107515776A (zh) * | 2017-07-18 | 2017-12-26 | 深信服科技股份有限公司 | 业务不间断升级方法、待升级节点和可读存储介质 |
CN108572845A (zh) * | 2018-03-15 | 2018-09-25 | 华为技术有限公司 | 分布式微服务集群的升级方法及相关系统 |
CN108683516A (zh) * | 2018-03-14 | 2018-10-19 | 聚好看科技股份有限公司 | 一种应用实例的升级方法、装置和系统 |
CN108881455A (zh) * | 2018-06-28 | 2018-11-23 | 西北工业大学 | 低容量存储节点的异构云存储系统中数据封装与传输方法 |
CN109120678A (zh) * | 2018-07-26 | 2019-01-01 | 北京百度网讯科技有限公司 | 用于分布式存储系统的服务托管的方法和装置 |
US20190171650A1 (en) * | 2017-12-01 | 2019-06-06 | Chavdar Botev | System and method to improve data synchronization and integration of heterogeneous databases distributed across enterprise and cloud using bi-directional transactional bus of asynchronous change data system |
CN110012088A (zh) * | 2019-03-29 | 2019-07-12 | 山东浪潮云信息技术有限公司 | 一种基于Kubernets的Redis主从集群自动化部署方案 |
CN110166278A (zh) * | 2019-04-09 | 2019-08-23 | 平安科技(深圳)有限公司 | Kubernetes集群搭建方法、装置、计算机设备及存储介质 |
CN110502244A (zh) * | 2019-07-11 | 2019-11-26 | 新华三大数据技术有限公司 | 部署Kubernetes集群的方法及装置 |
CN110569109A (zh) * | 2019-09-11 | 2019-12-13 | 广州虎牙科技有限公司 | 容器更新方法、控制节点及边缘节点 |
-
2020
- 2020-04-24 CN CN202010332240.7A patent/CN111552494B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107515776A (zh) * | 2017-07-18 | 2017-12-26 | 深信服科技股份有限公司 | 业务不间断升级方法、待升级节点和可读存储介质 |
US20190171650A1 (en) * | 2017-12-01 | 2019-06-06 | Chavdar Botev | System and method to improve data synchronization and integration of heterogeneous databases distributed across enterprise and cloud using bi-directional transactional bus of asynchronous change data system |
CN108683516A (zh) * | 2018-03-14 | 2018-10-19 | 聚好看科技股份有限公司 | 一种应用实例的升级方法、装置和系统 |
CN108572845A (zh) * | 2018-03-15 | 2018-09-25 | 华为技术有限公司 | 分布式微服务集群的升级方法及相关系统 |
CN108881455A (zh) * | 2018-06-28 | 2018-11-23 | 西北工业大学 | 低容量存储节点的异构云存储系统中数据封装与传输方法 |
CN109120678A (zh) * | 2018-07-26 | 2019-01-01 | 北京百度网讯科技有限公司 | 用于分布式存储系统的服务托管的方法和装置 |
CN110012088A (zh) * | 2019-03-29 | 2019-07-12 | 山东浪潮云信息技术有限公司 | 一种基于Kubernets的Redis主从集群自动化部署方案 |
CN110166278A (zh) * | 2019-04-09 | 2019-08-23 | 平安科技(深圳)有限公司 | Kubernetes集群搭建方法、装置、计算机设备及存储介质 |
CN110502244A (zh) * | 2019-07-11 | 2019-11-26 | 新华三大数据技术有限公司 | 部署Kubernetes集群的方法及装置 |
CN110569109A (zh) * | 2019-09-11 | 2019-12-13 | 广州虎牙科技有限公司 | 容器更新方法、控制节点及边缘节点 |
Non-Patent Citations (4)
Title |
---|
LEILA ABDOLLAHI VAYGHAN 等: ""Deploying Microservice Based Applications with Kubernetes: Experiments and Lessons Learned"", 《2018 IEEE 11TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING (CLOUD)》 * |
WALTON: ""如何在Kubernetes中实现容器原地升级"", 《HTTPS://CLOUD.TENCENT.COM/DEVELOPER/ARTICLE/1413743》 * |
散尽浮华: ""Kubernetes之Pod学习"", 《HTTPS://WWW.CNBLOGS.COM/KEVINGRACE/P/11309409.HTML》 * |
王阳: ""基于微服务架构的云容器管理系统设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905197A (zh) * | 2020-11-23 | 2021-06-04 | 京东数字科技控股股份有限公司 | 一种信息处理方法、装置、系统、电子设备及存储介质 |
US11693649B2 (en) | 2021-04-06 | 2023-07-04 | International Business Machines Corporation | Autonomous Kubernetes operator creation and management |
Also Published As
Publication number | Publication date |
---|---|
CN111552494B (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108270726B (zh) | 应用实例部署方法及装置 | |
US11442830B2 (en) | Establishing and monitoring programming environments | |
US9400767B2 (en) | Subgraph-based distributed graph processing | |
CN108243012B (zh) | 在线计费系统ocs中计费应用处理系统、方法及装置 | |
US11423343B2 (en) | Dynamic construction of cloud services | |
CN109117252B (zh) | 基于容器的任务处理的方法、系统及容器集群管理系统 | |
US9292278B2 (en) | Providing high availability for state-aware applications | |
CN104423960A (zh) | 一种项目持续集成的方法及系统 | |
CN113220431B (zh) | 跨云的分布式数据任务调度方法、设备及存储介质 | |
CN109298924B (zh) | 定时任务的管理方法、计算机可读存储介质和终端设备 | |
US9355106B2 (en) | Sensor data locating | |
CN111552494B (zh) | 一种容器组的管理方法、设备、系统及介质 | |
US20140195861A1 (en) | Implementing rate controls to limit timeout-based faults | |
CN105653261A (zh) | 基于云计算环境下的开发集成测试方法及系统 | |
CN111190732A (zh) | 定时任务处理系统及方法、存储介质和电子设备 | |
Otte et al. | Efficient and deterministic application deployment in component-based enterprise distributed real-time and embedded systems | |
CN111338834B (zh) | 数据存储方法和装置 | |
CN113468143A (zh) | 数据迁移方法、系统、计算设备及存储介质 | |
WO2021257263A1 (en) | Techniques for generating a consistent view of an eventually consistent database | |
CN111444148B (zh) | 基于MapReduce的数据传输方法和装置 | |
CN112631727B (zh) | 一种容器组pod的监控方法及装置 | |
CN114969199A (zh) | 遥感数据的处理方法、装置、系统以及存储介质 | |
CN111400243B (zh) | 基于流水线服务的研发管理系统以及文件存储方法、装置 | |
González et al. | HerdMonitor: monitoring live migrating containers in cloud environments | |
GB2542585A (en) | Task scheduler and task scheduling process |
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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Wu Yucheng Inventor after: Bian Yu Inventor after: Wang Tianqing Inventor before: Wu Yucheng |
|
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 200233 11-12 / F, building B, 88 Hongcao Road, Xuhui District, Shanghai Applicant after: Star link information technology (Shanghai) Co.,Ltd. Address before: 200233 11-12 / F, building B, 88 Hongcao Road, Xuhui District, Shanghai Applicant before: TRANSWARP TECHNOLOGY (SHANGHAI) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |