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

一种基于Kubernetes集群的资源调度策略优化方法与流程

2022-02-22 04:01:51 来源:中国专利 TAG:

一种基于kubernetes集群的资源调度策略优化方法
技术领域
1.本发明涉及资源调度方法领域,具体涉及一种基于kubernetes集群的资源调度策略优化方法。


背景技术:

2.随着容器技术的产生与飞速发展,以docker为代表的容器技术越来越受人们的重视。相较于传统虚拟机技术,它能够提供一个更加轻量且易用的应用部署解决方案。docker目前已经是工业界所广泛采用的容器化技术,在单机上运行docker容器,无法发挥它的最大效能,其从单机走向集群已经成为必然。只有构建集群,才能最大的发挥容器的隔离、资源分配和编排管理的优势。
3.开源的kubernetes有着出色的容器调度与管理能力,如今已经成为了业界容器编排系统的首选。
4.kubernetes的资源调度器在进行资源调度时通过预选方案和优选方案将待调度的pod(资源调度的最小单位)分配到合适的节点上,但是在调度的方法上还存在以下两点不足之处:
5.1)在优选方案中默认调度器只考虑节点上资源(一般为cpu资源和内存资源)的剩余量或者比例,没有把pod本身所需要的资源计算在内,导致各个节点上产生大量的资源碎片,现如今的研究也没有很好地解决这一问题。
6.2)在同一资源调度器调度不同pod副本时,每调度一个pod副本就会进行一次预选、优选计算,导致了大量的冗余计算。
7.如果能采用一种方法优化优选算法并且对同一资源控制器下不同pod副本的调度方式进行改进,就能很好地解决节点上单一资源剩余情况,并且减少资源调度时的计算冗余。


技术实现要素:

8.本发明要解决的技术问题是针对以上不足,提供一种基于kubernetes集群的资源调度策略优化方法。
9.为解决以上技术问题,本发明采用以下技术方案:
10.一种基于kubernetes集群的资源调度策略优化方法,包括以下步骤:
11.步骤1、预选得到所有可用节点,筛选出符合pod要求的节点,这些节点成为下一流程的候选节点。
12.步骤2、在上一步筛选出来的节点中进一步进行筛选,使用优选策略分别计算出每一个可用节点的得分,得分最高的节点则为最适合被调度的节点,在所述优选策略中新增一个权值计算公式,表示pod所需cpu与内存资源比例与节点剩余cpu与内存资源比例越接近分数越高,公式如下:
13.{1-|pod所需cpu资源与节点剩余cpu资源的比值-pod所需内存资源与节点剩余内
存资源的比值|}*score;
14.其中,score表示预设固定分数值。
15.进一步的,步骤2中,若是对同一种pod的不同pod副本进行调度,则调度步骤如下:
16.步骤2.1、利用优选策略计算各个节点到pod副本的得分,并将所有节点按得分降序排序作为待调度队列,
17.步骤2.2、从待调度队列中取出得分最高的节点并分配给一个待部署pod副本,剩下的pod副本按得分的降序依次排列到剩余节点上;
18.步骤2.3、若待调度队列中的节点足够分配给所有pod副本,则待调度pod副本全部分配完毕后,转到步骤5,若待调度队列中的节点不够分配给所有pod副本,则所有节点全部分配完毕后,转到步骤4;
19.步骤2.4、等待节点释放资源,节点释放资源后转到步骤1;
20.步骤2.5、调度完毕,流程结束。
21.进一步的,步骤2中,若同时有多个节点为最高分,则利用随机算法从这些节点中随机选择一个进行调度。本发明采用以上技术方案后,与现有技术相比,具有以下优点:
22.1)在优选的打分策略上,提出了一种算法,把待调度pod所需要的cpu和内存的资源加入计算,与节点上剩余cpu和内存资源进行比较、打分,资源相对比例最接近的节点分数越高,减少了大量资源碎片。
23.2)在同一资源调度器调度不同pod副本时提出了一种新的调度方法,不用每次都进行打分计算,而是在一次打分之后,将节点按照打分高低降序排序,放入待调度队列中依次对多个pod副本进行调度,减少了大量的冗余计算,并且极大限度避免了不同pod副本调度到了同一节点之上,减少了宕机的可能。
24.下面结合附图和实施例对本发明进行详细说明。
附图说明
25.图1为对同一种pod的不同pod副本进行调度时本发明的方法流程示意图。
具体实施方式
26.以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
27.kubernetes的调度流程分为以下三步:
28.(1)预选调度:检查所有可用节点,筛选出符合pod要求的节点。这些节点成为下一流程的候选节点。
29.(2)优选调度:在流程(1)筛选出来的节点中进一步进行筛选。使用优选策略分别计算出每一个可用节点的得分,得分最高的节点则为最适合被调度的节点。
30.(3)选定:如果优选调度策略计算出来的得分结果中,同时有两个或多个节点为最高分节点,那么就利用随机算法从这些节点中随机选择一个进行调度。
31.1.优选打分算法优化
32.在所述优选策略中新增一个权值计算公式,表示pod所需cpu与内存资源比例与节点剩余cpu与内存资源比例越接近分数越高,公式如下:
33.{1-|pod所需cpu资源与节点剩余cpu资源的比值-pod所需内存资源与节点剩余内存资源的比值|}*score;其中,score表示预设固定分数值。
34.所以,在调度某一资源密集型的pod时,会优先被调度到此资源比例最大的节点上,减少了大量的资源碎片。
35.2.同一资源调度器不同pod副本调度方式优化
36.如图1所示,kubernetes默认调度器在调度同一资源控制器下的不同副本时,会产生大量的冗余计算,其研究的现状也没有很合适地减少计算时间,或者有的方案会产生其它可预测的问题,如图1所示为本发明提出的优化方案:
37.在预选流程中筛选出符合条件的节点,在优选流程中给每一个节点打分,然后做降序排序,将排在第一位所对应的节点作为待部署节点部署该pod副本,剩余的副本依次部署,若节点数量不足以部署,就重新预选、优选,若预选出来的节点数为0,就将副本挂起,等待节点释放资源,此方法不仅减少了大量的计算,还符合不同pod副本调度到不同节点的原则,减少了宕机的可能。
38.以上所述为本发明最佳实施方式的举例,其中未详细述及的部分均为本领域普通技术人员的公知常识。本发明的保护范围以权利要求的内容为准,任何基于本发明的技术启示而进行的等效变换,也在本发明的保护范围之内。


