集群管理方法、系统、装置、电子设备及存储介质与流程

未命名 09-22 阅读:52 评论:0


1.本发明涉及集群管理技术,具体涉及一种集群管理方法、系统、装置、电子设备及存储介质。


背景技术:

2.容器集群管理在不同云平台的场景下有不同的管理实现,比如:在公有云平台场景下,使用公有云上的基础设施即服务(iaas,infrastructure as a service)资源对容器集群进行编排构建;在混合云平台场景下,用户自有容器集群,包含私有入侵检测系统(idc,intrusion detection system)集群、它云集群等,通过混合云平台的纳管技术实现对容器集群的管理。在混合云平台场景下的容器集群管理,通常需要引入了新的自定义资源(crd,custom resource definition)和管理器来实现对用户业务集群的管理。新的管理器是在原先的容器集群基础上封装了一层,管理更加复杂,性能较直接的容器集群管理降低了很多,尤其在面临大规模用户并发的场景下,需要增加额外一层的元数据服务层维护。
3.从现有技术分析来看,目前对各厂商缺乏通用场景下的容器集群管理方案,多数厂商在混合云平台场景下的容器管理和在公有云平台场景下的容器管理会选择不同的技术方案,其技术架构是独立的,这样引入的第一个问题是管理复杂、技术方案复用性较弱;其次为了实现混合云场景下的容器管理,多增加的一层元数据设计及管理,增加了额外的开销,并且这种技术架构并不能友好支持原生的容器应用程序界面(api,application program interface),通常需要上层做进一步的逻辑处理,性能相对较低、原生兼容性差。


技术实现要素:

