一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多集群资源管理方法、装置及电子设备与流程

2022-12-19 23:16:40 来源:中国专利 TAG:


1.本发明涉及云计算技术领域,尤其涉及一种多集群资源管理方法、装置及电子设备。


背景技术:

2.近年来,随着云计算领域的快速发展,kubernetes作为容器管理与调度编排领域的首选平台和事实标准,用于管理容器化应用和服务。在大规模应用场景中,多个集群的资源和配置不尽相同,资源的分配与管理较为复杂。如何对多集群进行资源管理以满足用户在大规模场景中的应用和多集群场景的需求,是一个亟需解决的问题。


技术实现要素:

3.本发明提供一种多集群资源管理方法、装置及电子设备,用以解决现有技术中多集群资源难以管理的缺陷,实现对大规模应用场景下多集群资源进行管理的效果。
4.本发明提供一种多集群资源管理方法,包括:
5.接收在前端用户界面输入的成员集群配置信息和外网ip地址,确定新的被管理的成员集群;
6.确定资源分发策略信息;所述资源分发策略信息包括待配置的成员集群和目标配置资源;
7.基于所述资源分发策略信息,向所述待配置的成员集群发送所述目标配置资源。
8.根据本发明提供的一种多集群资源管理方法,所述基于所述资源分发策略信息,向所述待配置的成员集群发送所述目标配置资源,包括:
9.确定模板yaml配置文件;
10.基于所述资源分发策略信息与所述模板yaml配置文件,确定差异化配置信息;
11.基于所述差异化配置信息,更新所述模板yaml配置文件;
12.将更新后的模板yaml配置文件发送至所述待配置的成员集群。
13.根据本发明提供的一种多集群资源管理方法,所述确定资源分发策略信息包括:
14.接收在前端用户界面的输入信息;
15.基于所述输入信息,确定所述待配置的成员集群和所述目标配置资源。
16.根据本发明提供的一种多集群资源管理方法,在所述接收在前端用户界面输入的成员集群配置信息和外网ip地址,确定被管理的成员集群之前,所述方法包括:
17.在目标云平台部署集群管理组件;
18.通过所述集群管理组件,对所述目标云平台纳管的成员集群进行管理。
19.根据本发明提供的一种多集群资源管理方法,所述通过所述集群管理组件,对所述目标云平台纳管的成员集群进行管理,包括:
20.向所述目标云平台纳管的成员集群发送状态获取请求;
21.接收所述目标云平台纳管的成员集群返回的资源类型数据;
22.基于所述资源类型数据,在所述前端用户界面显示所述目标云平台纳管的成员集群的状态信息。
23.根据本发明提供的一种多集群资源管理方法,所述通过所述集群管理组件,对所述目标云平台纳管的成员集群进行管理,还包括:
24.基于成员集群配置信息,生成通信凭证;所述通信凭证用于所述成员集群之间的通信;
25.将所述通信凭证发送至各个所述成员集群。
26.本发明还提供一种多集群资源管理装置,包括:
27.第一处理模块,用于接收在前端用户界面输入的成员集群配置信息和外网ip地址,确定新的被管理的成员集群;
28.第二处理模块,用于确定资源分发策略信息;所述资源分发策略信息包括待配置的成员集群和目标配置资源;
29.第三处理模块,用于基于所述资源分发策略信息,向所述待配置的成员集群发送所述目标配置资源。
30.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述多集群资源管理方法。
31.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述多集群资源管理方法。
32.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述多集群资源管理方法。
33.本发明提供的多集群资源管理方法、装置及电子设备,通过用户在前端用户界面的输入可以实现目标云平台添加新的成群集群进行纳管,并根据确定的资源分发策略信息,向待配置的成员集群发送目标配置资源,实现了定制化地编排和分发资源到各个成员集群中,使平台的功能更加丰富,可用性更强,降低了管理难度,进而方便管理。
附图说明
34.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1是本发明提供的多集群资源管理方法的流程示意图;
36.图2是本发明提供的eks平台的架构图;
37.图3是本发明提供的多集群资源管理装置的结构示意图;
38.图4是本发明提供的电子设备的结构示意图。
具体实施方式
39.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,
而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
40.下面结合图1-图4描述本发明的多集群资源管理方法、装置及电子设备。
41.本发明实施例的多集群资源管理方法的执行主体可以是控制器,当然,在一些实施例中,还可以是服务器,此处对执行主体的类型不作限制。下面以云平台的控制器为执行主体来对本发明实施例的多集群资源管理方法进行说明。
42.本发明实施例的多集群资源管理方法主要包括步骤110、步骤120和步骤130。
43.步骤110,接收在前端用户界面输入的成员集群配置信息和外网ip地址,确定新的被管理的成员集群。
44.需要说明的是,本实施方式中可以选择容器服务eks(elastic kubernetes service)来部署kubernetes多容器集群。eks基于kubernetes与云平台融合的产品形态,能够全面管理、交付和运维下一代云原生(cloud-native)应用,既发挥kubernetes面向应用的云容器引擎服务管理特性,同时利用云平台强大的数据中心基础设施管理能力,实现优势互补。
45.在一些实施例中,在接收在前端用户界面输入的成员集群配置信息和外网ip地址,确定被管理的成员集群之前,本发明实施例的多集群资源管理方法包括:在目标云平台部署集群管理组件。
46.如图2所示,在本实施方式中,目标云平台可以是eks。集群管理组件可以是karmada。可以通过集群管理组件,对目标云平台纳管的成员集群进行管理。
47.karmada是基于federation v2发展而来的云原生基金会沙箱项目,运行在kubernetes集群里。karmada组件轻量解耦性强,可以帮助用户实现跨多个kubernetes集群的资源编排,而无需更改应用程序,且支持kubernetes原生api并提供高级调度和二次调度的能力,支持多集群自动故障迁移和弹性扩缩容等功能。karmada组件可以通过控制面系统eksm进行集群管理,所有的元数据都在控制面系统中,并且控制面集群无需感知底层集群的变化。控制面系统可以以前端用户界面的形式来方便用户进行可视化管理与操作。
48.在一些实施例中,可以通过接收在前端用户界面输入的成员集群配置信息和外网ip地址,确定新的被管理的成员集群。
49.在用户在需要添加新的被管理的成员集群的情况下,用户可以先获取成员集群后台的信息确定该成员集群的配置信息karmada-kubeconfig和外网ip地址,进而确定出新的被管理的成员集群。前端用户界面可以通过直接操作cluster api实现对集群的添加和删除等操作。
50.步骤120,确定资源分发策略信息。
51.资源分发策略信息包括待配置的成员集群和目标配置资源。
52.在一些实施例中,确定资源分发策略信息包括:接收在前端用户界面的输入信息。
53.可以理解的是,可以通过用户的输入信息确定出资源分发策略信息。
54.用户可以在前端用户界面选择需要进行资源配置的成员集群,并选择该成员集群所需要配置的目标配置资源。
55.在此种情况下,可以基于输入信息,确定待配置的成员集群和目标配置资源。
56.在本实施方式中,可以通过用户在图形化的前端用户界面进行相关配置操作,可
以方便用户对容器资源进行编排与配置。
57.步骤130,基于资源分发策略信息,向待配置的成员集群发送目标配置资源。
58.在确定出资源分发策略信息后,可以向待配置的成员集群发送目标配置资源。
59.需要说明的是,目标配置资源可以从其他成员集群调取至待配置的成员集群。或者,目标配置资源还可以通过集群管理组件集中下发至各个待配置的成员集群。
60.根据本发明实施例提供的多集群资源管理方法,通过用户在前端用户界面的输入可以实现目标云平台添加新的成群集群进行纳管,并根据确定的资源分发策略信息,向待配置的成员集群发送目标配置资源,实现了定制化地编排和分发资源到各个成员集群中,使平台的功能更加丰富,可用性更强,降低了管理难度,进而方便管理。
61.在一些实施例中,基于资源分发策略信息,向待配置的成员集群发送目标配置资源,包括:确定模板yaml配置文件。
62.在一些实施例中,可以直接从前端用户界面调用现有的模板yaml配置文件。在另一些实施例中,还可以接收用户输入的模板yaml配置文件。此处对模板yaml配置文件的确认方式不作限制。
63.在此种情况下,可以基于资源分发策略信息与模板yaml配置文件,确定差异化配置信息。
64.可以理解的是,模板yaml配置文件包括以往的或者标准资源调度策略数据。可以将模板yaml配置文件中的资源调度策略数据与资源分发策略信息进行对比,确定出差异化配置信息。
65.在本实施方式中,可以基于差异化配置信息,更新模板yaml配置文件,并将更新后的模板yaml配置文件发送至待配置的成员集群,进而使得成员集群完成资源配置的更新。
66.由于吸取了federation v1失败的教训,karmada继承并改进了资源对象,用户需要分别创建资源模板、分发策略和差异化配置三个对象,配置模板yaml配置文件时与普通的kubernetes资源没有任何区别,分发策略决定多集群资源下发到哪些成员集群,差异化配置可以使不同成员集群中有不同的配置,例如镜像、环境变量和命令等。
67.在本实施方式中,由于支持在前端用户界面中手动选择创建和导入模板yaml配置文件创建工作负载这两种方式,在手动创建时需填写基本信息,并指定资源的分发策略。而在设置完容器镜像信息以后,可选择是否进行不同集群的差异化配置,默认提供镜像、端口和环境变量三种内容的差异化配置,通过选择待配置的成员集群和更新的内容,在完成工作负载创建或编辑后会自动按配置进行更新。
68.在一些实施例中,由于支持手动创建和导入模板yaml配置文件创建资源,容器集群配额设置可存为模板,可以方便后续配置进行使用。
69.在一些实施例中,可以将创建的资源如service、configmap、secret、pvc等资源,均通过在前端用户界面创建时选择下发的成员集群来批量下发。在多集群项目创建时,通过先在前端创建多集群项目,然后用命名空间与项目绑定的方式,实现多集群项目之间的资源隔离。
70.在一些实施例中,在接收在前端用户界面输入的成员集群配置信息和外网ip地址,确定被管理的成员集群之前,本发明实施例的多集群资源管理方法包括在目标云平台部署集群管理组件。
71.在一些实施例中,以eks平台为基础,将karmada组件的镜像都修改为本地的离线镜像,在代码库gauss功能组件中添加karmada组件,创建该功能的开关以及自动化运维ansible的task,并通过使用kubectl-karmada插件来进行部署。可以首先添加二进制文件的权限,并把二进制文件复制到环境变量目录下,获取kubelet的版本并保存为变量,并通过ansible脚本执行拼接好的shell命令进行部署。
72.在eks平台检测到karmada部署成功后,通过另一个task把当前集群,也就是karmada的控制面集群,自动添加为多集群的成员集群,在后面通过前端用户界面添加新的成员集群时,会默认存在一个host集群。
73.在此种情况下,可以通过集群管理组件,对目标云平台纳管的成员集群进行管理。
74.在一些实施例中,通过集群管理组件,对目标云平台纳管的成员集群进行管理,包括向目标云平台纳管的成员集群发送状态获取请求。
75.成员集群接收到状态获取请求后向集群管理组件发送各个成员集群的资源类型数据。
76.在接收目标云平台纳管的成员集群返回的资源类型数据后,基于资源类型数据,确定出各个成员集群的状态信息,并在前端用户界面显示目标云平台纳管的成员集群的状态信息。
77.在本实施方式中,可以通过实时监控成员集群资源类型的内容来确定成员集群的状态并在前端用户界面进行展示,可以方便用户直观地了解各个成员集群的运行状态。
78.通过集群管理组件,对目标云平台纳管的成员集群进行管理,还包括:基于成员集群配置信息,生成通信凭证,通信凭证用于成员集群之间的通信。再将通信凭证发送至各个成员集群,以便于各个成员集群之间进行通信。
79.需要说明的是,通过填入成员集群配置信息,会自动存为一个通信凭证secret以用于多集群间的通信凭证,能够方便各个成员集群之间进行通信,进而方便进行资源配置。
80.在本实施方式中,通过在云平台中集成karmada的多集群管理功能,使kubernetes集群具备更丰富的功能,满足用户在大规模场景中的应用和多集群场景的需求。
81.开发前端用户界面适配多集群功能,通过填写成员集群配置信息kubeconfig即可实现添加多集群控制面和成员集群,多集群添加的同时,成员集群也被前端系统纳管,在可视化前端用户界面中可以查看单集群和多集群的资源和配置等,简化了运维的操作难度,可以简便地创建和管理多集群资源,可纳管多个厂商的kubernetes集群。而且,不依赖专有的供应商编排,在前端界面集中管理运维多个集群,简化了运维的难度,定制化地编排和分发资源到各个集群中,使平台的功能更加丰富,可用性更强,方便管理。
82.下面对本发明提供的多集群资源管理装置进行描述,下文描述的多集群资源管理装置与上文描述的多集群资源管理方法可相互对应参照。
83.如图3所示,本发明实施例的多集群资源管理装置包括第一处理模块310、第二处理模块320和第三处理模块330。
84.第一处理模块310用于接收在前端用户界面输入的成员集群配置信息和外网ip地址确定新的被管理的成员集群;
85.第二处理模块320用于确定资源分发策略信息;资源分发策略信息包括待配置的成员集群和目标配置资源;
86.第三处理模块330用于基于资源分发策略信息,向待配置的成员集群发送目标配置资源。
87.根据本发明实施例提供的多集群资源管理装置,通过用户在前端用户界面的输入可以实现目标云平台添加新的成群集群进行纳管,并根据确定的资源分发策略信息,向待配置的成员集群发送目标配置资源,实现了定制化地编排和分发资源到各个成员集群中,使平台的功能更加丰富,可用性更强,降低了管理难度,进而方便管理。
88.在一些实施例中,第三处理模块330还用于确定模板yaml配置文件;基于资源分发策略信息与模板yaml配置文件,确定差异化配置信息;基于差异化配置信息,更新模板yaml配置文件;将更新后的模板yaml配置文件发送至待配置的成员集群。
89.在一些实施例中,第二处理模块320还用于接收在前端用户界面的输入信息;基于输入信息,确定待配置的成员集群和目标配置资源。
90.在一些实施例中,本发明实施例的多集群资源管理装置还包括第四处理模块,第四处理模块用于在目标云平台部署集群管理组件;通过集群管理组件,对目标云平台纳管的成员集群进行管理。
91.在一些实施例中,第四处理模块还用于向目标云平台纳管的成员集群发送状态获取请求;接收目标云平台纳管的成员集群返回的资源类型数据;基于资源类型数据,在前端用户界面显示目标云平台纳管的成员集群的状态信息。
92.在一些实施例中,第四处理模块还用于基于成员集群配置信息,生成通信凭证;通信凭证用于成员集群之间的通信;将通信凭证发送至各个成员集群。
93.图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(communications interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行多集群资源管理方法,该方法包括:接收在前端用户界面输入的成员集群配置信息和外网ip地址,确定新的被管理的成员集群;确定资源分发策略信息;资源分发策略信息包括待配置的成员集群和目标配置资源;基于资源分发策略信息,向待配置的成员集群发送目标配置资源。
94.此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
95.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的多集群资源管理方法,该方法包括:接收在前端用户界面输入的成员集群配置信息和外网ip地址,确定新的被管理的成员集群;确定资源分发策略信息;资源分发策略信息包括待配置的成员集群和目标配置资源;基于资源分发策
略信息,向待配置的成员集群发送目标配置资源。
96.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的多集群资源管理方法,该方法包括:接收在前端用户界面输入的成员集群配置信息和外网ip地址,确定新的被管理的成员集群;确定资源分发策略信息;资源分发策略信息包括待配置的成员集群和目标配置资源;基于资源分发策略信息,向待配置的成员集群发送目标配置资源。
97.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
98.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
99.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献