一种kubernetes环境下基于动态优先级的资源调度方法技术

技术编号:24010276 阅读:30 留言:0更新日期:2020-05-02 01:30
本发明专利技术提供一种kubernetes环境下基于动态优先级的资源调度方法,属于云计算技术领域,本发明专利技术通过kubernetes监控系统获取到node节点的资源使用情况然后结合pod对于CPU内存资源的需求情况,构建出node节点的动态优先级,优先级最高的节点即为最适合调度的节点。

A resource scheduling method based on dynamic priority in kubernetes

【技术实现步骤摘要】
一种kubernetes环境下基于动态优先级的资源调度方法
本专利技术涉及云计算技术,尤其涉及一种kubernetes环境下基于动态优先级的资源调度方法。
技术介绍
云计算平台主要利用了虚拟化技术达到资源的按需供应,传统的虚拟化技术对于资源消耗巨大,并且系统架构较为复杂。容器技术作为新一代的虚拟化技术,其资源开销小,架构简单,更加的轻量级。因此容器技术成为了下一代云计算平台的发展方向。kubernetes平台是一种paas平台,是基于容器技术的资源编排调度平台。pod作为kubernetes平台中资源调度的最小单元。kubernetes具有对服务进行自动化的编排,部署,资源调度等能力深受开发者的喜爱。而一个良好的资源调度策略对于kubernetes平台至关重要。
技术实现思路
为了解决以上技术问题,本专利技术提出了一种高效、合理的kubernetes环境下基于动态优先级的资源调度方法,一方面能够综合的考虑到node节点的资源提供能力,同时兼顾了pod对于CPU内存资源的需求偏好。本专利技术的技术方案是:一种kubernetes环境下基于动态优先级的资源调度方法,首先通过kubernetes监控系统获取到node节点的资源使用情况以及自身资源的提供能力;然后根据待调度pod对于CPU内存资源的需求情况,量化出CPU内存资源的需求程度;最后构建出待调度的node节点的动态优先级,优先级最高的节点即为选择调度的节点。进一步的,通过kubernetes监控系统获取到平台中各个node节点的CPU内存资源的情况。其中cpu_util(nodei)表示node节点i的cpu使用率,mem_util(nodei)表示节点i的内存使用率;core(nodei)表示node节点i的cpu核数,frequency(nodei)表示node节点i的cpu工作频率(单位为GHZ);mem(nodei)表示node节点i的总内存大小(单位为Gb)。进一步的,kubernetes调度器获取到podj对CPU内存资源的请求,分别为request_cpu(j),request_mem(j);过滤掉CPU内存不足的节点node。进一步的,根据获取到的节点nodei的资源使用情况以及podj对CPU内存资源的请求;计算出各个node节点综合得分。其计算模型如下:其中n表示节点nodei的cpu颗数,以及β为影响因子,表示待调度的pod对CPU内存资源的需求偏好。以及β的计算模型如下:β=(request_mem(j)/default_mem)/(request_cpu(j)/default_cpu+request_mem(j)/default_mem)其中参数request_cpu(j)、request_mem(j)表示podj对CPU内存资源的请求;default_cpu以及default_mem表示kubernetes默认分配给pod的CPU内存资源的大小。根据以上模型,计算出各个node节点中综合得分最高的节点nodei,即为调度器选择的最优节点。本专利技术的有益效果是kubernetes调度器一方面能够实时的根据待调度的node节点的资源使用以及资源提供能力分配pod。同时充分考虑了pod对CPU内存资源的不同需求偏好。保证了调度策略高效、合理。附图说明图1是kubernetes系统设计示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。kubernetes调度器获取到实时的node节点的资源使用情况构造出各个节点的综合得分。包含两个方面,一方面是node节点自身的资源使用以及资源提供能力。另一方面兼顾了pod对于CPU内存资源不同的需求偏好。最后调度器根据各个node节点的综合得分,选择得分最高的节点最为目标调度节点。根据kubernetes监控系统获取到各个node节点的资源情况,构建出node节点对于CPU内存资源的实时提供能力。根据pod对于CPU内存不同类型资源的需求偏好,构建出步骤一模型中CPU内存资源的影响因子。根据以上模型,计算出综合得分最高的node节点作为调度器的最优调度节点。其具体实施过程如下:首先通过kubernetes监控系统获取到node节点的资源使用情况以及自身资源的提供能力,然后根据待调度pod对于CPU内存资源的需求情况,量化出CPU内存资源的需求程度。最后构建出待调度的node节点的动态优先级,优先级最高的节点即为选择调度的节点。主要包含以下步骤:(1)通过kubernetes监控系统获取到平台中各个node节点的CPU内存资源的情况。其中cpu_util(nodei)表示node节点i的cpu使用率,mem_util(nodei)表示节点i的内存使用率。core(nodei)表示node节点i的cpu核数,frequency(nodei)表示node节点i的cpu工作频率(单位为GHZ)。mem(nodei)表示node节点i的总内存大小(单位为Gb)。(2)kubernetes调度器获取到podj对CPU内存资源的请求,分别为request_cpu(j),request_mem(j)。过滤掉CPU内存不足的节点node。(3)根据获取到的节点nodei的资源使用情况以及podj对CPU内存资源的请求。计算出各个node节点综合得分。其计算模型如下:其中n表示节点nodei的cpu颗数,以及β为影响因子,表示待调度的pod对CPU内存资源的需求偏好。其计算模型如下:β=(request_mem(j)/default_mem)/(request_cpu(j)/default_cpu+request_mem(j)/default_mem)其中参数request_cpu(j)、request_mem(j)表示podj对CPU内存资源的请求。defau_lt以及default_mem表示kubernetes默认分配给pod的CPU内存资源的大小。(4)根据以上模型,计算出各个node节点中综合得分最高的节点nodei,即为调度器选择的最优节点。以上所述仅为本专利技术的较佳实施例,仅用于说明本专利技术的技术方案,并非用于限定本专利技术的保护范围。凡在本专利技术的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本专利技术的保护范围内。本文档来自技高网...

