CN112698916B - 一种多容器集群的管控系统、方法以及存储介质 - Google Patents

一种多容器集群的管控系统、方法以及存储介质 Download PDF

Info

Publication number
CN112698916B
CN112698916B CN202011640750.7A CN202011640750A CN112698916B CN 112698916 B CN112698916 B CN 112698916B CN 202011640750 A CN202011640750 A CN 202011640750A CN 112698916 B CN112698916 B CN 112698916B
Authority
CN
China
Prior art keywords
cluster
container cluster
programming interface
application programming
leaf
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.)
Active
Application number
CN202011640750.7A
Other languages
English (en)
Other versions
CN112698916A (zh
Inventor
张连祥
宁志明
周涛
夏曙东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing China Transinfo Stock Co ltd
Original Assignee
Beijing China Transinfo Stock Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing China Transinfo Stock Co ltd filed Critical Beijing China Transinfo Stock Co ltd
Priority to CN202011640750.7A priority Critical patent/CN112698916B/zh
Publication of CN112698916A publication Critical patent/CN112698916A/zh
Application granted granted Critical
Publication of CN112698916B publication Critical patent/CN112698916B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种多容器集群的管控系统、方法以及存储介质,该系统包括:应用程序编程接口网关,用于提供针对叶子容器集群操作的应用程序编程接口;工作负载集群控制器,用于从应用程序接口网关中接收针对叶子容器集群操作指令,并对操作指令对应的操作信息进行实例化;部署器,用于执行工作负载集群控制器实例化后的操作信息;其中,应用程序编程接口网关、工作负载集群控制器以及部署器依次通信连接。因此,采用本申请实施例,可以简化大量容器集群的运维管控,为管控叶子容器集群的入口进一步管理叶子容器集群上主机、容器、日志、健康及告警信息,从而提升了管理效率。

Description

一种多容器集群的管控系统、方法以及存储介质
技术领域
本发明涉及软件技术领域,特别涉及一种多容器集群的管控系统、方法以及存储介质。
背景技术
目前随着互联网的广泛深入应用,软件系统的应用也不断深入。软件系统通常随着业务的变化不断扩大,为了提高系统的性能使用高可用集群模式是解决性能的一种方式,但是,在使用容器集群过程中,通常需要大量具有不同功能和角色的集群,实施人员创建这些集群可通过部署安装器部署。
现有技术中,实施人员当向这些集群中部署相同的app应用系统时,需要重复多次完成在这些集群上的部署。当要查看这些集群或其上运行的app系统状态时,同样需要重复多次相同的操作。由于这些孤立的集群它们之间并不存在关系,从而给管理和运维这些分散的集群和其上的app应用带来很大负担,进一步提升了分散集群的管理难度。
因此,如何找到一种有效的方法,实现降低分散集群的管理难度为亟待解决的问题。
发明内容
本申请实施例提供了一种多容器集群的管控系统、方法以及存储介质。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
第一方面,本申请实施例提供了一种多容器集群的管控系统,多容器集群包括根容器集群和多个叶子容器集群,多容器集群的管控系统部署在根容器集群内,系统包括:
应用程序编程接口网关,用于提供针对叶子容器集群操作的应用程序编程接口;
工作负载集群控制器,用于从应用程序接口网关中接收针对叶子容器集群操作指令,并对操作指令对应的操作信息进行实例化;
部署器,用于执行工作负载集群控制器实例化后的操作信息;
其中,应用程序编程接口网关、工作负载集群控制器以及部署器依次通信连接。
可选的,应用程序编程接口网关还可以选用应用程序编程接口服务器;
工作负载集群控制器,还用于启动部署器。
第二方面,本申请实施例提供了一种多容器集群的管控方法,应用于应用程序编程接口网关,方法包括:
初始化根容器集群的应用程序编程接口网关;
当接收到操作请求时,解析操作请求生成解析后的操作信息;
当解析后的操作信息为针对叶子容器集群的操作请求时,将解析后的操作信息中包含的针对叶子容器集群部署的资源实例插入key-value分布式数据库;或者,
当解析后的操作请求不为针对叶子容器集群的操作请求时,将操作请求包含的信息进行转发。
第三方面,本申请实施例提供了一种多容器集群的管控方法,应用于工作负载集群控制器,方法包括:
初始化根容器集群的工作负载集群控制器;
当监听到针对叶子容器集群的操作信息时,从key-value分布式数据库中获取针对叶子容器集群部署的资源实例;
根据资源实例中记录的事件信息启动部署器,并将事件信息以环境变量的方式注入至部署器;
其中,事件信息包括针对叶子容器集群的创建、删除与节点的添加、删除操作。
第四方面,本申请实施例提供了一种多容器集群的管控方法,应用于部署器,方法包括:
启动后获取工作负载集群控制器针对部署器注入的环境变量;
根据注入的环境变量执行部署程序,生成执行结果;
将执行结果反馈至启动后的应用程序编程接口网关。
第五方面,本申请实施例提供了一种多容器集群的管控方法,应用于部署器,方法包括:
获取根容器集群的应用程序编程接口网关的启动参数与工作负载集群控制器的启动参数;
基于启动参数启动应用程序编程接口网关和工作负载集群控制器;
初始化根容器集群的应用程序编程接口网关与工作负载集群控制器;
接收并解析发送至初始化后的应用程序编程接口网关对应的操作请求;
当解析后的操作请求为针对叶子容器集群的操作请求时,将操作请求中包含的针对叶子容器集群部署的资源实例插入key-value分布式数据库;或者,
当解析后的操作请求不为针对叶子容器集群的操作请求时,将操作请求包含的信息进行转发;
当初始化后的工作负载集群控制器监听到针对叶子容器集群的操作信息时,基于初始化后的工作负载集群控制器从key-value分布式数据库中获取针对叶子容器集群部署的资源实例;
基于初始化后的工作负载集群控制器与资源实例中记录的事件信息启动部署器,并将事件信息以环境变量的方式注入至部署器;
根据启动后的部署器与注入的环境变量进行执行,生成执行后的结果;
根据启动后的部署器将执行后的结果反馈至启动后的应用程序编程接口网关。
可选的,初始化根容器集群的应用程序编程接口网关与工作负载集群控制器,包括:
当初始化根容器集群的应用程序编程接口网关时,获取根容器集群证书,并根据根容器集群证书访问根容器集群来获取根容器集群所管理的叶子容器集群资源实例信息;
或者,
当初始化工作负载集群控制器时,针对key-value分布式数据库进行监听。
第六方面,本申请实施例提供一种计算机存储介质,计算机存储介质存储有多条指令,指令适于由处理器加载并执行上述的方法步骤。
本申请实施例提供的技术方案可以包括以下有益效果:
在本申请实施例中,多容器集群的管控系统首先在系统组件应用程序编程接口网关和工作负载集群控制器初始化完成后,再开始接收请求指令,指令包括对叶子容器集群的创建、对叶子容器集群添加删除节点、查看叶子容器集群信息等,工作负载集群控制器接收到指令后,构建对此叶子容器集群的控制信息,并且工作负载集群控制器存储此叶子容器集群的相关信息,以便部署器返回结果后能够识别此叶子容器集群,同时工作负载集群控制器启动部署器并执行具体操作。由于本申请通过一个根容器集群管理叶子容器集群的生命周期,从而可以简化大量容器集群的运维管控,为管控叶子容器集群的入口进一步管理叶子容器集群上主机、容器、日志、健康及告警信息,从而提升了管理效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是本申请实施例提供的一种多容器集群的管控系统的系统示意图;
图2是本申请实施例提供的一种多容器集群的管控方法的流程示意图;
图3是本申请实施例提供的一种ApiGateway信息路由流程框图;
图4是本申请实施例提供的另一种多容器集群的管控方法的流程示意图;
图5是本申请实施例提供的另一种多容器集群的管控方法的流程示意图;
图6是本申请实施例提供的一种部署器Installer运行流程框图;
图7是本申请实施例提供的另一种多容器集群的管控方法的流程示意图;
图8是本申请实施例提供的一种利用多容器集群的管控过程的过程示意框图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本发明的一些方面相一致的系统和方法的例子。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请提供了一种多容器集群的管控系统、方法以及存储介质,以解决上述相关技术问题中存在的问题。本申请提供的技术方案中,在本申请实施例中,由于本申请通过一个根容器集群管理叶子容器集群的生命周期,从而可以简化大量容器集群的运维管控,为管控叶子容器集群的入口进一步管理叶子容器集群上主机、容器、日志、健康及告警信息,从而提升了管理效率,下面采用示例性的实施例进行详细说明。
请参见图1,图1是本申请实施例提供的一种多容器集群的管控系统示意图,该系统包括:
应用程序编程接口网关,用于提供针对叶子容器集群操作的应用程序编程接口;
工作负载集群控制器,用于从应用程序接口网关中接收针对叶子容器集群操作指令,并对操作指令对应的操作信息进行实例化;
部署器,用于执行工作负载集群控制器实例化后的操作信息;
其中,应用程序编程接口网关、工作负载集群控制器以及部署器依次通信连接。
进一步地,多容器集群包括根容器集群和多个叶子容器集群,多容器集群的管控系统部署在根容器集群内。
进一步地,应用程序编程接口网关还可以选用应用程序编程接口服务器;工作负载集群控制器,还用于启动部署器。
在本申请实施例中,多容器集群的管控系统首先在系统组件应用程序编程接口网关和工作负载集群控制器初始化完成后,再开始接收请求指令,指令包括对叶子容器集群的创建、对叶子容器集群添加删除节点、查看叶子容器集群信息等,工作负载集群控制器接收到指令后,构建对此叶子容器集群的控制信息,并且工作负载集群控制器存储此叶子容器集群的相关信息,以便部署器返回结果后能够识别此叶子容器集群,同时工作负载集群控制器启动部署器并执行具体操作。由于本申请通过一个根容器集群管理叶子容器集群的生命周期,从而可以简化大量容器集群的运维管控,为管控叶子容器集群的入口进一步管理叶子容器集群上主机、容器、日志、健康及告警信息,从而提升了管理效率。
下面将结合附图2-附图8,对本申请实施例提供的多容器集群的管控方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的多容器集群的管控装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
请参见图2,为本申请实施例提供了一种多容器集群的管控方法的流程示意图,应用于应用程序编程接口网关。如图2所示,本申请实施例的方法可以包括以下步骤:
S201,初始化根容器集群的应用程序编程接口网关;
其中,应用程序编程接口网关(ApiGateway)是用来提供针对叶子容器集群操作的应用程序编程接口(API)的组件。
通常,系统开始接收来自用户的请求指令时,具体可以调用ApiGateway提供的API发送指令。
在一种可能的实现方式中,ApiGateway在初始化过程中,首先获取根容器集群证书,并根据根容器集群证书访问根容器集群来获取根容器集群所管理的叶子容器集群资源实例信息。
S202,当接收到操作请求时,解析操作请求生成解析后的操作信息;
其中,操作请求是来自用户触发生成的请求,例如用户通过触发多容器集群的管控系统中的功能后生成请求,触发的请求时针对叶子容器集群的具体操作,例如针对叶子容器集群的创建、删除与节点的添加、删除操作。
在一种可能的实现方式中,用户打开多容器集群的管控系统,通过多容器集群的管控系统触发控制叶子容器集群的指令,该指令被ApiGateway所接收,接收后ApiGateway解析该指令中的信息后生成解析后的操作信息,该解析后的操作信息为针对叶子容器集群的具体操作。
S203,当解析后的操作信息为针对叶子容器集群的操作请求时,将解析后的操作信息中包含的针对叶子容器集群部署的资源实例插入key-value分布式数据库;或者,当解析后的操作请求不为针对叶子容器集群的操作请求时,将操作请求包含的信息进行转发。
通常,请求以Representational State Transfer方式设计,请求中有具体的操作对象和操作信息,ApiGateway根据请求的信息分析得出要做何种操作,如果是对叶子容器集群创建、删除和添加删除节点操作,就将此操作的信息写入key-value分布式数据库。如果是获取已存在叶子容器集群的监控、日志等信息,则ApiGateway将请求转发给已存在的叶子容器集群,由对应的的叶子容器集群处理。
在一种可能的实现方式中,首先根据ApiGateway初始化参数启动ApiGateway组件,再接收发向ApiGateway的请求,判定该请求的类型,根据该请求的类型选择相应的应用程序编程接口进行处理,应用程序编程接口例如附图3中相应的应用程序编程接口(API)进行处理。(例如对叶子容器集群日志的操作API、针对叶子容器集群监控的API,针对叶子容器集群告警的API等等)。
如果该请求是对叶子容器集群部署的操作(包括对叶子容器集群创建、删除和添加删除节点操作),将部署叶子容器集群的资源实例插入key-value分布式数据库。或者如果是对叶子容器集群的日志、监控、告警等操作,根据该请求所表示的信息转发给如附图3中所示相应的api做处理。
具体的,如图3所示,是本申请关于ApiGateway API的设计,共分五大类,分别是当前根容器集群所管理的叶子容器集群信息;叶子容器集群中容器相关资源的管理入口;日志、监控和告警的管理入口。包括:
A1.ApiGateway中关于记录在根容器集群中关于叶子容器集群信息的api集合(该类API也是部署叶子容器集群时访问的API集合)。
A2.ApiGateway中关于访问叶子容器集群中资源(包括容器、部署、服务)的api集合。
A3.ApiGateway中关于访问叶子容器集群日志资源的api集合。
A4.ApiGateway中关于访问叶子容器集群监控信息的api集合。
A5.ApiGateway中关于访问叶子容器集群告警信息的api集合。
进一步地,应用程序编程接口网关(ApiGateway)还可以使用应用程序编程接口服务器(API Server)。本申请优选ApiGateway。
在本申请实施例中,多容器集群的管控系统首先在系统组件应用程序编程接口网关和工作负载集群控制器初始化完成后,再开始接收请求指令,指令包括对叶子容器集群的创建、对叶子容器集群添加删除节点、查看叶子容器集群信息等,工作负载集群控制器接收到指令后,构建对此叶子容器集群的控制信息,并且工作负载集群控制器存储此叶子容器集群的相关信息,以便部署器返回结果后能够识别此叶子容器集群,同时工作负载集群控制器启动部署器并执行具体操作。由于本申请通过一个根容器集群管理叶子容器集群的生命周期,从而可以简化大量容器集群的运维管控,为管控叶子容器集群的入口进一步管理叶子容器集群上主机、容器、日志、健康及告警信息,从而提升了管理效率。
请参见图4,为本申请实施例提供了一种多容器集群的管控方法的流程示意图,应用于工作负载集群控制器。如图4所示,本申请实施例的方法可以包括以下步骤:
S301,初始化根容器集群的工作负载集群控制器;
其中,工作负载集群控制器(WcController)是用来接收针对叶子容器集群操作指令,并对操作指令对应的操作信息进行实例化的组件。
通常,WcController主要功能就是管理叶子容器集群的生命周期。
WcController初始化过程中做了对key-value分布式数据的定时任务,用来对特定事件进行监听,一旦有对叶子容器集群的操作消息便可及时获取,获取具体操作信息后进行实例化WorkerloadClusterSpec(一种代码结构体,用于存储叶子容器集群的配置信息)中的信息,并写入key-value分布式数据库。然后启动Installer部署器。由于Installer部署器是通过在根集群中以容器的方式运行,所以可以通过并行的方式新建大量叶子容器集群,在Installer完成后,会将本次操作的结果返回给ApiGateway,以更新请求的结果。
在一种可能的实现方式中,在对WcController进行初始化时,需要进行对key-value分布式数据库的定时任务(watch),实时监听来自于key–value数据库的关于叶子容器集群的事件信息。
S302,当监听到针对叶子容器集群的操作信息时,从key-value分布式数据库中获取针对叶子容器集群部署的资源实例;
S303,根据资源实例中记录的事件信息启动部署器,并将事件信息以环境变量的方式注入至部署器;其中,事件信息包括针对叶子容器集群的创建、删除与节点的添加、删除操作。
在一种可能的实现方式中,首先根据启动参数初始化WcController组件,然后从key-value分布式数据库中获取叶子容器集群实例事件,最后根据实例中记录的事件信息,并将事件信息以环境变量的方式注入至部署器(事件信息是对叶子容器集群部署的操作,包括对叶子容器集群创建、删除和添加删除节点操作)。
在本申请实施例中,多容器集群的管控系统首先在系统组件应用程序编程接口网关和工作负载集群控制器初始化完成后,再开始接收请求指令,指令包括对叶子容器集群的创建、对叶子容器集群添加删除节点、查看叶子容器集群信息等,工作负载集群控制器接收到指令后,构建对此叶子容器集群的控制信息,并且工作负载集群控制器存储此叶子容器集群的相关信息,以便部署器返回结果后能够识别此叶子容器集群,同时工作负载集群控制器启动部署器并执行具体操作。由于本申请通过一个根容器集群管理叶子容器集群的生命周期,从而可以简化大量容器集群的运维管控,为管控叶子容器集群的入口进一步管理叶子容器集群上主机、容器、日志、健康及告警信息,从而提升了管理效率。
请参见图5,为本申请实施例提供了一种多容器集群的管控方法的流程示意图,应用于部署器。如图5所示,本申请实施例的方法可以包括以下步骤:
S401,启动后获取工作负载集群控制器针对部署器注入的环境变量;
例如图6所示,图6是部署器(Installer)的执行流程图。WcController收到监听的对叶子容器集群操作的消息后,便会启动Installer,再通过环境变量获取WcController配置的任务参数,再初始化Installer执行器的环境,再根据Installer部署器所在的容器和叶子容器集群主机间使用的网络联通方式做相应准备,执行安装程序,最后将部署结果返回。
S402,根据注入的环境变量执行部署程序,生成执行结果;
S403,将执行结果反馈至启动后的应用程序编程接口网关。
在一种可能的实现方式中,首先根容器集群通过容器方式启动Installer部署器,再通过Installer中的部署程序获取WcController注入给Installer的环境变量(环境变量是指操作叶子集群的信息),并将这些环境变量对部署程序可见,然后根据获得的参数(这里的参数既包含叶子集群的信息,同时也包含部署程序的控制信息)执行部署程序,最后将执行结果反馈给ApiGateway。
在本申请实施例中,多容器集群的管控系统首先在系统组件应用程序编程接口网关和工作负载集群控制器初始化完成后,再开始接收请求指令,指令包括对叶子容器集群的创建、对叶子容器集群添加删除节点、查看叶子容器集群信息等,工作负载集群控制器接收到指令后,构建对此叶子容器集群的控制信息,并且工作负载集群控制器存储此叶子容器集群的相关信息,以便部署器返回结果后能够识别此叶子容器集群,同时工作负载集群控制器启动部署器并执行具体操作。由于本申请通过一个根容器集群管理叶子容器集群的生命周期,从而可以简化大量容器集群的运维管控,为管控叶子容器集群的入口进一步管理叶子容器集群上主机、容器、日志、健康及告警信息,从而提升了管理效率。
请参见图7,为本申请实施例提供了一种多容器集群的管控方法的流程示意图。如图7所示,本申请实施例的方法可以包括以下步骤:
S101,获取根容器集群的应用程序编程接口网关的启动参数与工作负载集群控制器的启动参数;
S102,基于启动参数启动应用程序编程接口网关和工作负载集群控制器;
S103,初始化根容器集群的应用程序编程接口网关与工作负载集群控制器;
S104,接收并解析发送至初始化后的应用程序编程接口网关对应的操作请求;
S105,当解析后的操作请求为针对叶子容器集群的操作请求时,将操作请求中包含的针对叶子容器集群部署的资源实例插入key-value分布式数据库;或者,当解析后的操作请求不为针对叶子容器集群的操作请求时,将操作请求包含的信息进行转发;
S106,当初始化后的工作负载集群控制器监听到针对叶子容器集群的操作信息时,基于初始化后的工作负载集群控制器从key-value分布式数据库中获取针对叶子容器集群部署的资源实例;
S107,基于初始化后的工作负载集群控制器与资源实例中记录的事件信息启动部署器,并将事件信息以环境变量的方式注入至部署器;
S108,根据启动后的部署器与注入的环境变量进行执行,生成执行后的结果;
S109,根据启动后的部署器将执行后的结果反馈至启动后的应用程序编程接口网关。
例如图8所示,图8是本申请的多容器集群的管控系统控制过程示意框图。该框图中选用ApiServer组件和WcController组件为例进行说明,首先APIserver初始化,初始化过程中获取根容器集群证书,并根据根容器集群证书访问根容器集群来获取根容器集群所管理的叶子容器集群资源实例信息,再对WcController进行初始化,包括针对key-value分布式数据库进行watch后,监听来自于key–value数据库的关于叶子容器集群的事件信息,然后ApiGateway当接收到请求时,解析该请求信息,判定该请求信息是否是对叶子容器集群部署的操作,如是,则将该请求信息中包含的针对叶子容器集群部署的资源实例插入key-value分布式数据库;若否,则将该请求信息转发至其所指示的API接口,执行相应的操作,比如对各叶子容器集群的日志、监控和告警的管理操作。
WcController当监听到来自分布式数据库关于叶子容器集群事件信息时,获取该事件信息,同时WcController存储此叶子集群的相关信息,以便installer反馈操作结果后,便于识别该叶子集群信息。Wccontroller启动设置于根集群中的installer程序,installer以容器的方式运行于根集群中,installer根据WcController的指令对相应的叶子集群进行部署,并将结果反馈至APIgateway,更新该执行结果。
在本申请实施例中,多容器集群的管控系统首先在系统组件应用程序编程接口网关和工作负载集群控制器初始化完成后,再开始接收请求指令,指令包括对叶子容器集群的创建、对叶子容器集群添加删除节点、查看叶子容器集群信息等,工作负载集群控制器接收到指令后,构建对此叶子容器集群的控制信息,并且工作负载集群控制器存储此叶子容器集群的相关信息,以便部署器返回结果后能够识别此叶子容器集群,同时工作负载集群控制器启动部署器并执行具体操作。由于本申请通过一个根容器集群管理叶子容器集群的生命周期,从而可以简化大量容器集群的运维管控,为管控叶子容器集群的入口进一步管理叶子容器集群上主机、容器、日志、健康及告警信息,从而提升了管理效率。
本发明还提供一种计算机可读介质,其上存储有程序指令,该程序指令被处理器执行时实现上述各个方法实施例提供的多容器集群的管控方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (8)

1.一种多容器集群的管控系统,其特征在于,所述多容器集群包括根容器集群和多个叶子容器集群,所述多容器集群的管控系统部署在所述根容器集群内,所述系统包括:
应用程序编程接口网关,用于提供针对所述叶子容器集群操作的应用程序编程接口;
工作负载集群控制器,用于从所述应用程序编程接口网关中接收针对所述叶子容器集群操作指令,并对所述操作指令对应的操作信息进行实例化;
部署器,用于执行所述工作负载集群控制器实例化后的操作信息;
其中,所述应用程序编程接口网关、工作负载集群控制器以及部署器依次通信连接。
2.根据权利要求1所述的系统,其特征在于,
所述应用程序编程接口网关还可以选用应用程序编程接口服务器;
所述工作负载集群控制器,还用于启动部署器。
3.一种多容器集群的管控方法,其特征在于,应用于应用程序编程接口网关,所述方法包括:
初始化根容器集群的应用程序编程接口网关;
当接收到操作请求时,解析所述操作请求生成解析后的操作信息;
当所述解析后的操作信息为针对叶子容器集群的操作请求时,将所述解析后的操作信息中包含的针对所述叶子容器集群部署的资源实例插入key-value分布式数据库;或者,
当所述解析后的操作请求不为针对所述叶子容器集群的操作请求时,将所述操作请求包含的信息进行转发。
4.一种多容器集群的管控方法,其特征在于,应用于工作负载集群控制器,所述方法包括:
初始化根容器集群的工作负载集群控制器;
当监听到针对叶子容器集群的操作信息时,从key-value分布式数据库中获取针对所述叶子容器集群部署的资源实例;
根据所述资源实例中记录的事件信息启动部署器,并将所述事件信息以环境变量的方式注入至部署器;
其中,所述事件信息包括针对所述叶子容器集群的创建、删除与节点的添加、删除操作。
5.一种多容器集群的管控方法,其特征在于,应用于部署器,所述方法包括:
启动后获取工作负载集群控制器针对所述部署器注入的环境变量;
根据所述注入的环境变量执行部署程序,生成执行结果;
将所述执行结果反馈至所述启动后的应用程序编程接口网关。
6.一种多容器集群的管控方法,其特征在于,所述方法包括:
获取根容器集群的应用程序编程接口网关的启动参数与工作负载集群控制器的启动参数;
基于所述启动参数启动所述应用程序编程接口网关和工作负载集群控制器;
初始化所述根容器集群的应用程序编程接口网关与工作负载集群控制器;
接收并解析发送至所述初始化后的应用程序编程接口网关对应的操作请求;
当解析后的操作请求为针对叶子容器集群的操作请求时,将所述操作请求中包含的针对所述叶子容器集群部署的资源实例插入key-value分布式数据库;或者,
当所述解析后的操作请求不为针对所述叶子容器集群的操作请求时,将所述操作请求包含的信息进行转发;
当所述初始化后的工作负载集群控制器监听到针对所述叶子容器集群的操作信息时,基于所述初始化后的工作负载集群控制器从key-value分布式数据库中获取针对所述叶子容器集群部署的资源实例;
基于所述初始化后的工作负载集群控制器与所述资源实例中记录的事件信息启动部署器,并将所述事件信息以环境变量的方式注入至部署器;
根据所述启动后的部署器与所述注入的环境变量进行执行,生成执行后的结果;
根据所述启动后的部署器将所述执行后的结果反馈至所述启动后的应用程序编程接口网关。
7.根据权利要求6所述的方法,其特征在于,所述初始化根容器集群的应用程序编程接口网关与工作负载集群控制器,包括:
当初始化所述根容器集群的应用程序编程接口网关时,获取所述根容器集群证书,并根据所述根容器集群证书访问所述根容器集群来获取所述根容器集群所管理的叶子容器集群资源实例信息;
或者,
当初始化所述工作负载集群控制器时,针对所述key-value分布式数据库进行监听。
8.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求3-7任意一项的方法步骤。
CN202011640750.7A 2020-12-31 2020-12-31 一种多容器集群的管控系统、方法以及存储介质 Active CN112698916B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011640750.7A CN112698916B (zh) 2020-12-31 2020-12-31 一种多容器集群的管控系统、方法以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011640750.7A CN112698916B (zh) 2020-12-31 2020-12-31 一种多容器集群的管控系统、方法以及存储介质

Publications (2)

Publication Number Publication Date
CN112698916A CN112698916A (zh) 2021-04-23
CN112698916B true CN112698916B (zh) 2024-04-12

Family

ID=75514013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011640750.7A Active CN112698916B (zh) 2020-12-31 2020-12-31 一种多容器集群的管控系统、方法以及存储介质

Country Status (1)

Country Link
CN (1) CN112698916B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419818B (zh) * 2021-06-23 2022-06-10 北京达佳互联信息技术有限公司 基础组件部署方法、装置、服务器及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117210A (zh) * 2011-01-04 2011-07-06 浙江工商大学 一种ForCES网络件的用户操作管理系统的实现方法
CN106911769A (zh) * 2017-02-09 2017-06-30 腾讯科技(深圳)有限公司 云平台路由数据的处理方法和云平台的物理服务器
CN107704310A (zh) * 2017-09-27 2018-02-16 郑州云海信息技术有限公司 一种实现容器集群管理的方法、装置和设备
CN108040079A (zh) * 2017-10-26 2018-05-15 山东浪潮云服务信息科技有限公司 基于国产cpu和操作系统的分布式容器集群服务发现方法
CN108259611A (zh) * 2018-01-22 2018-07-06 郑州云海信息技术有限公司 集群docker管理方法、装置、系统及可读存储介质
CN108694071A (zh) * 2017-03-29 2018-10-23 瞻博网络公司 用于分布式虚拟化基础设施元件监视和策略控制的多集群面板
CN110196731A (zh) * 2018-10-29 2019-09-03 腾讯科技(深圳)有限公司 一种运维系统、方法及存储介质
CN110958256A (zh) * 2019-12-06 2020-04-03 无锡华云数据技术服务有限公司 一种集群管理方法及管理系统
CN110968427A (zh) * 2019-12-05 2020-04-07 北京京东尚科信息技术有限公司 集群资源的控制方法、装置和云计算系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017106379A1 (en) * 2015-12-14 2017-06-22 Pivotal Software, Inc. Workload management in distributed database systems
US10356214B2 (en) * 2017-03-29 2019-07-16 Ca, Inc. Composing monolithic applications based on multi-container applications

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117210A (zh) * 2011-01-04 2011-07-06 浙江工商大学 一种ForCES网络件的用户操作管理系统的实现方法
CN106911769A (zh) * 2017-02-09 2017-06-30 腾讯科技(深圳)有限公司 云平台路由数据的处理方法和云平台的物理服务器
CN108694071A (zh) * 2017-03-29 2018-10-23 瞻博网络公司 用于分布式虚拟化基础设施元件监视和策略控制的多集群面板
CN107704310A (zh) * 2017-09-27 2018-02-16 郑州云海信息技术有限公司 一种实现容器集群管理的方法、装置和设备
CN108040079A (zh) * 2017-10-26 2018-05-15 山东浪潮云服务信息科技有限公司 基于国产cpu和操作系统的分布式容器集群服务发现方法
CN108259611A (zh) * 2018-01-22 2018-07-06 郑州云海信息技术有限公司 集群docker管理方法、装置、系统及可读存储介质
CN110196731A (zh) * 2018-10-29 2019-09-03 腾讯科技(深圳)有限公司 一种运维系统、方法及存储介质
CN110968427A (zh) * 2019-12-05 2020-04-07 北京京东尚科信息技术有限公司 集群资源的控制方法、装置和云计算系统
CN110958256A (zh) * 2019-12-06 2020-04-03 无锡华云数据技术服务有限公司 一种集群管理方法及管理系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于容器云的微服务系统;杨迪;;电信科学;20180920(第09期);全文 *
容器微云监控系统的设计和实现;张松;疏官胜;李京;;中国科学技术大学学报;20170815(第08期);全文 *

Also Published As

Publication number Publication date
CN112698916A (zh) 2021-04-23

Similar Documents

Publication Publication Date Title
KR101574366B1 (ko) 가상 머신 및 애플리케이션 수명들의 동기화
US8112771B2 (en) Managing component programs within a service application
EP2893443B1 (en) Re-configuration in cloud computing environments
CN108984179B (zh) 一种Linux下编译处理方法及装置
US20050278273A1 (en) System and method for using root cause analysis to generate a representation of resource dependencies
CN112989330B (zh) 容器的入侵检测方法、装置、电子设备及存储介质
WO2019067598A1 (en) SYSTEMS AND METHOD FOR DEPLOYING, SECURING AND MANAGING COMPUTER ANALYTICAL ENVIRONMENTS
CN104246697A (zh) 针对应用的版本管理
US7890952B2 (en) Autonomic peer-to-peer computer software installation
CN110058894B (zh) 在混合云中执行应用的方法、设备和计算机程序产品
CN111475227A (zh) 业务插件加载实现方法、装置和终端设备
US20070044077A1 (en) Infrastructure for verifying configuration and health of a multi-node computer system
CN114706690B (zh) 一种Kubernetes容器共享GPU方法及系统
CN112698916B (zh) 一种多容器集群的管控系统、方法以及存储介质
US11973850B2 (en) System and method for automatic deployment of a cloud environment
CN111859139A (zh) 应用程序推荐方法、装置、计算设备和介质
AU2017276243A1 (en) System And Method For Generating Service Operation Implementation
CN114006815A (zh) 云平台节点的自动化部署方法、装置、节点及存储介质
CN115794659B (zh) 一种cfd软件的分布式并行测试方法、装置、设备及介质
CN111831567A (zh) 应用的测试环境配置方法、装置、系统和介质
US20130262845A1 (en) Method and system for generating a standardized system build file
US20230385140A1 (en) Dynamically adjusting objects monitored by an operator in a distributed computer environment
CN114860203A (zh) 项目创建方法、装置、服务器及存储介质
GB2542585A (en) Task scheduler and task scheduling process
CN109388394A (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
GR01 Patent grant
GR01 Patent grant