一种基于Kubernetes集群特征来调整不同资源计算权重的资源调度方法技术

技术编号:35467572 阅读:15 留言:0更新日期:2022-11-05 16:11
本发明专利技术公开了一种基于Kubernetes集群特征来调整不同资源计算权重的资源调度方法,属于云平台资源调度领域。针对Kubernetes资源调度的优选过程中多资源相关参数参与运算时权值不易确定的问题,本发明专利技术从负载服务的节点自身出发,意在保证节点自身各项资源的使用状况均衡,并通过获取集群中各节点各项资源的占用率计算占用率期望,作为权重调整因子来对各节点的负载程度进行计算,进而对节点打分,对于最高分不唯一的节点,将各项资源占用率作为多维向量计算欧氏距离来判断节点的自身资源均衡性,作为新的打分依据。作为新的打分依据。作为新的打分依据。

【技术实现步骤摘要】
一种基于Kubernetes集群特征来调整不同资源计算权重的资源调度方法


[0001]本专利技术属于云平台资源调度领域,具体涉及一种基于集群特征来调整不同资源参与计算的权重的资源调度方法。

技术介绍

[0002]随着互联网,5G,IPv6等技术的全面发展,网络业务量和数据流量呈几何级数增长,对服务并发和容错的需求也直线上升,部署服务的容器编排引擎技术获得迅速发展。由于硬件技术的瓶颈越来越明显,改进资源调度算法等软件优化手段变得愈发重要。
[0003]Kubernetes(以下统称为K8s)作为Google主导的容器编排引擎已经被广泛应用于服务部署。其有着便于移植扩展且稳定性高,可促进声明式配置和自动化的突出优势,是容器云发展的关键技术,其起源于Google的Borg论文,理论基础完善,同时扩展性强,具有成熟的自动化特征,以更为灵活方便地部署和管理复杂分布式系统为目标,它为每个容器分配内部IP,并且可以在集群中的任意位置进行访问,从而提供了一种分布式的环境。
[0004]Kubernetes的资源调度环节存在预选和优选两个部分,其预选环节会为当前需要部署的服务选择出可负载该服务的节点集合,优选部分则是负责选择出集合中最适合的节点,这就涉及到了优选环节的打分方法。然而其优选环节默认的资源调度打分方法较为简约,无法应对复杂的服务集群环境,故如何改进K8s的资源调度打分方法成为当今的热门研究话题。在K8s默认提供的打分方法中只使用了CPU和内存两项参数参与计算,而在资源调度的主流研究中,在这两项参数的基础上加入了网络带宽和磁盘IO参与计算,考虑更为全面,使得负载服务的节点资源分配更为均衡,基于上述四项参数运算的打分方法更具说服力。
[0005]不过针对多服务场景下的资源调度,无法明确确定不同服务对资源的使用倾向,故无法指向性地定义各种资源参与计算的权重。

技术实现思路

