一种新的权重可变的资源调度方法技术

技术编号:31807732 阅读:18 留言:0更新日期:2022-01-08 11:09
本发明专利技术公开了一种新的权重可变的资源调度方法,涉及容器集群领域,该方法包括对容器化集群中资源(CPU,内存,存储,镜像)的监控,并以固定时间间隔将获取的资源信息,保存在数组中;当有新任务调度时,从数组中按照比例获取满足其资源需求的节点,并对满足任务资源需要的节点进行初始筛选;根据生产需要手动赋予不同的权重,对通过筛选的节点,权值累加求和,进而选出总分最高的工作节点进行任务绑定。本公开方案能够在新任务加入集群时,减少任务调度的时间消耗,并在任务部署阶段有效节约占用的网络带宽。网络带宽。网络带宽。

【技术实现步骤摘要】
一种新的权重可变的资源调度方法


[0001]本公开涉及计算机
,具体涉及一种容器化集群的权重可变的资源调度方法。

技术介绍

[0002]容器技术越来越普及,据Gartner估计,2022年,全球将有3/4的公司使用容器技术,而在2017年使用容器技术的公司还不到20%。容器技术的火热应用引发了上层应用容器编排技术的发展,目前最受欢迎的容器编排系统是谷歌公司开源的Kubernetes,其引领着技术潮流,用于应对生产环境中编排容器所需的额外复杂度及成本。Kubernetes系统帮助企业加快了容器编排的速度,并实现了对多容器集群的大规模管理。它允许持续集成和交付、网络处理、服务发现及存储服务等,并具有在多云环境下进行操作的能力。
[0003]目前,主流的容器编排系统的调度方案,均是由独立的调度器组件集中调度,一般的调度流程为:对需要调度的任务,遍历一定数量的节点,依次对节点进行验证是否满足任务需求,接下来将满足任务需求的节点按调度策略进行打分,选择分数最高的节点部署任务。
[0004]Kubernetes每次进行任务调度时,都会依次遍历每一个节点的资源使用状况,从中选择满足资源需求的节点,这种方式会对大量不满足基本资源需求的节点进行操作,占用部分运算资源,并延长了调度任务的时间。同时,在实际场景中工作节点中往往存在部分调度任务需要的镜像,Kubernetes调度时未考虑节点中已存在的镜像,若调度到不含需求镜像的节点时会占用大量网络带宽。

技术实现思路