4.为解决现有存在的技术问题,本技术的技术方案是这样实现的:
5.根据本技术的一方面,提供一种集群管理方法,所述方法包括:
6.根据通用容器模型(ccm,common container model)创建不同云平台场景下的容器集群,所述ccm模型中至少包括有容器集群的集群资源自定义模型crd、容器集群节点crd、容器集群资源节点crd和容器集群模板crd;
7.在所述容器集群当前处于正常态的情况下,根据所述容器集群的类型信息确定所述容器集群的路由资源;所述路由资源中至少携带有用于访问所述容器集群的目标资源的访问链路。
8.上述方案中,所述方法还包括:
9.获取所述容器集群的目标信息,所述目标信息包括所述容器集群的类型信息、版本信息、配置信息、状态信息中的至少一个;
10.基于所述目标信息构建所述集群资源crd。
11.上述方案中,所述方法还包括:
12.获取所述容器集群的容器节点信息,所述容器节点信息包括容器节点的运行信息、名称、节点所属集群、节点地址信息、节点状态信息中的至少一个;
13.基于所述容器节点信息构建所述容器集群节点crd。
14.上述方案中,所述方法还包括:
15.获取所述容器集群的资源节点信息,所述资源节点信息包括资源节点关联的模板信息,资源所在的节点信息、资源存储信息、资源网络信息中的至少一个;
16.基于所述资源节点信息构建所述容器集群资源节点crd。
17.上述方案中,所述方法还包括:
18.获取不同云平台场景下的集群模板信息,所述集群模板信息包括自定义资源模板信息、自定义集群模板信息、集群访问模板信息中的至少一个;
19.基于所述集群模板信息构建所述容器集群模板crd。
20.上述方案中,所述根据ccm创建不同云平台场景下的容器集群,包括:
21.根据所述集群资源crd确定待创建容器集群对应的场景信息,所述场景信息包括公有云场景、混合云场景、私有云场景中的至少一个;
22.根据所述容器集群模板crd在不同场景信息下配置的集群模板信息,确定所述容器集群在不同云平台场景下对应的容器集群资源节点crd和容器集群节点crd;
23.根据所述容器集群资源节点crd和容器集群节点crd创建不同云平台场景下的容器集群。
24.上述方案中,所述方法还包括:
25.监听所述容器集群的创建状态;
26.如果所述创建状态表征所述容器集群创建成功,更新所述容器集群在所述集群资源crd中的状态信息为正常态。
27.上述方案中,在所述容器集群当前处于正常态的情况下,根据所述容器集群的类型信息确定所述容器集群的路由资源,包括:
28.确定所述容器集群当前处于正常态的情况下,基于所述集群资源crd确定所述容器集群的类型信息和访问地址;
29.基于所述类型信息和所述访问地址建立所述容器集群的安全凭证信息和对应的访问入口地址;所述安全凭证信息和所述访问入口地址用于指示从所述访问地址访问所述容器集群的目标资源。
30.上述方案中,在所述容器集群当前处于正常态的情况下,根据所述容器集群的类型信息确定所述容器集群的路由资源,包括:
31.在所述容器集群当前处于正常态的情况下,根据所述容器集群的类型信息和服务器全局状态信息确定当前满足缓存条件的至少一目标服务器;
32.基于所述集群资源crd中的配置信息和所述安全凭证信息构建所述目标服务器与所述容器集群的通信连接;
33.基于所述通信连接在所述目标服务器上缓存所述容器集群的目标资源。
34.上述方案中,所述方法还包括:
35.在所述安全凭证信息中记录所述容器集群的目标资源与所述目标服务器的缓存关系;
36.所述缓存关系用于指示从所述目标服务器上获取所述容器集群的目标资源。
37.上述方案中,所述方法还包括:
38.通过所述容器集群的安全凭证信息和对应的访问入口地址获取所述容器集群在所述目标服务器上的缓存状态信息;
39.如果所述缓存状态信息表征所述容器集群在所述目标服务器上的缓存状态异常,控制所述目标服务器释放所述容器集群的目标资源。
40.上述方案中,如果所述缓存状态信息表征所述容器集群在所述目标服务器上的状态异常,控制所述目标服务器释放所述容器集群的目标资源,包括:
41.如果所述缓存状态信息表征所述容器集群在所述目标服务器上的缓存状态异常,确定所述容器集群在所述目标服务器上缓存状态异常的检测次数;
42.如果所述检测次数大于或等于检测阈值,控制所述目标服务器释放所述容器集群的目标资源。
43.根据本技术的另一方面,提供一种集群管理系统,其特征在于,所述系统包括:
44.集群管理ccm,至少包括有集群资源crd、容器集群节点crd、容器集群资源节点crd、容器集群模板crd;
45.容器集群管理系统,用于根据所述集群资源crd、所述容器集群节点crd、所述容器集群资源节点crd、所述容器集群模板crd对不同云平台场景下的容器集群进行创建;
46.资源管理系统,用于在所述容器集群当前处于正常态的情况下,根据所述容器集群的类型信息确定所述容器集群的路由资源;所述路由资源中至少携带有用于访问所述容器集群的目标资源的访问链路。
47.根据本技术的第三方面,提供一种集群管理装置,其特征在于,所述装置包括:
48.创建单元,用于根据ccm模型创建不同云平台场景下的容器集群,所述ccm模型中至少包括有容器集群的集群资源crd、容器集群节点crd、容器集群资源节点crd和容器集群模板crd;
49.管理单元,用于在所述容器集群当前处于正常态的情况下,根据所述容器集群的类型信息确定所述容器集群的路由资源;所述路由资源中至少携带有用于访问所述容器集群的目标资源的访问链路。
50.根据本技术的第四方面,提供一种电子设备,其特征在于,所述电子设备包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
51.其中,所述处理器用于运行所述计算机程序时,执行上述的任一种集群管理方法中的任一项方法步骤。
52.根据本技术的第五方面,提供一种计算机可读存储介质,其特征在于,用于存储计算机指令,所述计算机指令被处理器执行时,执行上述的任一种集群管理方法中的任一项方法步骤。
53.本发明实施例提供的集群管理方法、系统、装置、电子设备及存储介质,通过使用集群资源crd、容器集群节点crd、容器集群资源节点crd和容器集群模板crd形成的ccm模型创建不同云平台场景下的容器集群;在所述容器集群当前处于正常态的情况下,根据所述容器集群的类型信息确定所述容器集群的路由资源;所述路由资源中至少携带有用于访问所述容器集群的目标资源的访问链路。为一种通用各平台场景下的容器集群管理方案,通过ccm模型可以在不同云平台场景下复用技术架构进行容器集群的构建,实现了对不同云平台场景下的集群资源的统一管理。
附图说明
54.图1为本技术中集群管理方法的流程实现示意图;
55.图2为本技术中集群管理系统的结构组成示意图;
56.图3为本技术中集群管理装置的结构组成示意图;
57.图4为本技术中缓存策略示意图;
58.图5为本技术中电子设备的结构组成示意图。
具体实施方式
59.下面结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
60.图1为本技术中集群管理方法的流程实现示意图;如图1所示,该方法包括:
61.步骤101,根据通用容器模型ccm创建不同云平台场景下的容器集群,所述ccm模型中至少包括有容器集群的集群资源crd、容器集群节点crd、容器集群资源节点crd和容器集群模板crd;
62.本技术中,该方法可以应用于具有容器集群管理系统的电子设备,该电子设备通过该容器集群管理系统中的ccm模型,可以在不同云平台场景下复用技术架构进行容器集群的构建。其中,该ccm模型中包括有四大类型的crd,分别是:集群资源(cluster)crd,容器集群节点(cloudnode)crd,容器集群资源节点(cloudmachine)crd,容器集群模板(template)crd。
63.本技术中,该ccm模型中的集群资源(cluster)crd在构建时,具体可以通过获取该容器集群的目标信息,基于该目标信息构建该集群资源crd。其中,该目标信息包括但不限于该容器集群的类型信息、版本信息、配置信息、状态信息中的至少一个。
64.这里,容器集群的类型可以命名为cloudmodetype云模式类型,包括有公有云、私有云、混合云几种,根据不同的集群定义,底层有不同的处理场景。集群的配置信息可以是指容器集群的原生参数,包括各种配置项参数,状态信息可以用status字段表示,用于标记该容器集群构建过程中的状态信息,包括但不限于主机状态、存储状态、网络状态。
65.本技术中,该ccm模型中的容器集群节点(cloudnode)crd在构建时,具体可以通过获取容器集群的容器节点信息,基于该容器节点信息构建该容器集群节点crd。其中,该容器节点信息包括但不限于容器节点的运行信息、名称、节点所属集群、节点地址信息(比如ip地址)、节点状态信息中的至少一个。这些信息用于在构建容器集群的逻辑中,判定节点的状态信息及资源管理层的逻辑信息。
66.本技术中,该ccm模型中的容器集群资源节点(cloudmachine)crd在构建时,具体可以通过获取该容器集群的资源节点信息,基于该资源节点信息构建该容器集群资源节点crd。其中,该资源节点信息包括但不限于资源节点关联的模板信息,资源所在的节点信息、资源存储信息、资源网络信息中的至少一个。这些信息可以用于构建集群节点的逻辑,判定资源节点的状态。
67.本技术中,该ccm模型中的容器集群模板(template)crd在构建时,具体可以通过获取不同云平台场景下的集群模板信息,基于该集群模板信息构建该容器集群模板crd。其中,该集群模板信息包括但不限于自定义资源模板信息、自定义集群模板信息、集群访问模
板信息中的至少一个。该集群模板参数用于在构建集群资源的逻辑中,针对不同的场景设计不同的处理逻辑。该集群模板信息根据云计算模式的不同,灵活设置,包含混合云场景下的集群纳管参数,公有云场景下的自定义编排模板参数,参数模板的定义可以参考表1所示:
[0068][0069]
表1
[0070]
举例来说,当应用在公有云场景下,用户构建的集群资源(cluster)crd的类型假设是专有集群,对应的容器集群模板(template)crd的mode参数为公有云,type类型是new,controllernodes、nodes中包含了节点中央处理器(cpu,central processing unit)、内存、网络的参数信息,则集群管理系统,根据创建的集群资源(cluster)crd、容器集群模板(template)crd可以创建公有云场景下的容器集群节点(cloudnode)crd和容器集群资源节点(cloudmachine)crd,其中,包含了template中主机相关的信息。然后该电子设备在检测到对应的资源后,首先调用底层依赖的资源,比如主机、存储、网络,完成容器集群资源节点(cloudmachine)资源的“调谐”,并且标记(status)状态为正常;集群管理系统,进一步来“调谐”容器集群节点(cloudnode)资源,生成对应的节点部署脚本,并部署到容器集群资源节点(cloudmachine)中去,从而完成集群节点的部署,等所有的节点部署完成,最终集群管理系统来标记(cluster)的状态为完成状态,同时生成安全访问凭证(secret)记录集群的访问凭证。
[0071]
当应用在混合云的场景下,假设需要完成集群的纳管,首先创建集群资源(cluster)的相关信息及容器集群模板template的模板信息,其中容器集群模板(template)的mode设置为混合云,type是exist,annotation中添加集群的访问凭证cert及内容,添加访问地址及端口,当集群管理系统检测到集群资源(cluster)、容器集群模板
(template)的创建,开始底层集群的“调谐”,首先判定集群的模式是混合云,且纳管已有集群,则无需创建底层的容器集群节点(cloudnode)及容器集群资源节点(cloudmachine),即这些资源已有,则根据容器集群模板(template)中的annotation信息,检测联通性及访问正确性,如果都通过,则更新集群资源(cluster)的网络信息、节点信息,状态标记为可用,同时将访问凭证更新到安全访问凭证(secret)中,至此集群即创建完成。
[0072]
本技术提供的ccm模型,主要是针对不同的云平台场景下的架构复用,并不是提供多云管理平台。
[0073]
本技术中,该电子设备根据容器集群的类型不同可以进入不同的构建流程。具体地,该电子设备根据该集群资源crd中的类型信息可以确定待创建容器集群对应的场景信息,其中,该场景信息包括公有云场景、混合云场景、私有云场景中的至少一个;然后根据该容器集群模板crd在不同场景信息下配置的集群模板信息,可以确定该容器集群在不同云平台场景下对应的容器集群资源节点crd和容器集群节点crd;根据该容器集群资源节点crd和容器集群节点crd可以创建不同云平台场景下的容器集群。
[0074]
一种实现方式中,如果该电子设备根据该集群资源crd中的类型信息确定待创建的容器集群是公有云平台场景下的容器集群,则可以根据该容器集群模板crd在公有云平台场景下配置的自定义参数,调用该公有云平台的资源编排接口来创建该容器集群对应的容器集群资源节点crd和容器集群节点crd,并且在容器集群资源节点crd和容器集群节点crd创建成功的情况下,更新容器集群资源节点crd的状态信息和容器集群节点crd的状态信息均为正常态。当容器集群模板crd中的资源全部完成之后,更新该容器集群在该集群资源crd中的状态信息为正常态,并且在集群管理系统中定义好该容器集群的安全访问凭证信息和对应的访问入口地址。
[0075]
这里,为了减少容器集群在构建过程中与服务器的交互,本技术在创建容器集群节点crd的过程中可以通过初始化的方式进行容器集群的服务布署。
[0076]
另一种实现方式中,如果该电子设备根据该集群资源crd中的类型信息确定待创建的容器集群是混合云平台场景下的容器集群,则可以根据该容器集群模板crd在混合云平台场景下配置的访问入口信息,直接更新该容器集群在集群资源crd中的状态信息为正常态,并且在集群管理系统中定义好该容器集群的安全访问凭证信息和对应的访问入口地址。
[0077]
这里,如果该容器集群模板crd在混合云平台场景下配置的集群模板信息中是访问入口信息,表示复用已有资源。
[0078]
第三实现方式中,如果该电子设备根据该集群资源crd中的类型信息确定待创建的容器集群是私有云平台场景下的容器集群,则需要获取该容器集群模板crd在私有云平台场景下配置的集群模板信息,如果该集群模板信息表征是自定义参数,则根据该自定义参数创建该容器集群对应的容器集群资源节点crd和容器集群节点crd;并且在该容器集群资源节点crd和该容器集群节点crd创建成功的情况下,更新该容器集群在该集群资源crd中的状态信息为正常态;如果该集群模板信息表征是访问入口信息,表示复用已有资源,则可以直接更新该容器集群在该集群资源crd中的状态信息为正常态。
[0079]
本技术通过使用通用容器模型ccm,可以在不同云平台场景下复用同一技术架构进行容器集群的构建,可以在资源管理上实现统一;并且,该技术架构还可以适用于边缘平
台的容器集群构建,只需要根据不同的平台开通相应的路由策略实现纳管或者适配不同的云平台资源接口即可完成容器集群资源节点cloudmachine的资源创建。
[0080]
步骤102,在所述容器集群当前处于正常态的情况下,根据所述容器集群的类型信息确定所述容器集群的路由资源;所述路由资源中至少携带有用于访问所述容器集群的目标资源的访问链路。
[0081]
本技术中,该电子设备还可以监听该集群资源crd的创建状态,如果该创建状态表征该容器集群创建成功,则更新该容器集群在该集群资源crd中的状态信息为正常态。如果该创建状态表征该容器集群正在创建中,则更新该容器集群在该集群资源crd中的状态信息为创建中。如果该创建状态表征该容器集群创建失败,则更新该容器集群在该集群资源crd中的状态信息为异常态。
[0082]
本技术中,该电子设备基于该集群资源crd中的状态信息确定该容器集群当前处于正常态的情况下,可以不区分云平台模式,统一在该系统中构建该容器集群的路由资源和访问链路。
[0083]
其中,该路由资源可以根据不同的场景选型,典型的包括gloo或者istio。而路由资源中的访问链路,则需要该电子设备基于该集群资源crd获取该容器集群的类型信息和访问地址;基于该类型信息和该访问地址建立该容器集群的安全访问凭证信息和对应的访问入口地址;其中,该安全访问凭证信息和该访问入口地址用于指示从该访问地址访问该容器集群的目标资源。
[0084]
本技术通过使用统一的资源架构来应对多种场景下的容器集群资源的管理,可以解决现有技术中资源管理不统一的问题及提升集群性能、兼容原生k8s的api问题。
[0085]
本技术中,该电子设备在该容器集群当前处于正常态的情况下,根据该容器集群的类型信息确定该容器集群的路由资源时,还可以在该容器集群当前处于正常态的情况下,根据该容器集群的类型信息和服务器全局状态信息确定当前满足缓存条件的至少一目标服务器;基于该集群资源crd中的配置信息和该安全访问凭证信息构建该目标服务器与该容器集群的通信连接;基于该通信连接在该目标服务器上缓存该容器集群的目标资源。
[0086]
这里,该电子设备可以根据该容器集群的类型信息确定与该类型信息匹配的服务器集群,获取该服务器集群中各服务器上运行的容器集群数量,将各服务器上运行的该容器集群的数量进行比较,根据比较结果将当前运行容器集群数量最少的服务器作为目标服务器,表征该服务器处于空闲态,满足缓存条件;该电子设备还可以获取该服务器集群中各服务器的当前带宽参数,将各服务器的当前带宽参数进行比较,根据比较结果将当前带宽参数最小的服务器确定为目标服务器,表征该服务器满足缓存条件。
[0087]
本技术中,该电子设备中可以预设有该服务器全局状态信息,在该服务器全局状态信息可以通过设计元数据层进行维护,并保存在安全访问凭证(secret)中。元数据中可以设计服务器的地址信息(包括但不限于id、ip)、实例列表,服务器的实例配额字段,其中id、ip是服务器的信息,而实例列表,是元数据登记的集群id信息,每台服务器可以连接的集群节点及配额是不同的,在处理不同的集群类型也有差异,服务器有物理机、云主机、图形处理器(gpu,graphics processing unit)异构主机等。对于节点的集群缓存数量配额,根据服务器类型的进行设置。对于虚拟机(vm,virtualmachine),独立主机(bm,bare metal)服务器配额不同,如果服务器是vm,根据服务器的网卡带宽,限定每个vm集群的带宽
默认为一个固定值,假定是20mb,且支持超分比的配置,比如1:2,则当服务器的带宽是1000mb,则一台服务器的缓存集群数量可以达到1000/20*2=100个;如果服务器是bm,则根据服务器的网卡带宽,限定集群的带宽默认为的固定值,假定是50mb,且支持的超分比的配置,比如1:4,则当服务器的带宽是10000mb,则一台服务器的缓存集群数量可以达到10000/50*4=800个。因此本技术中的缓存数量公式为:缓存集群数量=∑服务器带宽/单个集群带宽*超分比,通过这个公式可以换算出整个服务器可以实现的资源管理量级,如果超出范围,可通过增加服务器来进行扩容。
[0088]
当服务器的全局状态信息设定好之后,该电子设备则可以根据当前容器集群的类型信息优先选择与其匹配的服务器进行资源缓存。假设当前构建的容器集群是vm集群,则通过vm服务器进行缓存,且优先调度到比较空闲的机器上进行缓存的连接。而最优调度的具体流程是:先查询全局vm服务器上运行的实例数量,选择vm数量最少的服务器作为目标服务器节点,进一步检查目标节点的带宽,选择带宽最小的节点,作为目标服务器。当选到目标服务器之后,使用集群资源(cluster)crd中网络信息及安全访问凭证(secret)下的凭证信息,构建该目标服务器与该容器集群的通信连接,基于该通信连接在该目标服务器缓存该容器集群的目标资源。
[0089]
本技术中,该电子设备还可以在该安全访问凭证信息中记录该容器集群的目标资源与目标服务器的缓存关系;该缓存关系用于指示从该目标服务器上获取该容器集群缓存的目标资源。
[0090]
本技术中,该电子设备还可以通过该容器集群的安全访问凭证信息和对应的访问入口地址获取该容器集群在该目标服务器上的缓存状态信息;如果该缓存状态信息表征该容器集群在该目标服务器上的缓存状态异常,控制该目标服务器释放该容器集群的目标资源。
[0091]
进一步地,该电子设备还可以在该状态信息表征该容器集群在该目标服务器上的状态异常时,确定该容器集群在该目标服务器上状态异常的检测次数;将该检测次数与检测阈值进行比较,如果比较结果表征该检测次数大于或等于检测阈值,则控制该目标服务器释放该容器集群的目标资源。
[0092]
本技术通过在缓存中记录容器集群的目标资源和目标服务器的缓存关系,当上层执行业务集群查询的时候,优先找到该缓存关系便可从指定服务器上获取到该容器集群缓存的目标资源,速度会非常快。如果涉及到缓存数据的资源更新,则由资源层的环境健康机制保障,如果重试一定的次数,发现集群不健康,则将缓存从节点上移除,同时移除安全访问凭证信息中的记录信息,确保资源能够合理有效使用。
[0093]
本技术提供的缓存技术,通过高级缓存策略(acp,advanced cache policy)机制根据云平台的场景及容器集群资源的类型,当检测到集群的状态正常,然后根据集群的类型及底层的服务器缓存的全局状态,综合评估来选择节点来建立和目标集群的连接,并加入到缓存,并定期做健康检测,大大提高了容器集群的访问性能,实现了高效、稳定的集群资源管理性能。
[0094]
图2为本技术中集群管理系统的结构组成示意图,如图2所示,该系统包括:
[0095]
集群管理ccm 201,至少包括有集群资源crd、容器集群节点crd、容器集群资源节点crd、容器集群模板crd;
[0096]
容器集群管理系统202,用于根据所述集群资源crd、所述容器集群节点crd、所述容器集群资源节点crd、所述容器集群模板crd对不同云平台场景下的容器集群进行创建;
[0097]
资源管理系统203,用于在所述容器集群当前处于正常态的情况下,根据所述容器集群的类型信息确定所述容器集群的路由资源;所述路由资源中至少携带有用于访问所述容器集群的目标资源的访问链路。
[0098]
本技术中,集群管理ccm 201可以适用在不同云平台场景下的容器集群构建。包括公有云场景下生成的对应crd,混合云场景下生成的对应crd和私有云场景下生成的对应crd。
[0099]
本技术中,该容器集群管理系统202具体用于根据所述集群资源crd确定待创建容器集群对应的场景信息,所述场景信息包括公有云场景、混合云场景、私有云场景中的至少一个;根据所述容器集群模板crd在不同场景信息下配置的集群模板信息,确定所述容器集群在不同云平台场景下对应的容器集群资源节点crd和容器集群节点crd;根据所述容器集群资源节点crd和容器集群节点crd创建不同云平台场景下的容器集群。
[0100]
这里,容器集群管理系统202在公有云场景下,可以通过创建用户自定义的公有云资源模板,借助云平台厂商提供的基础iaas资源能力,来创建集群crd,从而实现容器集群的编排;在混合云场景下,通过创建用户idc集群的集群访问模板,借助网络策略来创建集群crd,来实现混合云场景的容器集群纳管;在私有云场景下,通过创建用户自定义的集群模板或者已有集群的集群访问模板,借助内部网络策略来创建crd,完成在私有云场景下的容器集群编排或者纳管。假如应用在公有云的场景下,该容器集群管理系统202还可以在检测到对应的资源后,首先调用底层依赖的资源,比如主机、存储、网络,完成容器集群资源节点cloudmachine资源的“调谐”,并且标记status状态为正常;进一步来“调谐”容器集群节点cloudnode资源,生成对应的节点部署脚本,并部署到容器集群资源节点cloudmachine中去,从而完成集群节点的部署,等所有的节点部署完成,最终集群管理系统来标记cluster的状态为完成状态,同时生成secret记录集群的访问凭证。
[0101]
假如应用在混合云的场景下,假设需要完成集群的纳管,该容器集群管理系统202还可以在检测到集群资源cluster、容器集群模板template的创建,开始底层集群的“调谐”,首先判定集群的模式是混合云,且纳管已有集群,则无需创建底层的容器集群节点cloudnode及容器集群资源节点cloudmachine,即这些资源已有,则根据容器集群模板template中的annotation信息,检测联通性及访问正确性,如果都通过,则更新集群资源cluster的网络信息、节点信息,状态标记为可用,同时将访问凭证更新到secret中,至此集群即创建完成。
[0102]
本技术中,资源管理系统203还用于监听所述容器集群的创建状态;如果所述创建状态表征所述容器集群创建成功,更新所述容器集群在所述集群资源crd中的状态信息为正常态。
[0103]
本技术中,资源管理系统203具体用于确定所述容器集群当前处于正常态的情况下,基于所述集群资源crd确定所述容器集群的类型信息和访问地址;基于所述类型信息和所述访问地址建立所述容器集群的安全访问凭证信息和对应的访问入口地址;所述安全访问凭证信息和所述访问入口地址用于指示从所述访问地址访问所述容器集群的目标资源。
[0104]
本技术中,资源管理系统203还用于在所述容器集群当前处于正常态的情况下,根
据所述容器集群的类型信息和服务器全局状态信息确定当前满足缓存条件的至少一目标服务器;基于所述集群资源crd中的配置信息和所述安全访问凭证信息构建所述目标服务器与所述容器集群的通信连接;基于所述通信连接在所述目标服务器上缓存所述容器集群的目标资源。
[0105]
本技术中,资源管理系统203还用于在所述安全访问凭证信息中记录所述容器集群的目标资源与所述目标服务器的缓存关系;所述缓存关系用于指示从所述目标服务器上获取所述容器集群的目标资源。
[0106]
本技术中,资源管理系统203还用于通过所述容器集群的安全访问凭证信息和对应的访问入口地址获取所述容器集群在所述目标服务器上的缓存状态信息;如果所述缓存状态信息表征所述容器集群在所述目标服务器上的缓存状态异常,控制所述目标服务器释放所述容器集群的目标资源。
[0107]
本技术中,资源管理系统203还用于如果所述状态信息表征所述容器集群在所述目标服务器上的状态异常,确定所述容器集群在所述目标服务器上状态异常的检测次数;如果所述检测次数大于或等于检测阈值,控制所述目标服务器释放所述容器集群的目标资源。
[0108]
需要说明的是:上述实施例提供的集群管理系统与上述提供的集群管理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0109]
图3为本技术中集群管理装置的结构组成示意图,如图3所示,该装置包括:
[0110]
创建单元31,用于根据ccm模型创建不同云平台场景下的容器集群,所述ccm模型中至少包括有容器集群的集群资源crd、容器集群节点crd、容器集群资源节点crd和容器集群模板crd;
[0111]
管理单元32,用于在所述容器集群当前处于正常态的情况下,根据所述容器集群的类型信息确定所述容器集群的路由资源;所述路由资源中至少携带有用于访问所述容器集群的目标资源的访问链路。
[0112]
优选方案中,该装置还包括:
[0113]
模型单元33,用于根据容器集群的集群资源crd、容器集群节点crd、容器集群资源节点crd和容器集群模板crd构建ccm模型。
[0114]
优选方案中,该创建单元31包括:
[0115]
获取子单元311,用于获取所述容器集群的目标信息,所述目标信息包括所述容器集群的类型信息、版本信息、配置信息、状态信息中的至少一个;
[0116]
构建子单元312,用于基于所述目标信息构建所述集群资源crd。
[0117]
优选方案中,该获取子单元311,还用于获取所述容器集群的容器节点信息,所述容器节点信息包括容器节点的运行信息、名称、节点所属集群、节点地址信息、节点状态信息中的至少一个;
[0118]
构建子单元312,还用于基于基于所述容器节点信息构建所述容器集群节点crd。
[0119]
优选方案中,该获取子单元311,还用于获取所述容器集群的资源节点信息,所述资源节点信息包括资源节点关联的模板信息,资源所在的节点信息、资源存储信息、资源网络信息中的至少一个;
[0120]
构建单元子312,还用于基于所述资源节点信息构建所述容器集群资源节点crd。
[0121]
优选方案中,该获取子单元311,还用于获取不同云平台场景下的集群模板信息,所述集群模板信息包括自定义资源模板信息、自定义集群模板信息、集群访问模板信息中的至少一个;
[0122]
构建子单元312,还用于基于所述集群模板信息构建所述容器集群模板crd。
[0123]
优选方案中,构建子单元312,具体用于根据所述集群资源crd确定待创建容器集群对应的场景信息,所述场景信息包括公有云场景、混合云场景、私有云场景中的至少一个;根据所述容器集群模板crd在不同场景信息下配置的集群模板信息,确定所述容器集群在不同云平台场景下对应的容器集群资源节点crd和容器集群节点crd;根据所述容器集群资源节点crd和容器集群节点crd创建不同云平台场景下的容器集群。
[0124]
优选方案中,该管理单元32包括:
[0125]
监听子单元321,用于监听所述容器集群的创建状态;
[0126]
更新子单元322,用于如果所述创建状态表征所述容器集群创建成功,更新所述容器集群在所述集群资源crd中的状态信息为正常态。
[0127]
优选方案中,该管理单元32还包括:
[0128]
确定子单元323,用于确定所述容器集群当前处于正常态的情况下,基于所述集群资源crd确定所述容器集群的类型信息和访问地址;
[0129]
建立子单元324,用于基于所述类型信息和所述访问地址建立所述容器集群的安全访问凭证信息和对应的访问入口地址;所述安全访问凭证信息和所述访问入口地址用于指示从所述访问地址访问所述容器集群的目标资源。
[0130]
优选方案中,该管理单元32还包括:缓存子单元325;
[0131]
具体地,该确定子单元323,还用于在所述容器集群当前处于正常态的情况下,根据所述容器集群的类型信息和服务器全局状态信息确定当前满足缓存条件的至少一目标服务器;
[0132]
建立子单元324,还用于基于所述集群资源crd中的配置信息和所述安全访问凭证信息构建所述目标服务器与所述容器集群的通信连接;
[0133]
缓存子单元325,用于基于所述通信连接在所述目标服务器上缓存所述容器集群的目标资源。
[0134]
优选方案中,该管理单元32还包括:记录子单元326;
[0135]
具体地,该记录子单元326,用于在所述安全访问凭证信息中记录所述容器集群的目标资源与所述目标服务器的缓存关系;
[0136]
所述缓存关系用于指示从所述目标服务器上获取所述容器集群的目标资源。
[0137]
优选方案中,该管理单元32还包括:控制子单元327;
[0138]
获取子单元311还用于通过所述容器集群的安全访问凭证信息和对应的访问入口地址获取所述容器集群在所述目标服务器上的缓存状态信息;
[0139]
控制子单元327,用于如果所述缓存状态信息表征所述容器集群在所述目标服务器上的缓存状态异常,控制所述目标服务器释放所述容器集群的目标资源。
[0140]
优选方案中,该确定子单元323还用于如果所述状态信息表征所述容器集群在所述目标服务器上的状态异常,确定所述容器集群在所述目标服务器上状态异常的检测次数;
[0141]
控制子单元327,用于如果所述检测次数大于或等于检测阈值,控制所述目标服务器释放所述容器集群的目标资源。
[0142]
需要说明的是:上述实施例提供的集群管理装置在对容器集群进行管理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的集群管理装置与上述提供的集群管理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0143]
图4为本技术中缓存策略示意图,如图4所示,本技术中的acp缓存机制的实现过程为:当集群管理单元401监听到集群资源crd 402的状态处于正常态的情况下,根据集群资源crd 402的类型信息及底层缓存的服务器全局状态信息,综合评估来确定容器集群的路由策略。
[0144]
比如,选择与容器集群类型匹配的服务器节点来建立缓存连接,具体将当前处于空闲态、带宽最小的服务器作为目标服务器,并使用集群资源crd 402状态中网络信息及安全访问凭证下的凭证信息,将该目标服务器加入缓存策略单元403中,并构建目标服务器与容器集群之间的缓存连接,基于该缓存连接在目标服务器上缓存容器集群的目标资源。当上层服务查询集群的资源信息时,优先从缓存策略单元403中获取容器集群的目标资源,速度会非常快。
[0145]
这里,缓存策略单元403会定时使用集群的访问入口和访问凭证,检测集群节点的健康状态,如果不健康,则从缓存策略单元403中删除对应的容器集群及目标服务器的连接信息,表征上层访问集群不正常,同时从目标服务器中释放对应的资源实例;如果涉及到更新资源,则通过访问入口及安全凭证发起和目标集群的实际连接请求,构建资源。
[0146]
图5为本技术中电子设备的结构组成示意图,电子设备500可以是基于windows或linux或macos操作系统的一种计算机设备,包括但不限于是计算机、数字广播终端、信息收发设备、医疗设备、健身设备、个人数字助理等终端或服务器,这里,服务器包括但不限于实体服务器、云服务器。图5所示的电子设备500包括:至少一个处理器501、存储器502、至少一个网络接口504和用户接口503。网络接口504可以与与外部数据库连通,进行数据访问和操作,该外部数据库可以非本计算机设备的硬件组成部分,而是部署在本设备之外的计算机设备上的数据库系统,并通过网络向外部提供数据库服务;网络接口504还可以与消息队列实体连通,将本硬件实体产生的消息放入消息队列实体,或从消息队列实体中消费消息,该消息队列可以非本计算机设备的硬件组成部分,而是部署在本设备之外的计算机设备上的消息队列系统,并通过网络向外部提供消息服务;网络接口504还可以与向被测系统的网络接口发送网络报文,并接收响应报文,该被测系统可以非本计算机设备的硬件组成部分,而是部署在本设备之外的计算机设备上的某个网络应用系统,并通过网络向外部提供应用服务。
[0147]
电子设备500中的各个组件通过总线系统505耦合在一起。可理解,总线系统505用于实现这些组件之间的连接通信。总线系统405除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统505。
[0148]
其中,用户接口503可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
[0149]
可以理解,存储器502可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本技术实施例描述的存储器502旨在包括但不限于这些和任意其它适合类型的存储器。
[0150]
本技术实施例中的存储器502用于存储各种类型的数据以支持电子设备500的操作。这些数据的示例包括:用于在电子设备500上操作的任何计算机程序,如操作系统5021和应用程序5022;联系人数据;电话簿数据;消息;图片;音频等。其中,操作系统5021包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序5022可以包含各种应用程序,例如媒体播放器(media player)、浏览器(browser)等,用于实现各种应用业务。实现本技术实施例方法的程序可以包含在应用程序5022中。
[0151]
上述本技术实施例揭示的方法可以应用于处理器501中,或者由处理器501实现。处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器501可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器502,处理器501读取存储器502中的信息,结合其硬件完成前述方法的步骤。
[0152]
在示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)、通用处理器、控制器、微控制器
(mcu,micro controller unit)、微处理器(microprocessor)、或其他电子元件实现,用于执行前述方法。
[0153]
在示例性实施例中,本技术实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器502,上述计算机程序可由电子设备500的处理器501执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备,如移动电话、计算机、平板设备、个人数字助理等。
[0154]
一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时,执行上述任一种系统测试方法中任一项方法步骤。
[0155]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0156]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0157]
本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0158]
本技术所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
[0159]
本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
[0160]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。

