当前位置: 首页 > 专利查询>浙江大学专利>正文

一种面向二次调度的容器调度方法技术

技术编号:24089946 阅读:58 留言:0更新日期:2020-05-09 07:37
本发明专利技术公开了一种面向二次调度的容器调度方法,该方法实时监控容器云平台上每个容器、节点和服务的实例,实时获取它们的实例运行状态、资源数据与亲和性特征,批量监听增加或减少容器的调度请求,基于贪心、模拟退火和遗传算法,采用资源均衡、亲和满足、服务容灾等策略,给出增加或减少容器操作要在哪个节点上进行的结果。本发明专利技术针对当前容器云平台默认调度器不支持删除容器操作、不支持批量调度、短期多个调度请求效果不佳的问题,引入了针对删除容器操作的资源均衡、服务容灾策略,以及面向容器云平台的批量调度优化算法,以满足二次调度系统的调度需求,改善平台的调度效果。

A container scheduling method for secondary scheduling

【技术实现步骤摘要】
一种面向二次调度的容器调度方法
本专利技术属于云计算领域,具体属于容器云平台智能调度范畴,尤其涉及一种面向二次调度的容器调度方法。
技术介绍
近些年来,随着云计算的发展,以Docker为代表的一种操作系统层虚拟化的技术——容器化,逐渐普及开来。从大型上市公司到创业公司,都在对机器集群进行容器化的改造。容器化能带来众多的好处,例如占用少、弹性增容、性能、即时迁移等。渐渐地,要管理的容器越来越多,容器云平台成为了重要的需求。常见的容器云平台有:Docker公司于2014年开发的Swarm,脱胎于谷歌公司自用的Borg系统的K8s,国内阿里巴巴公司基于Pouch容器的Sigma等等。以市场主流地位的容器集群管理平台Kubernetes(简称K8s)为例,谷歌在2014年开放了K8s项目,它建立在谷歌拥有大量运行生产工作量的十五年经验的基础上,结合了社区中的最佳创意和实践。它是一个可移植、可扩展的开源平台,用于管理容器化工作负载和服务,可以声明性配置和自动化,协调计算、网络和存储基础架构,拥有类似平台即服务(PaaS)的简单性、基础架构本文档来自技高网...

【技术保护点】
1.一种面向二次调度的容器调度方法,其特征在于,包括以下步骤:/n(1)从二次调度系统监听容器调度请求。/n(2)获取容器云平台的实例数据,获取节点、服务、容器的实例运行状态,获取节点、服务、容器的资源数据与亲和性特征。/n(3)触发运行设定的调度器,采用贪心算法、模拟退火算法、遗传算法中的一种进行容器调度,得到容器调度的逐个结果或批量结果。/n所述容器调度请求包括要调度的容器的操作、容器服务类型、操作数量;所述要调度的容器的操作包括增加容器、减少容器等。/n所述节点资源数据包括CPU、内存和硬盘的使用率、可分配量、总容量、可分配容器数量和已有容器数量;所述节点亲和性特征包括标签、端口占用情况...

【技术特征摘要】
1.一种面向二次调度的容器调度方法,其特征在于,包括以下步骤:
(1)从二次调度系统监听容器调度请求。
(2)获取容器云平台的实例数据,获取节点、服务、容器的实例运行状态,获取节点、服务、容器的资源数据与亲和性特征。
(3)触发运行设定的调度器,采用贪心算法、模拟退火算法、遗传算法中的一种进行容器调度,得到容器调度的逐个结果或批量结果。
所述容器调度请求包括要调度的容器的操作、容器服务类型、操作数量;所述要调度的容器的操作包括增加容器、减少容器等。
所述节点资源数据包括CPU、内存和硬盘的使用率、可分配量、总容量、可分配容器数量和已有容器数量;所述节点亲和性特征包括标签、端口占用情况、节点状态标记、节点容器避免标记、污点属性;所述服务资源数据包括该服务下容器的列表、资源敏感类型;所述服务亲和性特征包括服务间亲和性和服务间反亲和性;所述容器资源数据包括CPU和内存的请求量、使用量;所述容器亲和性特征包括节点选择器、容器标签、节点亲和性、容器亲和性、容器反亲和性、需要的镜像列表、需要的端口、污点容忍属性。


2.根据权利要求1所述面向二次调度的容器调度方法,其特征在于,所述步骤(3)中采用贪心算法进行容器调度包括以下步骤:
(2.1)逐个处理容器调度请求,根据要调度的容器的操作对节点进行预选;
(2.2)对步骤(2.1)中预选通过的节点进行打分,选择得分最高的节点作为调度节点。


3.根据权利要求1所述面向二次调度的容器调度方法,其特征在于,所述步骤(3)中采用模拟退火算法进行容器调度包括以下步骤:
(3.1)读入容器调度请求序列,为每个容器随机分配一个满足该容器预选条件的节点,将该分配方案作为解S={s1,s2,s3,…,sn},并设定初始温度T、终止分数Wenough、退火系数r、最低温度Tmin;其中,si为容器调度操作,表示第i个容器分配的节点;n表示序列中容器调度请求总数;
(3.2)首先,从当前解S中,随机选取一个容器调度操作sj,将sj视为未执行,s1~sj-1和sj+1~sn视为已执行;在这个集群状态下对第j个容器调度请求进行节点的预选,在预选通过的节点中随机选取一个作为s′j,替换当前解S的sj,得到新解S′={s1,s2,s3,…,sj-1,s′j,sj+1,…,sn};然后,对s′j和sj进行打分,计算s′j减去sj的分差ΔW;如果ΔW>0,接受新解S′;否则,以概率eΔW/T接受新解S′;
(3.3)此时,如果温度T大于最低温度Tmin且解的得分W小于终止分数Wenough,则更新温度T=T*r,跳转至步骤(3.2)进行下一轮循环迭代;否则,停止迭代得到最终解。


4.根据权利要求1所述面向二次调度的容器调度方法,其特征在于,所述步骤(3)中采用遗传算法进行容器调度包括以下步骤:
(4.1)读...

【专利技术属性】
技术研发人员:蔡亮才振功周泓岑樊瑾谦李康邹金柱
申请(专利权)人:浙江大学中移在线服务有限公司
类型:发明
国别省市:浙江;33

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

1