一种集群管理方法及管理系统与流程

文档序号:20439750发布日期:2020-04-17 22:19阅读:152来源:国知局
一种集群管理方法及管理系统与流程

本发明涉及云计算领域,更具体地说,涉及一种集群管理方法及管理系统。



背景技术:

kubernetes,简称k8s,是一个开源的,用于管理云平台中多个主机上的容器化的分布式系统平台,可以实现对集群的管理。

为了方便对集群的管理,kubernetes官方社区提供了图形管理组件kubernetesdashboard,其为两个部分:前端和后端。前端就是用户所看到的ui界面,而后端是用来与kubernetesapiserver进行通信的部分,它会将前端发送过来的请求进行封装转发给kubernetesapiserver实现对集群的管理。这样,用户可以通过可视化界面就能够实现对集群的管理。

其中,后端包括管理组件clientmanager,以及客户端组件client,管理组件通过客户端组件实现与集群apiserver的访问。如图1所示,图1为现有的kubernetesdashboard的结构示意图。但是,由于一个后端仅能够与一个集群的apiserver连接,因此,仅能够实现一对一的管理和访问。



技术实现要素:

有鉴于此,本发明提供了一种集群管理方法及管理系统,用以实现一个后端可以同时实现对多个集群的apiserver连接,实现一对多的管理和访问。

为了实现上述目的,现提出的方案如下:

一种集群管理方法,应用于kubernetesdashboard的后端,所述方法包括:

实时监测所述集群管理系统的集群信息数据库中的数据变化;

当监测到所述集群信息数据库中写入了新集群的集群数据时,创建与所述新集群对应的客户端组件,以使得所述客户端组件能够与所述新集群的apiserver进行通信。

优选的,所述创建与所述新集群对应的客户端组件包括:

获得所述集群数据中的集群id;

至少将所述集群信息中的集群id作为创建客户端组件的客户端组件参数;

创建包括所述客户端组件参数的客户端组件。

优选的,还包括:

接收访问目标集群apiserver的访问请求;

获得所述访问请求中的目标集群id;

确定与所述目标集群id所对应的目标客户端组件;所述目标客户端组件中的集群id与所述目标集群id相同;

调用所述目标客户端组件将所述访问请求发送给所述目标集群apiserver。

优选的,所述确定与所述目标集群id所对应的目标客户端组件包括:

获得创建客户端组件时所建立的哈希表;所述哈希表中保存有集群id与该集群id对应的客户端组件标识的对应关系;

将所述目标集群id作为关键词在所述哈希表中检索,得到与该目标集群id相对应的客户端组件标识;

将所述客户端组件标识对应的客户端组件作为所述目标集群id对应的客户端组件。

本发明另一方面公开了一种集群管理系统,应用于kubernetesdashboard的后端,所述系统包括:

数据库管理组件、客户端管理组件、客户端组件;

其中,所述数据库管理组件用于实时监测所述集群管理系统的集群信息数据库中的数据变化;

所述客户端管理组件用于当监测到所述集群信息数据库中写入了新集群的集群数据时,创建与所述新集群对应的客户端组件,以使得所述客户端组件能够与所述新集群的apiserver进行通信。

优选的,所述管理组件包括:

获得模块,用于获得所述新集群数据中的id信息;

确定模块,用于至少将所述集群信息中的集群id以及集群地址作为创建客户端组件的客户端组件参数;

创建模块,用于创建包括所述客户端组件参数的客户端组件。

优选的,所述客户端管理组件还用于:

接收访问目标集群apiserver的访问请求;

获得所述访问请求中的目标集群id;

确定与所述目标集群id所对应的目标客户端组件;所述目标客户端组件中的集群id与所述目标集群id相同;

调用所述目标客户端组件将所述访问请求发送给所述目标集群apiserver。

优选的,所述确定与所述目标集群id所对应的目标客户端组件包括:

获得创建客户端组件时所建立的哈希表;所述哈希表中保存有集群id与该集群id对应的客户端组件标识的对应关系;

