资源调度方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:35155970 阅读:16 留言:0更新日期:2022-10-05 10:37
本申请涉及一种资源调度方法、装置、计算机设备和存储介质,该方法应用于容器云平台,包括:获取Kubernetes集群中各工作节点中生成的CRD资源;响应于接收到的有状态应用的创建请求,基于记录的资源列表,在各工作节点中选择与有状态应用适配的至少一个目标节点;资源列表包括各工作节点的CRD资源、以及已记录的各工作节点已被分配且用于创建POD的资源情况;在至少一个目标节点的资源中,选择与有状态应用适配的目标资源;基于选择出的目标资源,在至少一个目标节点上创建用于承载有状态应用的POD。本申请能将各工作节点的资源情况记录在资源列表中,并基于资源列表进行调度,解决了资源分配与实际创建不一致的问题。解决了资源分配与实际创建不一致的问题。解决了资源分配与实际创建不一致的问题。

【技术实现步骤摘要】
资源调度方法、装置、计算机设备和存储介质


[0001]本申请涉及云原生
,特别是涉及一种资源调度方法、装置、计算机设备和存储介质。

技术介绍

[0002]Kubernetes(简称K8s)是一个开源的容器集群管理系统,能够提供容器编排,资源调度,弹性伸缩,部署管理和服务发现等一系列功能,使容器化应用的部署工作更加简单和高效。调度器(Scheduler)作为云原生K8s架构中的核心组件,其作用是对编排的应用合理分配资源,调度到合适的计算节点。
[0003]在K8s集群中可以通过资源配额的方式来管理各个团队或者用户可使用资源的额度,以确保不会使用超过其分配份额的集群资源。由于资源调度是k8s调度器分配节点的过程,在分配各种资源时,没有实现调度资源实时的更新,特别是在一些高并发的情况下,可能存在资源分配与实际创建不一致的问题。
[0004]针对相关技术中存在资源分配与实际创建不一致的问题,目前还没有提出有效的解决方案。

技术实现思路

[0005]在本实施例中提供了一种资源调度方法、装置、计算机设备和存储介质,以解决相关技术中存在资源分配与实际创建不一致的问题。
[0006]第一个方面,在本实施例中提供了一种资源调度方法,应用于容器云平台,所述容器云平台包括Kubernetes集群;所述集群包括主控节点和若干工作节点,所述主控节点包括扩展调度器;所述资源调度方法适用于所述扩展调度器;所述资源调度方法包括:获取所述Kubernetes集群中各工作节点中生成的CRD资源;响应于接收到的有状态应用的创建请求,基于记录的资源列表,在各工作节点中选择与有状态应用适配的至少一个目标节点;所述资源列表包括各工作节点的CRD资源、以及已记录的各工作节点已被分配且用于创建POD的资源情况;在所述至少一个目标节点的资源中,选择与所述有状态应用适配的目标资源;基于选择出的目标资源,在所述至少一个目标节点上创建用于承载所述有状态应用的POD。
[0007]在其中的一些实施例中,当所述CRD资源为本地磁盘时,每个工作节点上的Agent进程基于该工作节点上的配置文件生成该工作节点上的所述CRD资源;当所述CRD资源为处理资源时,每个工作节点上的Agent进程获取该工作节点上的处理资源并进行资源转换得到该工作节点上的所述CRD资源。
[0008]在其中的一些实施例中,所述响应于接收到的有状态应用的创建请求,基于记录的资源列表,在各工作节点中选择与有状态应用适配的至少一个目标节点,包括:根据所述创建请求中的存储需求,创建声明所述有状态应用的存储需求的PVC;
基于记录的资源列表,在各工作节点中选择适配所述存储需求的至少一个目标节点。
[0009]在其中的一些实施例中,所述PVC包括静态PVC和动态PVC;所述动态PVC在所述POD创建之后,与所述目标资源进行绑定;所述静态PVC在List