技术特征:
1.一种集群管理方法,其特征在于,所述方法包括:根据通用容器模型ccm创建不同云平台场景下的容器集群,所述ccm模型中至少包括有容器集群的集群资源自定义模型crd、容器集群节点crd、容器集群资源节点crd和容器集群模板crd;在所述容器集群当前处于正常态的情况下,根据所述容器集群的类型信息确定所述容器集群的路由资源;所述路由资源中至少携带有用于访问所述容器集群的目标资源的访问链路。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取所述容器集群的目标信息,所述目标信息包括所述容器集群的类型信息、版本信息、配置信息、状态信息中的至少一个;基于所述目标信息构建所述集群资源crd;获取所述容器集群的容器节点信息,所述容器节点信息包括容器节点的运行信息、名称、节点所属集群、节点地址信息、节点状态信息中的至少一个;基于所述容器节点信息构建所述容器集群节点crd;获取所述容器集群的资源节点信息,所述资源节点信息包括资源节点关联的模板信息,资源所在的节点信息、资源存储信息、资源网络信息中的至少一个;基于所述资源节点信息构建所述容器集群资源节点crd;获取不同云平台场景下的集群模板信息,所述集群模板信息包括自定义资源模板信息、自定义集群模板信息、集群访问模板信息中的至少一个;基于所述集群模板信息构建所述容器集群模板crd。3.根据权利要求1所述的方法,其特征在于,所述根据ccm创建不同云平台场景下的容器集群,包括:根据所述集群资源crd确定待创建容器集群对应的场景信息,所述场景信息包括公有云场景、混合云场景、私有云场景中的至少一个;根据所述容器集群模板crd在不同场景信息下配置的集群模板信息,确定所述容器集群在不同云平台场景下对应的容器集群资源节点crd和容器集群节点crd;根据所述容器集群资源节点crd和容器集群节点crd创建不同云平台场景下的容器集群。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:监听所述容器集群的创建状态;如果所述创建状态表征所述容器集群创建成功,更新所述容器集群在所述集群资源crd中的状态信息为正常态。5.根据权利要求1所述的方法,其特征在于,在所述容器集群当前处于正常态的情况下,根据所述容器集群的类型信息确定所述容器集群的路由资源,包括:确定所述容器集群当前处于正常态的情况下,基于所述集群资源crd确定所述容器集群的类型信息和访问地址;基于所述类型信息和所述访问地址建立所述容器集群的安全访问凭证信息和对应的访问入口地址;所述安全访问凭证信息和所述访问入口地址用于指示从所述访问地址访问所述容器集群的目标资源。6.根据权利要求5所述的方法,其特征在于,在所述容器集群当前处于正常态的情况
下,根据所述容器集群的类型信息确定所述容器集群的路由资源,包括:在所述容器集群当前处于正常态的情况下,根据所述容器集群的类型信息和服务器全局状态信息确定当前满足缓存条件的至少一目标服务器;基于所述集群资源crd中的配置信息和所述安全访问凭证信息构建所述目标服务器与所述容器集群的通信连接;基于所述通信连接在所述目标服务器上缓存所述容器集群的目标资源。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:通过所述容器集群的安全访问凭证信息和对应的访问入口地址获取所述容器集群在所述目标服务器上的缓存状态信息;如果所述缓存状态信息表征所述容器集群在所述目标服务器上的缓存状态异常,控制所述目标服务器释放所述容器集群的目标资源。8.一种集群管理系统,其特征在于,所述系统包括:集群管理ccm,至少包括有集群资源crd、容器集群节点crd、容器集5群资源节点crd、容器集群模板crd;容器集群管理系统,用于根据所述集群资源crd、所述容器集群节点crd、所述容器集群资源节点crd、所述容器集群模板crd对不同云平台场景下的容器集群进行创建;资源管理系统,用于在所述容器集群当前处于正常态的情况下,根据所述0容器集群的类型信息确定所述容器集群的路由资源;所述路由资源中至少携带有用于访问所述容器集群的目标资源的访问链路。9.一种集群管理装置,其特征在于,所述装置包括:创建单元,用于根据ccm模型创建不同云平台场景下的容器集群,所述ccm模型中至少包括有容器集群的集群资源crd、容器集群节点crd、容器5集群资源节点crd和容器集群模板crd;管理单元,用于在所述容器集群当前处于正常态的情况下,根据所述容器集群的类型信息确定所述容器集群的路由资源;所述路由资源中至少携带有用于访问所述容器集群的目标资源的访问链路。10.一种电子设备,其特征在于,所述电子设备包括:处理器和用于存储0能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行上述权利要求1至7所述的任一种集群管理方法中的任一项方法步骤。

技术总结
本申请提供一种集群管理方法,所述方法包括:根据CCM模型创建不同云平台场景下的容器集群,所述CCM模型中至少包括有容器集群的集群资源CRD、容器集群节点CRD、容器集群资源节点CRD和容器集群模板CRD;在所述容器集群当前处于正常态的情况下,根据所述容器集群的类型信息确定所述容器集群的路由资源;所述路由资源中至少携带有用于访问所述容器集群的目标资源的访问链路。本申请还同时提供了一种集群管理系统、装置、电子设备及存储介质。可以在不同云平台场景下复用同一个技术架构进行容器集群的创建,实现了对不同云平台场景下的集群资源进行统一管理。资源进行统一管理。资源进行统一管理。


技术研发人员:杨巍巍 刘军卫
受保护的技术使用者:中国移动通信集团有限公司
技术研发日:2023.01.03
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