将所述目标集群id作为关键词在所述哈希表中检索,得到与该目标集群id相对应的客户端组件标识;

将所述客户端组件标识对应的客户端组件作为所述目标集群id对应的客户端组件。

本发明实施例提供一种集群管理方法及管理系统,所述集群管理方法应用于kubernetesdashboard的后端,所述方法实时监测所述集群管理系统的集群信息数据库的数据变化;当监测到所述集群信息数据库中写入了新集群的集群数据时,创建与所述新集群对应的客户端组件,以使得所述客户端组件能够与所述新集群的apiserver进行通信。由于本发明实施例中,在新集群时,会对应在后端中创建与该新集群对应的客户端组件,来实现一对多的通信。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为现有的kubernetesdashboard的结构示意图;

图2是本发明提供的一种集群管理方法的流程示意图;

图3是本发明实施例中kubernetesdashboard的后端的结构示意图。

具体实施方式

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

集群的dashboard包括有两个部分:前端和后端,前端可以是用户所看到的图形界面,后端是用来与apiserver进行通信的部分,会将前端发送的请求进行封装后转发给apiserver来执行,后续结果也会封装后返回给用户。

本发明实施例提供了一种集群管理方法及管理系统。主要实现一个kubernetesdashboard后端可以同时对多个集群apiserver进行通信,以解决现有技术中只能一对一所造成的应用局限。

本发明技术方案中,公开了一种集群管理方法,参见图2,图2是本发明提供的一种集群管理方法的流程示意图。

本发明提供的一种集群管理方法,应用于kubernetesdashboard的后端,所述方法包括:

s101、实时监测所述集群管理系统的集群信息数据库中的数据变化;

s102、当监测到所述集群信息数据库中写入新集群的集群数据时,创建与所述新集群对应的客户端组件,以使得所述客户端组件能够与所述新集群的apiserver进行通信。

本发明实施例中,对系统架构进行了调整,引入了数据库管理组件databasemanager,其启动后,可以实时监测集群信息数据库的数据变化。例如增、删、改等操作所引起的变动。

实际使用中,当创建新集群时,会在集群信息数据库中保存有新集群的相关数据,例如集群id,apiserver地址,token等信息。因此,当有新集群的数据被写入时,可以通过监测该集群信息数据库的数据变化来得知此变动,基于此,本发明实施例中,在步骤s101中,将其作为创建新的客户端组件的触发依据。

实际使用中,监测数据库中的数据变化可以包括:监测例如集群id,apiserver地址,token等信息的变化。

在步骤s102中,当监测到有写入新集群的新集群数据时,创建与所述新集群对应的客户端组件,以便于通过该客户端组件实现与新集群的apiserver的通信。

参见图3,图3是本发明实施例中kubernetesdashboard的后端的结构示意图。

实际使用中,dashboard后端可以包括数据库管理组件databasemanager,客户端管理组件clientmanager组件,以及各个集群所对应的客户端组件client。

实际使用中,是将clientmanager内部进行调整,一个clientmanager内部维护一个hash对象,其中的key为集群的集群id,value是这个集群对应的client对象。

实际使用中,是在创建新的集群时,在clientmanager内部创建新的客户端组件client。来实现与apiserver的通信,实现一对多的通信。

本发明实施例中,所述创建与所述新集群对应的客户端组件包括:

获得所述新集群数据中的集群id;

至少将所述集群信息中的集群id作为创建客户端组件的客户端组件参数;

创建包括所述客户端组件参数的客户端组件。

本发明实施例中,当有新增的集群时,会创建与该集群所对应的客户端组件。其中,至少利用该集群id作为创建时的参数来执行创建过程,使得创建的客户端组件与该集群具有对应关系。当然,本发明实施例中,该对应关系可以是通过哈希表的方式来进行管理的。实际使用中,创建客户端组件的过程可以通过编程语句来实现。

由此本发明实施例中,当用户访问目标集群时,会利用该方式执行相关的操作。

本发明实施例中,还包括:

接收访问目标集群apiserver的访问请求;

获得所述访问请求中的目标集群id;