watch机制监控下创建后,直接与所述目标资源进行绑定。
[0010]在其中的一些实施例中,上述方法还包括:在创建所述POD后,在所述资源列表中,添加并记录用于创建所述POD的所述目标资源。
[0011]在其中的一些实施例中,上述方法还包括:在确定所述目标资源后,锁定所述目标资源。
[0012]在其中的一些实施例中,所述目标资源的确定过程包括Prefilter、Filter、Reserve/Unreserve以及Prebind阶段;通过在所述Filter阶段进行扩展,以实现响应于接收到的有状态应用的创建请求,基于记录的资源列表,在各工作节点中选择与有状态应用适配的至少一个目标节点的步骤;通过在所述Reserve/Unreserve阶段进行扩展,以实现在所述至少一个目标节点的资源中,选择与所述有状态应用适配的目标资源以及在确定所述目标资源后,锁定所述目标资源的步骤。
[0013]第二个方面,在本实施例中提供了一种资源调度装置,应用于容器云平台,所述容器云平台包括Kubernetes集群;所述集群包括主控节点和若干工作节点,所述主控节点包括扩展调度器;所述装置包括:资源上报模块、资源调度模块以及资源分配模块;所述资源上报模块,用于获取所述Kubernetes集群中各工作节点中生成的CRD资源;所述资源调度模块,用于响应于接收到的有状态应用的创建请求,基于记录的资源列表,在各工作节点中选择与有状态应用适配的至少一个目标节点;所述资源列表包括各工作节点的CRD资源、以及已记录的各工作节点已被分配且用于创建POD的资源情况;在所述至少一个目标节点的资源中,选择与所述有状态应用适配的目标资源;所述资源分配模块,用于基于选择出的目标资源,在所述至少一个目标节点上创建用于承载所述有状态应用的POD。
[0014]第三个方面,在本实施例中提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的资源调度方法。
[0015]第四个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的资源调度方法。
[0016]与相关技术相比,在本实施例中提供的资源调度方法、装置、计算机设备和存储介质,应用于容器云平台,所述容器云平台包括Kubernetes集群;所述集群包括主控节点和若干工作节点,所述主控节点包括扩展调度器;所述资源调度方法适用于所述扩展调度器;所述资源调度方法包括:获取所述Kubernetes集群中各工作节点中生成的CRD资源;响应于接收到的有状态应用的创建请求,基于记录的资源列表,在各工作节点中选择与有状态应用
适配的至少一个目标节点;所述资源列表包括各工作节点的CRD资源、以及已记录的各工作节点已被分配且用于创建POD的资源情况;在所述至少一个目标节点的资源中,选择与所述有状态应用适配的目标资源;基于选择出的目标资源,在所述至少一个目标节点上创建用于承载所述有状态应用的POD,能够将各工作节点的资源情况记录在资源列表中,并基于资源列表进行调度,保证每次调度的资源是实时的,在分配的目标节点中创建POD,解决了资源分配与实际创建不一致的问题。
[0017]本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
[0018]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是一个实施例中资源调度方法的终端的硬件结构框图;图2是一个实施例中Kubernetes集群的架构示意图;图3是一个实施例中资源调度方法的流程图;图4是一个优选实施例中资源调度方法的流程图;图5是一个实施例中资源调度装置的结构框图。
[0019]图中:102、处理器;104、存储器;106、传输设备;108、输入输出设备;10、资源上报模块;20、资源调度模块;30、资本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源调度方法,其特征在于,应用于容器云平台,所述容器云平台包括Kubernetes集群;所述集群包括主控节点和若干工作节点,所述主控节点包括扩展调度器;所述资源调度方法适用于所述扩展调度器;所述资源调度方法包括:获取所述Kubernetes集群中各工作节点中生成的CRD资源;响应于接收到的有状态应用的创建请求,基于记录的资源列表,在各工作节点中选择与所述有状态应用适配的至少一个目标节点;所述资源列表包括各工作节点的CRD资源、以及已记录的各工作节点已被分配且用于创建POD的资源情况;在所述至少一个目标节点的资源中,选择与所述有状态应用适配的目标资源;基于选择出的目标资源,在所述至少一个目标节点上创建用于承载所述有状态应用的POD。2.根据权利要求1所述的资源调度方法,其特征在于,当所述CRD资源为本地磁盘时,每个工作节点上的Agent进程基于该工作节点上的配置文件生成该工作节点上的所述CRD资源;当所述CRD资源为处理资源时,每个工作节点上的Agent进程获取该工作节点上的处理资源并进行资源转换得到该工作节点上的所述CRD资源。3.根据权利要求1所述的资源调度方法,其特征在于,所述响应于接收到的有状态应用的创建请求,基于记录的资源列表,在各工作节点中选择与有状态应用适配的至少一个目标节点,包括:根据所述创建请求中的存储需求,创建声明所述有状态应用的存储需求的PVC;基于记录的资源列表,在各工作节点中选择适配所述存储需求的至少一个目标节点。4.根据权利要求3所述的资源调度方法,其特征在于,所述PVC包括静态PVC和动态PVC;所述动态PVC在所述POD创建之后,与所述目标资源进行绑定;所述静态PVC在List

watch机制监控下创建后,直接与所述目标资源进行绑定。5.根据权利要求1所述的资源调度方法,其特征在于,还包括:在创建所述POD后,在所述资源列表中,添加并记录用于创建所述POD的所述目标资源。...

【专利技术属性】
技术研发人员:周文凯郑艳涛刘超高伟范泽添周明伟俞星刘永超黄宁金昕
申请(专利权)人:浙江大华技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1