[0006]本专利技术的目的是针对K8s集群资源调度的优选过程中对多种资源参与计算的权重分配问题,提出了一种基于Kubernetes集群特征来调整不同资源计算权重的资源调度方法。通过该方法使得在将服务部署到负载节点上时,可通过调整因子动态调整参与打分方法的不同资源的计算权重。本专利技术基于Kubernetes的资源调度会涉及到CPU,内存,网络带宽和磁盘IO四项资源指标。
[0007]为实现上述目标,本专利技术提出了一种基于Kubernetes集群特征来调整不同资源计算权重的资源调度方法,包括如下步骤:
[0008](1)采集集群信息,包括集群中各节点的资源总量和剩余量信息;
[0009](2)通过集群中各节点的资源总量和剩余量信息,计算各节点各项资源的占用率;
[0010](3)计算集群中各项资源的占用率期望作为调整因子;
[0011](4)第一阶段打分:通过各节点各项资源的占用率以及各项资源的占用率期望,计算集群中每一个节点的负载程度,得到第一分值,将第一分值最高的节点作为候选节点;
[0012]若候选节点的数量为1,则将候选节点作为最终选中的节点,执行步骤(6);若候选节点的数量大于1,则执行步骤(5);
[0013](5)第二阶段打分:计算步骤(4)中所述的候选节点的离散度,将离散度最高的候选节点作为最终选中的节点;
[0014](6)进行绑定:将当前服务部署到最终选中的节点上。
[0015]进一步的,所述的步骤(4)具体为:
[0016](4.1)计算集群中每一个节点的负载程度:
[0017]S
i
=O(c
i
)*[1+(O(c
i
)

F(c))]+O(m
i
)*[1+(O(m
i
)

F(m))][0018]+O(n
i
)*[1+(O(n
i
)

F(n))]+O(d
i
)*[1+(O(d
i
)

F(d))][0019]其中,O(c
i
)、O(m
i
)、O(n
i
)、O(d
i
)分别代表第i个节点的CPU、内存、网络带宽和磁盘IO的占用率,F(c)、F(m)、F(n)、F(d)分别代表集群中CPU、内存、网络带宽和磁盘IO的占用率期望,S
i
代表第i个节点的负载程度;
[0020](4.2)根据负载程度,计算每一个节点的第一分值:
[0021][0022]其中,S
max
表示负载程度的最大值,Score
i
表示第i个节点的第一分值。
[0023]进一步的,所述的步骤(5)离散度的计算公式为:
[0024][0025]其中,O(c
i
)、O(m
i
)、O(n
i
)、O(d
i
)分别代表第i个节点的CPU、内存、网络带宽和磁盘IO的占用率,Ba
i
代表第i个候选节点的离散度。
[0026]通过上述步骤,实现对各项资源参与计算的权重动态调整,并给出相应打分方法。本专利技术抛开服务需求的资源占比,只针对负载服务的目标节点集合中各节点的资源使用情况,以调整因子的形式来进行各资源维度权重的修正,防止出现单一资源占比过高,导致该节点负载能力出现“木桶短板”的倾向。改进的调度打分方法能使得集群总体的资源利用率提高且各负载节点的利用率更为均衡。
附图说明
[0027]图1是本专利技术实施例中Kubernetes单次调度的基本流程;
[0028]图2是本专利技术实施例中各资源参与计算的权值动态调整的打分方法流程示意图。
具体实施方式
[0029]下面结合附图并通过具体实施方式来进一步描述本专利技术。
[0030]本专利技术中,在Kubernetes中部署服务的基础单位称为Pod,需要将Pod部署到集群中的某一节点上。
[0031]根据图1所示,在将Pod与节点进行绑定的过程中,经历了预选和优选两个阶段。预选会为Pod选择出剩余资源总量足够部署Pod的节点,并形成节点列表,当前Pod和节点列表
将作为优选阶段的输入,在优选阶段中会对该节点列表中的每一个节点进行打分,并将当前Pod绑定到得分最高的节点上去。而优选阶段的打分方法正是本专利技术的改进对象。
[0032]在Kubernetes中的默认打分方法主要涉及以下两种:
[0033]Least Requested Priority的选择策略意在选择节点上的CPU和内存空闲比例之和较大的目标节点,计算方式如下:
[0034][0035]Balanced Resource Allocation目标是追求CPU和内存的利用率之间的差值较小的目标节点,计算方式如下:
[0036][0037]其中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Kubernetes集群特征来调整不同资源计算权重的资源调度方法,其特征在于,包括如下步骤:(1)采集集群信息,包括集群中各节点的资源总量和剩余量信息;(2)通过集群中各节点的资源总量和剩余量信息,计算各节点各项资源的占用率;(3)计算集群中各项资源的占用率期望作为调整因子;(4)第一阶段打分:通过各节点各项资源的占用率以及各项资源的占用率期望,计算集群中每一个节点的负载程度,得到第一分值,将第一分值最高的节点作为候选节点;若候选节点的数量为1,则将候选节点作为最终选中的节点,执行步骤(6);若候选节点的数量大于1,则执行步骤(5);(5)第二阶段打分:计算步骤(4)中所述的候选节点的离散度,将离散度最高的候选节点作为最终选中的节点;(6)进行绑定:将当前服务部署到最终选中的节点上。2.根据权利要求1所述的一种基于Kubernetes集群特征来调整不同资源计算权重的资源调度方法,其特征在于,所述的步骤(4)具体为:(4.1)计算集群中每一个节点的负载程度:S
i
=O(c
i
)*[1+(O(c
i
)

F(c))]+O(m
i
)*[1+(O(m
i
)

F(m))]+O(n
i
)*[1+...

【专利技术属性】
技术研发人员:张娜于泽川包晓安包梓群
申请(专利权)人:浙江理工大学
类型:发明
国别省市:

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

1