确定与所述目标集群id所对应的目标客户端组件;所述目标客户端组件中的集群id与所述目标集群id相同;

调用所述目标客户端组件将所述访问请求发送给所述目标集群apiserver。

所述确定与所述目标集群id所对应的目标客户端组件包括:

获得创建客户端组件时所建立的哈希表;所述哈希表中保存有集群id与该集群id对应的客户端组件标识的对应关系;

将所述目标集群id作为关键词在所述哈希表中检索,得到与该目标集群id相对应的客户端组件标识;

将所述客户端组件标识对应的客户端组件作为所述目标集群id对应的客户端组件。

本发明实施例中,当用户需要访问目标集群时,会发送访问请求,本发明实施例中,接收该访问请求。其中,该访问请求中会包括有目标集群的集群id。

本发明实施例中,在所保存的哈希表中,来查找与该集群id相对应的客户端组件。利用该客户端组件来实现与apiserver的通信。

本发明另一方面还公开了一种集群管理系统。

参见图3,图3是本发明实施例公开的一种集群管理系统的结构示意图。

本发明公开的一种集群管理系统,应用于kubernetesdashboard的后端,所述系统包括:

数据库管理组件1、客户端管理组件2、客户端组件3;

其中,所述数据库管理组件用于实时监测所述集群管理系统的集群信息数据库中的数据变化;

所述客户端管理组件用于当监测到所述集群信息数据库中写入新集群的集群数据时,创建与所述新集群对应的客户端组件,以使得所述客户端组件能够与所述新集群的apiserver进行通信。

可选的,所述管理组件包括:

获得模块,用于获得所述新集群数据中的id信息;

确定模块,用于至少将所述集群信息中的集群id作为创建客户端组件的客户端组件参数;

创建模块,用于创建包括所述客户端组件参数的客户端组件。

可选的,所述客户端管理组件还用于:

接收访问目标集群apiserver的访问请求;

获得所述访问请求中的目标集群id;

确定与所述目标集群id所对应的目标客户端组件;所述目标客户端组件中的集群id与所述目标集群id相同;

调用所述目标客户端组件将所述访问请求发送给所述目标集群apiserver。

可选的,所述确定与所述目标集群id所对应的目标客户端组件包括:

获得创建客户端组件时所建立的哈希表;所述哈希表中保存有集群id与该集群id对应的客户端组件标识的对应关系;

将所述目标集群id作为关键词在所述哈希表中检索,得到与该目标集群id相对应的客户端组件标识;

将所述客户端组件标识对应的客户端组件作为所述目标集群id对应的客户端组件。

本发明实施例中,当创建新的集群时,会在集群信息数据库中保存新集群的相关数据,例如集群id,apiserver地址,token等信息。因此,当有新集群的数据被写入时,可以通过监测该集群信息数据库的数据变化来得知此变动,基于此,将该过程作为创建新的客户端组件的触发依据。

实际使用中,dashboard后端可以包括数据库管理组件databasemanager,客户端管理组件clientmanager组件,以及各个集群所对应的客户端组件client。

实际使用中,是将clientmanager内部进行调整,一个clientmanager内部维护一个hash对象,其中的key为集群的集群id,value是这个集群对应的client对象。

实际使用中,是在创建新的集群时,在clientmanager内部创建新的客户端组件client。来实现与apiserver的通信,实现一对多的通信。

本发明实施例中,当用户需要访问目标集群时,会发送访问请求,本发明实施例中,接收该访问请求。其中,该访问请求中会包括有目标集群的集群id。

本发明实施例中,在所保存的哈希表中,来查找与该集群id相对应的客户端组件。利用该客户端组件来实现与apiserver的通信。

本发明实施例中的集群管理系统实时监测所述集群管理系统的集群信息数据库的数据变化;当监测到所述集群信息数据库中写入了新集群的集群数据时,创建与所述新集群对应的客户端组件,以使得所述客户端组件能够与所述新集群的apiserver进行通信。由于本发明实施例中,在新集群时,会对应在后端中创建与该新集群对应的客户端组件,来实现一对多的通信。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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