System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于服务等级协议和能耗感知的Kubernetes容器调度方法技术_技高网

一种基于服务等级协议和能耗感知的Kubernetes容器调度方法技术

技术编号:43130654 阅读:0 留言:0更新日期:2024-10-29 17:38
本发明专利技术属于云计算容器调度领域,具体涉及一种基于服务等级协议和能耗感知的Kubernetes容器调度方法,该方法包括:基于Kubernetes容器管理平台构建调度管理模型,其中包括调度器、调度管理模型数据库、主节点和工作节点;提交YAML任务并判断调度管理模型数据库是否存在YAML任务中各Pod间的优先级信息,若不存在,则计算;基于各Pod间的优先级信息,以降低Pod调度能耗为目标建立能耗模型;采用麻雀搜索算法进行迭代搜索,使能耗模型达到最优,获取对应的最优能耗值;根据最优能耗值确定最佳调度方案,根据最佳调度方案进行Pod调度;本发明专利技术方法能在满足基本服务等级协议的同时,有效降低Kubernetes云中微服务的运行能耗。

【技术实现步骤摘要】

本专利技术属于云计算容器调度领域,具体涉及一种基于服务等级协议和能耗感知的kubernetes容器调度方法。


技术介绍

1、云计算(cloud computing)作为一种基于互联网的计算方式,通过共享的计算资源和服务,以按需提供计算能力、存储空间和应用服务的模式而著称,其基础之一是虚拟化技术,虚拟化是将一台物理服务器划分为多台虚拟服务器,即虚拟机(vm),以实现资源的灵活调配和利用。容器是一种虚拟化技术,用于打包和运行应用程序及其所有依赖项的软件包。随着应用程序架构的演进,虚拟机中大型单体应用逐渐被分解为小型、独立运行的组件,即微服务。微服务之间解耦,可独立开发、部署、升级和扩展。随着部署的微服务数量增加,容器部署微服务变得越来越困难。因此,自动化措施如自动调度、配置、监督和故障处理变得不可或缺。

2、kubernetes是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序,其作为容器集群管理平台被广泛应用,它最初唯一支持的容器类型是docker容器,docker容器又恰好是在不同集群服务器上运行应用程序的首选方式。目前,kubernetes默认的调度程序无法满足每个pod(容器组)的性能约束的同时,降低集群中虚拟机的使用能耗。现有的能耗调度研究工作通常集中于单个本地数据中心范围,并且对于多层网格结构的微服务调度策略尚未充分考虑,导致现有调度方法在调度微服务时效率低下且能耗较高。


技术实现思路

1、为解决以上现有技术存在的问题,本专利技术提出了一种基于服务等级协议和能耗感知的kubernetes容器调度方法,该方法包括:

2、s1.基于kubernetes容器管理平台构建调度管理模型;所述调度管理模型包括调度器、调度管理模型数据库、主节点和工作节点。

3、s2.提交yaml(可移植文件)任务,判断调度管理模型数据库是否存在yaml任务中各pod间的优先级信息;若存在,则执行步骤s3,若不存在,则计算yaml任务中各pod间的优先级信息,然后执行步骤s3;yaml任务包括多个微服务,每一微服务被部署为一个或多个pod。

4、s3.基于各pod间的优先级信息,以降低pod调度总能耗为目标建立能耗模型。

5、s4.采用麻雀搜索算法进行迭代搜索,使得能耗模型达到最优,获取对应的最优能耗值。

6、s5.根据最优能耗值确定最佳调度方案,根据该最佳调度方案进行pod调度。

7、进一步的,在步骤s2中,计算yaml任务中各pod间的优先级信息的过程包括:

8、s21.随机选取一个工作节点,将所有pod放置在该工作节点上,并记录每一pod的单位时间消耗电量;

9、s22.将所有pod根据单位时间耗电量大小降序排列,得到pod优先级队列。

10、进一步的,步骤s3基于各pod间优先级信息,以降低pod调度总能耗为目标建立能耗模型,所述能耗模型表示为:

11、

12、

13、s.t.scoretotal<=scoregiven

14、其中,fbest表示能耗模型的最佳函数,min()表示最小值函数;表示第i个工作节点的电力使用效率;mi表示第i个工作节点上所有微服务资源消耗优先级和,表示第i个工作节点上第k个微服务的资源消耗优先级;scoretotal表示工作节点响应时间分数总和;scoregiven表示工作节点响应时间分数阈值,ns表示工作节点数量,ni,m表示第i个工作节点上的微服务数量。

15、进一步的,根据pod的cpu利用率计算微服务的资源消耗优先级的过程为:

16、计算每一微服务在每一工作节点上的cpu利用率,表示为:

17、

18、其中,表示第k个微服务在第i个工作节点上的cpu利用率,npod表示第k个微服务部署在第i个工作节点的pod数量,表示第k个微服务中第j个pod的cpu利用率。

19、根据cpu利用率计算每一微服务的能耗pk,表示为:

20、

21、其中,nk表示第k个微服务所在的工作节点数量,表示第i个工作节点峰值电力消耗,表示第i个工作节点空闲时电力消耗;

