一种基于应用画像的Kubernetes调度策略制造技术

技术编号:23763770 阅读:37 留言:0更新日期:2020-04-11 18:46
本发明专利技术公开了一种基于应用画像的Kubernetes调度策略,属于电数字数据处理技术领域,具体涉及资源分配。本发明专利技术提出的Kubernetes基于应用画像的Kubernetes的调度策略,包括收集正在运行的应用指标,计算及标记应用类型,计算应用相似性,及将应用调度到合适节点,该节点则满足Pod本身的预选要求,并且该节点上的运行的Pod与新调度Pod同质度较低,不易发生资源争用。

A kubernetes scheduling strategy based on application portrait

【技术实现步骤摘要】
一种基于应用画像的Kubernetes调度策略
本专利技术涉及电数字数据处理
,具体涉及资源分配,特别是一种云原生安全的Kubernetes调度策略。
技术介绍
随着云计算的不断发展,容器和Kubernetes已经成为云原生应用的基石,Kubernetes正在成为广大互联网公司和传统IT行业进行云化和简化运维的利器,在生产环境上得到大规模部署并被越来越多的公司采用。目前,Kubernetes的调度策略仅受应用使用的CPU、内存影响,并没有考虑磁盘IO、网络IO等其他因素,同时,应用间的相互影响也没有纳入调度策略。
技术实现思路
本专利技术的专利技术目的是,针对上述Kubernetes的调度策略指标简单、无法评估应用间相互影响的问题,提供一种基于应用画像的Kubernetes调度策略,对应用的资源使用情况进行全面评估,并优化调度策略,提高资源使用率。为达到上述目的,本专利技术所采用的技术方案是:一种基于应用画像的Kubernetes调度方法,包括以下内容:S1、通过Kubernetes容器监控系统获取应用近一日的使用指标;其中使用指标包括CPU占用率、内存使用大小、磁盘IO、网络IO;S2、计算应用指标值序列及均值程序:根据采集到的指标数据按大小进行排序得到时段i中指标j的值序列mij,然后根据指标值序列mij计算指标j全天均值Nj;且,根据指标数据为该应用添加对应指标类别标签;S3、计算应用相似度程序:根据前述操作得到的应用全天中各个指标值序列及均值,计算获取目标应用与集群中另一应用的指标j的同质度Qj,再计算获得到目标应用与另一应用的相似度Q`;S4、筛选应用程序:重复执行前述操作逐一计算获取目标应用与集群中其他应用的相似度按大小顺序取相似度前三个的应用;S5、监听新建的Pod序列,如果出现新建Pod则执行下一程序,否则继续监听;S6、判断Pod的应用类型,将前述为该应用添加的指标类别标签添加到Pod的NodeAffinity域中,并将前述筛选的相似度前三个的应用添加到Pod的PodAffinity域中;S7、进入Kubernetes节点预选阶段,根据Pod的NodeSelector以及Taint域过滤无用节点,然后判断是否存在可用节点,若存在可用节点则执行下一程序;若不存在可用节点则Pod调度失败,返回执行S5监听操作,获取下一个Pod;S8、进入Kubernetes节点优选阶段,根据Pod的CPU/Memory限制以及NodeAffinity、PodAffinity域进行节点优选,然后将Pod调度到高优先级的节点上;若调度成功则Pod将正常运行在高优先级的节点上,该节点则满足Pod本身的预选要求,并且该节点上的运行的Pod与新调度Pod同质度较低;若调度失败则返回执行S5操作,等待合适节点出现后重新调度。由于采用上述技术方案,本专利技术具有以下有益效果:1.本专利技术提出的Kubernetes基于应用画像的Kubernetes的调度策略,包括收集正在运行的应用指标,计算及标记应用类型,计算应用相似性,及将应用调度到合适节点,该节点则满足Pod本身的预选要求,并且该节点上的运行的Pod与新调度Pod同质度较低,不易发生资源争用。2.该方案引入应用画像方法,可识别确定Kubernetes应用的运行情况,通过获取不同指标,对应用运行状态进行全面评估,动态生成调度策略,大幅度提高资源利用率。附图说明图1是本专利技术的调度方法流程图;图2是本专利技术的调度系统框图。具体实施方式以下结合附图对专利技术的具体实施进一步说明。实施例1如图1所示,本实施例的一种基于应用画像的Kubernetes调度方法,包括以下内容:步骤S1、获取指标数据程序:通过Kubernetes容器监控系统获取应用近一日的使用指标;使用指标包括CPU占用率、内存使用大小、磁盘IO、网络IO。其中,磁盘IO为磁盘读写速度,网络IO指的是网络连接速度。定义指标j=1,2,3,4,分别对应CPU占用率、内存使用大小、磁盘IO、网络IO。步骤S2、计算应用指标值序列及均值程序:计算应用指标值序列及均值程序:根据采集到的指标数据按大小进行排序得到时段i中指标j的值序列mij,然后根据指标值序列mij计算指标j全天均值Nj;且,根据指标数据为该应用添加对应指标类别标签。具体包括以下内容:获取指标值序列程序:设定每日时段划分,对各个时段以及全天中所有时间点采集到的指标数据分别按大小进行排序,得到时段i中指标j的值序列mij={mij1,mij2,…,mijk};其中j=1,2,3,4;该时段i的分段数目k=1,2,3,…,n;例如,将每日时段划分为5个块,0-8,8-11,11-14,14-18,18-24时,此时对应i=1,2,3,4,5,在时段i=2中,即8-11时段,按分钟分为k=1,2,3,…,180。又如,将每日时段划分为1块,0-24时,此时对应i=1,n=1440,k=1,2,3,…,1440。计算指标中值程序:根据指标值序列mij分别计算时段i指标j的中值Mij;计算公式见下述公式一:计算指标均值程序:根据指标值序列mij计算指标j全天均值Nj;计算公式见下述公式二:添加指标类别标签程序:设定指标数据区间,如果某一指标的每日中值属于该区间,则为该应用添加对应指标类别标签。由公式一,将每日时段划分为1块,得出每日中值。步骤S3、计算应用相似度程序:根据前述操作得到的应用全天中各个指标值序列及均值。计算获取目标应用与集群中另一应用的指标j的同质度Qj,再计算获得到目标应用与另一应用的相似度Q′。其中,可同时计算得到目标应用和另一应用全天中各个指标值序列及均值。计算应用相似度具体包括以下内容:计算同质度程序:设定目标应用为x,另一应用为y,两个应用指标j的每日指标值序列及均值分别为xj={xj1,xj2,…,xjn},yj={yj1,yj2,…,yjn},Njx,Njy,则可得到两者的指标j的同质度Qj;计算公式见下述公式三:获取同质度序列程序:重复执行前述操作计算目标应用与另一应用每个指标的同质度,获取目标应用与另一应用每个指标的同质度序列Q={Q1,Q2,…,Qj};计算相似度模块:计算该同质度序列的中值,得到目标应用与另一应用最终的相似度Q′;计算公式见下述公式四:步骤S4、筛选应用程序:重复执行前述操作逐一计算获取目标应用与集群中其他应用的相似度按大小顺序取相似度前三个的应用。具体包括以下内容:根据目标应用与集群中其他应用的相似度得到相似度序列将相似度序列按大小进行正序排列,取该相似度序列前三个的应用。步骤S5、监听新建的Pod序列,如果出现新建Pod则执行下一程序,否则继续监听;步骤S6、判断Pod的应用类型,将前述为该应用添加的指标类别标签添本文档来自技高网...

【技术保护点】
1.一种基于应用画像的Kubernetes调度方法,其特征在于,包括以下内容:/nS1、通过Kubernetes容器监控系统获取应用近一日的使用指标;其中使用指标包括CPU占用率、内存使用大小、磁盘IO、网络IO;/nS2、计算应用指标值序列及均值程序:根据采集到的指标数据按大小进行排序得到时段i中指标j的值序列m

【技术特征摘要】
1.一种基于应用画像的Kubernetes调度方法,其特征在于,包括以下内容:
S1、通过Kubernetes容器监控系统获取应用近一日的使用指标;其中使用指标包括CPU占用率、内存使用大小、磁盘IO、网络IO;
S2、计算应用指标值序列及均值程序:根据采集到的指标数据按大小进行排序得到时段i中指标j的值序列mij,然后根据指标值序列mij计算指标j全天均值Nj;且,根据指标数据为该应用添加对应指标类别标签;
S3、计算应用相似度程序:根据前述操作得到的应用全天中各个指标值序列及均值,计算获取目标应用与集群中另一应用的指标j的同质度Qj,再计算获得到目标应用与另一应用的相似度Q`;
S4、筛选应用程序:重复执行前述操作逐一计算获取目标应用与集群中其他应用的相似度Q`xn,按大小顺序取相似度前三个的应用;
S5、监听新建的Pod序列,如果出现新建Pod则执行下一程序,否则继续监听;
S6、判断Pod的应用类型,将前述为该应用添加的指标类别标签添加到Pod的NodeAffinity域中,并将前述筛选的相似度前三个的应用添加到Pod的PodAffinity域中;
S7、进入Kubernetes节点预选阶段,根据Pod的NodeSelector以及Taint域过滤无用节点,然后判断是否存在可用节点,若存在可用节点则执行下一程序;若不存在可用节点则Pod调度失败,返回执行S5监听操作,获取下一个Pod;
S8、进入Kubernetes节点优选阶段,根据Pod的CPU/Memory限制以及NodeAffinity、PodAffinity域进行节点优选,然后将Pod调度到高优先级的节点上;若调度成功则Pod将正常运行在高优先级的节点上,该节点则满足Pod本身的预选要求,并且该节点上的运行的Pod与新调度Pod同质度较低;若调度失败则返回执行S5操作,等待合适节点出现后重新调度。


2.根据权利要求1所述的一种基于应用画像的Kubernetes调度方法,其特征在于:所述步骤S2的具体包括以下内容:
获取指标值序列程序:设定每日时段划分,对各个时段以及全天中所有时间点采集到的指标数据分别按大小进行排序,得到时段i中指标j的值序列mij={mij1,mij2,…,mijk};其中定义指标为j=1,2,3,4;该时段i的分段数目k=1,2,3,…,n;
计算指标中值程序:根据指标值序列mij分别计算时段i指标j的中值Mij;计算公式为:



计算指标均值程序:根据指标值序列mij计算指标j全天均值Nj;计算公式为:



添加指标类别标签程序:设定指标数据区间,如果某一指标的每日中值属于该区间,则为该应用添加对应指标类别标签。


3.根据权利要求1所述的一种基于应用画像的Kubernetes调度方法,其特征在于:所述步骤S3的具体包括以下内容:
计算同质度程序:设定目标应用为x,另一应用为y,两个应用指标j的每日指标值序列及均值分别为xj={xj1,xj2,…,xjn},yj={yj1,yj2,…,yjn},Njx,Njy,则可得到两者的指标j的同质度Qj;计算公式为:



获取同质度序列程序:重复执行前述操作计算目标应用与另一应用每个指标的同质度,获取目标应用与另一应用每个指标的同质度序列Q={Q1,Q2,…,Qj};
计算相似度程序:计算该同质度序列的中值,得到目标应用与另一应用最终的相似度Q`;计算公式如下:





4.根据权利要求1所述的一种基于应用画像的Kubernetes调度方法,其特征在于:所述步骤S4的具体包括以下内容:根据目标应用与集群中其他应用的相似度Q`xn得到相似度序列Q`x={Q`x1,Q`x2,...,Q`xn},将相似度序列按大小进行正序排列,取该相似度序列前三个的应用。


5.一种基于应用画像的Kubernet...

【专利技术属性】
技术研发人员:张志龙韦克璐王志雄
申请(专利权)人:中国—东盟信息港股份有限公司
类型:发明
国别省市:广西;45

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

1