【技术保护点】
1.一种kubernetes环境下基于动态优先级的资源调度方法,其特征在于,/n首先通过kubernetes监控系统获取到node节点的资源使用情况以及自身资源的提供能力;/n然后根据待调度pod对于CPU内存资源的需求情况,量化出CPU内存资源的需求程度;/n最后构建出待调度的node节点的动态优先级,优先级最高的节点即为选择调度的节点。/n

【技术特征摘要】
1.一种kubernetes环境下基于动态优先级的资源调度方法,其特征在于,
首先通过kubernetes监控系统获取到node节点的资源使用情况以及自身资源的提供能力;
然后根据待调度pod对于CPU内存资源的需求情况,量化出CPU内存资源的需求程度;
最后构建出待调度的node节点的动态优先级,优先级最高的节点即为选择调度的节点。


2.根据权利要求1所述的方法,其特征在于,
通过kubernetes监控系统获取到平台中各个node节点的CPU内存资源的情况。


3.根据权利要求2所述的方法,其特征在于,
其中cpu_util(nodei)表示node节点i的cpu使用率,mem_util(nodei)表示节点i的内存使用率;
core(nodei)表示node节点i的cpu核数,frequency(nodei)表示node节点i的cpu工作频率(单位为GHZ);
mem(nodei)表示node节点i的总内存大小(单位为Gb)。


4.根据权利要求3所述的方法,其特征在于,
kubernetes调度器获取到podj对CPU内存资源的请求,分别为request_cpu(j),request_mem(j);...

【专利技术属性】
技术研发人员:张建伟张晖孙思清高传集蔡卫卫李珂
申请(专利权)人:浪潮云信息技术有限公司
类型:发明
国别省市:山东;37

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

1