22、将全部微服务根据能耗大小降序排列,为每一微服务标记相应的排列序号作为自身的资源消耗优先级。

23、进一步的,工作节点响应时间分数scoretotal总和表示为:

24、

25、其中,score(k)表示第k个微服务的响应时间分数,pall表示yaml任务中所有微服务。

26、进一步的,第k个微服务的响应时间分数表示为:

27、

28、其中,netflow(k,m)表示为第k个微服务与第m个微服务之间的网络流量,δ(k,m)表示第k个微服务所在的工作节点和第m个微服务所在的工作节点之间的传播延迟总和,a表示与第k个微服务具有通信关系的微服务集合。

29、进一步的,第k个微服务与第m个微服务之间的网络流量表示为:

30、

31、其中,netflowpod(podk,a,podm,b)代表两个pod之间的网络流量,podk,a表示第k个微服务的第a个pod,podm,b表示第m个微服务中第b个pod,ck表示第k个微服务中pod数量,cm表示第m个微服务中pod数量。

32、进一步的,在步骤s4中,采用麻雀搜索算法进行迭代搜索,包括:

33、s41.初始化麻雀种群,并将初始化麻雀种群划分为发现者种群和跟随者种群;

34、s42.获取初始调度方案,根据初始调度方案初始化发现者种群中每一麻雀的位置,然后根据能耗模型计算发现者种群中每一麻雀的适应度值;

35、s43.随机初始化跟随者种群中每一麻雀的位置,并根据能耗模型计算跟随者种群中每一麻雀的适应度值;设置最大迭代次数;

36、s44.获取当前最优适应度值作为目标适应度值;

37、s45.更新每一麻雀的位置,然后从中随机选择麻雀作为警戒者再次更新位置;

38、s46.计算并更新每一麻雀的适应度值,选取当前最优适应度值;

39、s47.判断当前最优适应度值是否优于目标适应度值,若是,则将当前最优适应度值作为目标适应度值;若不是,则目标适应度值保持不变;

40、s48.判断是否达到最大迭代次数,若是,则输出目标适应度值及其对应的调度方案,若不是,则令迭代次数加一,然后返回步骤s45。

41、进一步的,在步骤s42中,获取初始调度方案的具体过程包括:

42、s421.将所有工作节点按照电力使用效率pue大小升序排列,得到工作节点优先级队列;

43、s422.判断是否满足i>n,若是,则输出初始调度方案,若不是,则提取pod优先级队列中的第i个pod;

44、s423.提取工作节本文档来自技高网...

【技术保护点】

1.一种基于服务等级协议和能耗感知的Kubernetes容器调度方法,其特征在于,该方法包括:

2.根据权利要求1所述的一种基于服务等级协议和能耗感知的Kubernetes容器调度方法,其特征在于,在步骤S2中,计算YAML任务中各Pod间的优先级信息的过程包括:

3.根据权利要求1所述的一种基于服务等级协议和能耗感知的Kubernetes容器调度方法,其特征在于,步骤S3基于各Pod间优先级信息,以降低Pod调度总能耗为目标建立能耗模型,所述能耗模型表示为:

4.根据权利要求3所述的一种基于服务等级协议和能耗感知的Kubernetes容器调度方法,其特征在于,根据Pod的CPU利用率计算微服务的资源消耗优先级,具体过程为:

5.根据权利要求3所述的一种基于服务等级协议和能耗感知的Kubernetes容器调度方法,其特征在于,工作节点响应时间分数总和Scoretotal表示为:

6.根据权利要求5所述的一种基于服务等级协议和能耗感知的Kubernetes容器调度方法,其特征在于,第k个微服务的响应时间分数表示为:

7.根据权利要求6所述的一种基于服务等级协议和能耗感知的Kubernetes容器调度方法,其特征在于,第k个微服务与第m个微服务之间的网络流量表示为:

8.根据权利要求1所述的一种基于服务等级协议和能耗感知的Kubernetes容器调度方法,其特征在于,在步骤S4中,采用麻雀搜索算法进行迭代搜索,包括:

9.根据权利要求8所述的一种基于服务等级协议和能耗感知的Kubernetes容器调度方法,其特征在于,在步骤S42中,获取初始调度方案具体过程包括:

...

【技术特征摘要】

1.一种基于服务等级协议和能耗感知的kubernetes容器调度方法,其特征在于,该方法包括:

2.根据权利要求1所述的一种基于服务等级协议和能耗感知的kubernetes容器调度方法,其特征在于,在步骤s2中,计算yaml任务中各pod间的优先级信息的过程包括:

3.根据权利要求1所述的一种基于服务等级协议和能耗感知的kubernetes容器调度方法,其特征在于,步骤s3基于各pod间优先级信息,以降低pod调度总能耗为目标建立能耗模型,所述能耗模型表示为:

4.根据权利要求3所述的一种基于服务等级协议和能耗感知的kubernetes容器调度方法,其特征在于,根据pod的cpu利用率计算微服务的资源消耗优先级,具体过程为:

5.根据权利要求3所述的一种基于服务等级协议和能耗感知的k...

【专利技术属性】
技术研发人员:李鸿健谌杰
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

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

1