[0005]针对上述问题,本公开实施例提供一种新的权重可变的资源调度方法,以缩减调度时间,并减少网络带宽消耗。
[0006]为达到以上目的,本专利技术采用如下的技术方案:一种新的权重可变的资源调度方法,其中包括能够预先获取节点的资源使用情况,并存储节点上已有镜像列表,其中包括CPU的空闲资源、剩余内存、剩余存储空间。
[0007]在上述的权重可变的资源调度方法中,周期性获取资源使用情况,时间长度默认为30分钟,可以自定义时间长度。
[0008]在上述的权重可变的资源调度方法中,预先获取的节点资源使用情况,以空闲CPU和剩余内存的大小为横纵坐标,对应的节点编号作为值存储在二维数组中。
[0009]在上述的权重可变的资源调度方法中,节点上已有的镜像存储在以节点编号为键,镜像列表为值的哈希表上。
[0010]在上述的权重可变的资源调度方法中,以满足目标任务的CPU和内存需求为首选筛选策略,在二维数组中选取符合要求的节点。
[0011]对通过资源检测的节点,进行约束条件检测包括:目标任务所需的卷和备选节点
中已存在的卷是否存在冲突;目标任务所需的HostPort是否已被节点上的其他容器或服务占用;节点是否满足目标任务指定的节点主机名;节点标签是否匹配目标任务的nodeSelector属性要求;节点已挂载的EBS、GCE、Azure存储卷不超过设置的最大值;节点是否已经进入到内存压力状态;节点是否已经进入到磁盘压力状态;节点亲和性筛选。
[0012]对通过约束条件检测的节点,根据实际生产需要,对节点的不同属性赋予不同的权重。
[0013]在上述的权重可变的资源调度方法中,CPU和内存的使用率越低得分越高,节点所含任务需要的镜像数量越多得分越高,已有镜像大小越大得分越高。
[0014]在上述的权重可变的资源调度方法中,入选节点总分为各模块得分与权重的乘积和。
附图说明
[0015]图1为本专利技术实施例一种新的权重可变的资源调度方法的流程示意图之一;
[0016]图2为本专利技术实施例一种新的权重可变的资源调度方法的流程示意图之二;
具体实施方式
[0017]显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0018]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
[0019]术语说明:
[0020]工作节点:集群中除了提供集群管理服务的其他服务器被称为工作节点,工作节点可以是一台物理主机,也可以是一台虚拟机。每个工作节点都会被分配一些工作负载(容器)。
[0021]目标任务:也称作服务,Service,一般来说,Service指的是无状态服务,通常由多个程序副本提供服务,在特殊情况下也可以是有状态的单例服务,比如MySQL这种数据存储类服务。
[0022]存储卷:存储卷是能够被多个容器访问的共享目录。存储卷被定义在Pod中,被一个Pod里的多个容器挂载到具体的文件目录下;存储卷的生命周期和容器的生命周期不相关,当容器终止或重启时,存储卷中的数据也不会丢失。
[0023]下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。
[0024]本专利技术实施例提供了一种新的权重可变的资源调度方法,其通过对工作节点资源的监控,减少调度时的时间消耗,并节约网络带宽消耗。
[0025]为了达到上述技术效果,本申请的总体思路如下:
[0026]以固定时间周期获取集群中工作节点的资源使用状况,并更新到数据结构中。
[0027]筛选通过资源限制的节点,并设置不同条件的权重。
[0028]对通过所有筛选条件的节点,进行打分,做权重分数乘积的累加和。
[0029]成功将任务绑定到节点后,将节点资源状况更新到数据结构中。
[0030]实施例一
[0031]如图1所示,本专利技术实施例提供一种新的权重可变的资源调度方法,其包括:
[0032]S1:以固定时长周期性获取集群中所有工作节点的资源(CPU,内存)的使用状况和已存在的镜像id,分别存储在二维数组和镜像列表中;
[0033]提前获取工作节点资源的剩余情况,并设置一定的冗余,可以确保要进入筛选的工作节点,均满足资源需求。
[0034]S2:目标任务运行时,根据目标任务对资源(CPU,内存)的约束,遍历二维数组中满足约束条件的节点,同时对它们进行其他约束条件的验证。
[0035]经S1操作后,可节约筛选时间,并同时缩小筛选范围。筛选过程,去除不符合任务需求的工作节点,经此步骤的节点,均可作为任务的工作节点。
[0036]S3:对满足约束条件的节点,根据实际生产需要设置不同的权重(节点的镜像列表存在目标镜像,赋予高权值),累加求和。
[0037]根据实际生产需要。包括容灾、网络带宽消耗、稳定性、传输距离。对同属一个server,replicationcontroller或replica的多个任务副本,尽量调度到多个不同节点上。如果指定区域,会尽量将任务分散到不同区域的不同工作节点上;根据节点上是否存在目标任务运行所需的镜像,节点匹配镜像数量多的节点优先。...

【技术保护点】

【技术特征摘要】
1.一种新的权重可变的资源调度方法,其特征在于,包括:以固定时长周期性获取集群中所有工作节点的资源(CPU,内存)的使用状况和已存在的镜像ID,分别存储在二维数组和镜像列表中;目标任务运行时,根据目标任务对资源(CPU,内存)的约束,遍历二维数组中满足约束条件的节点,同时对它们进行其他约束条件的验证;对满足约束条件的节点,根据实际生产需要设置不同的权重(节点的镜像列表存在目标镜像,赋予高权值),累加求和;将目标任务绑定到分数最高的节点上,并将CPU和内存的使用状况和已有镜像更新到二维数组与镜像列表中。2.根据权利要求1所述的方法,其特征在于:所述工作节点资源包括:CPU、内存、存储、已有镜像;所述数据结构包括:二维数组、镜像列表;所述目标任务包括:创建/启动一个指定镜像的容器。3.根据权利要求1所述的方法,其中,约束条件包括:目标任务所需的卷和备选节点中已存在的卷是否存在冲突;目标任务所需的HostPort是否已被节点上的其他容器或服务占...

【专利技术属性】
技术研发人员:魏本利张亚楠李长毅
申请(专利权)人:哈尔滨理工大学
类型:发明
国别省市:

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

1