技术特征:
1.一种基于kubernetes集群的资源调度策略优化方法,其特征在于,包括以下步骤:步骤1、预选得到所有可用节点,筛选出符合pod要求的节点,这些节点成为下一流程的候选节点。步骤2、在上一步筛选出来的节点中进一步进行筛选,使用优选策略分别计算出每一个可用节点的得分,得分最高的节点则为最适合被调度的节点,在所述优选策略中新增一个权值计算公式,表示pod所需cpu与内存资源比例与节点剩余cpu与内存资源比例越接近分数越高,公式如下:{1-|pod所需cpu资源与节点剩余cpu资源的比值-pod所需内存资源与节点剩余内存资源的比值|}*score;其中,score表示预设固定分数值。2.根据权利要求1所述的基于kubernetes集群的资源调度策略优化方法,其特征在于,步骤2中,若是对同一种pod的不同pod副本进行调度,则调度步骤如下:步骤2.1、利用优选策略计算各个节点到pod副本的得分,并将所有节点按得分降序排序作为待调度队列,步骤2.2、从待调度队列中取出得分最高的节点并分配给一个待部署pod副本,剩下的pod副本按得分的降序依次排列到剩余节点上;步骤2.3、若待调度队列中的节点足够分配给所有pod副本,则待调度pod副本全部分配完毕后,转到步骤5,若待调度队列中的节点不够分配给所有pod副本,则所有节点全部分配完毕后,转到步骤4;步骤2.4、等待节点释放资源,节点释放资源后转到步骤1;步骤2.5、调度完毕,流程结束。3.根据权利要求1所述的基于kubernetes集群的资源调度策略优化方法,其特征在于,步骤2中,若同时有多个节点为最高分,则利用随机算法从这些节点中随机选择一个进行调度。

技术总结
本发明涉及一种基于Kubernetes集群的资源调度策略优化方法,具体涉及Kubernetes资源调度的整个调度过程,包括调度算法的优化和调度方式的优化,主要用于Kubernetes集群对Docker容器的自动化部署,具体指Kubernetes的资源调度器在分配资源给各个节点时涉及到的优选算法优化以及在调度同一资源控制器下的不同副本时调度方式的优化,解决了调度资源不均衡问题和冗余计算问题。均衡问题和冗余计算问题。均衡问题和冗余计算问题。


技术研发人员:史爱武 刘可 张义欣 罗干 韩超
受保护的技术使用者:武汉工科智慧科技有限公司
技术研发日:2021.09.29
技术公布日:2022/1/28
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献