一种kubernetes中的资源可伸缩组合调度方法技术

技术编号:22329876 阅读:54 留言:0更新日期:2019-10-19 12:14
本发明专利技术公开了一种kubernetes中的资源可伸缩组合调度方法,具体包括:步骤一:以Pod组为基本调度单位,一个Pod组对应一个优先级,Pod组内包含多种资源副本,每个资源副本设置最大和最小Pod数,每个Pod对应一个资源需求;步骤二:组合调度器选择优先级高的Pod组优先调度,获取到Pod组内的所有资源需求后,轮询调度每个Pod,预留调度成功的Pod资源;步骤三:当集群资源紧张时,在满足所有资源副本的最小Pod数需求前提下,通过回收其部分Pod资源,让高优先级应用尽快启动运行;步骤四:兼容Kubernetes原生调度器的所有规则策略。

A resource scalable combined scheduling method in kubernetes

【技术实现步骤摘要】
一种kubernetes中的资源可伸缩组合调度方法
专利技术涉及信息处理
,具体为一种kubernetes中的资源可伸缩组合调度方法。
技术介绍
Kubernetes是Google的一个开源容器集群管理平台。Kubernetes拥有非常完备的集群管理能力,能够提供细粒度的资源管理、智能负载均衡功能,强大的在线扩展能力以及容错能力等。Kubernetes丰富的管理工具能解决容器调度各个环节出现的问题。为了简化对集群的管理,Kubernetes设计了Pod的概念,Pod是同地协作(co-located)容器的集合,这些容器被共同部署和调度。目前Kubernetes调度方法比较简单,把Pod作为调度的最小单位。在实际的应用中还存在以下不足:1.资源死锁:一个应用服务中可能包含多个相关联的Pod,如果只有部分Pod获取资源,那么未获取资源的Pod可能导致整个应用服务无法正常运行,造成部分资源浪费和死锁。2.资源争抢:对于部分稀缺资源可能发生资源争抢的情况。但Kubernetes原生调度器不支持组级别的调度优先级及组间资源抢占,无法很好地应对资源争抢。3.资源伸缩:Kubernetes使用固定的资源申请量,在实际的生产环境中固定的资源申请量往往会造成大量的资源浪费。
技术实现思路
专利技术的目的在于提供一种kubernetes中的资源可伸缩组合调度方法,以解决上述
技术介绍
中提出的问题。为实现上述目的,专利技术提供如下技术方案:一种kubernetes中的资源可伸缩组合调度方法,具体包括以下步骤:步骤一:以Pod组为基本调度单位,一个Pod组对应一个优先级,Pod组内包含多种资源副本,每个资源副本设置最大和最小Pod数,每个Pod对应一个资源需求;步骤二:组合调度器选择优先级高的Pod组优先调度,获取到Pod组内的所有资源需求后,轮询调度每个Pod,预留调度成功的Pod资源;如果有一个Pod调度失败,释放所有已预留的Pod资源,标记Pod组调度失败,重新把Pod组放入调度队列,等待下个调度周期重新调度;步骤三:当集群资源紧张时,在满足所有资源副本的最小Pod数需求前提下,通过回收其部分Pod资源,让高优先级应用尽快启动运行;步骤四:兼容Kubernetes原生调度器的所有规则策略。优选的,所述步骤一中的基本调度单位为Pod组具体为在Pod的annotation中定义其所属Pod组的信息,Pod组定义如下:优选的,所述步骤一中的每个Pod组包含多个资源副本,每个资源副本设置最大和最小副本数,资源副本的定义如下:与现有技术相比,专利技术的有益效果是:1、该kubernetes中的资源可伸缩组合调度方法,以Pod组为基本调度单位,一个Pod组对应一个优先级,Pod组内包含多种资源副本,每个资源副本设置最大和最小Pod数,每个Pod对应一个资源需求,避免造成部分资源浪费和死锁的问题。2、该kubernetes中的资源可伸缩组合调度方法,组合调度器选择优先级高的Pod组优先调度,获取到Pod组内的所有资源需求后,轮询调度每个Pod,预留调度成功的Pod资源;如果有一个Pod调度失败,释放所有已预留的Pod资源,标记Pod组调度失败,重新把Pod组放入调度队列,等待下个调度周期重新调度,可以很好地应对资源争抢。3、该kubernetes中的资源可伸缩组合调度方法,当集群资源紧张时,在满足所有资源副本的最小Pod数需求前提下,通过回收其部分Pod资源,让高优先级应用尽快启动运行,可以避免造成大量的资源浪费的问题。具体实施方式下面将结合本专利技术实施例,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。专利技术提供一种技术方案:一种kubernetes中的资源可伸缩组合调度方法,具体包括以下步骤:步骤一:以Pod组为基本调度单位,一个Pod组对应一个优先级,Pod组内包含多种资源副本,每个资源副本设置最大和最小Pod数,每个Pod对应一个资源需求;步骤二:组合调度器选择优先级高的Pod组优先调度,获取到Pod组内的所有资源需求后,轮询调度每个Pod,预留调度成功的Pod资源;如果有一个Pod调度失败,释放所有已预留的Pod资源,标记Pod组调度失败,重新把Pod组放入调度队列,等待下个调度周期重新调度;步骤三:当集群资源紧张时,在满足所有资源副本的最小Pod数需求前提下,通过回收其部分Pod资源,让高优先级应用尽快启动运行;步骤四:兼容Kubernetes原生调度器的所有规则策略。优选的,所述步骤一中的基本调度单位为Pod组具体为在Pod的annotation中定义其所属Pod组的信息,Pod组定义如下:优选的,所述步骤一中的每个Pod组包含多个资源副本,每个资源副本设置最大和最小副本数,资源副本的定义如下:调度器中监听所有未被调度的Pod信息,发现符合条件的Pod后把Pod加入其所属的Pod组中,最后把封装完毕的Pod组加入优先级队列等待调度。Pod组的调度流程如下:①调度器从优先级队列中获取优先级最高的Pod组。②遍历所有资源副本,尝试按照最小副本数调度资源副本中的Pod,如果调度成功预留Pod资源,同时标记Pod为稳定Pod。③如果按照最小副本数调度Pod失败,标记Pod组调度失败,把Pod组放入优先级队列等待重新调度。④如果按照最小副本数调度资源副本成功。以最大副本数为上限分别调度每个资源副本,调度过程中考虑每个资源副本的权重,权重越大,其所属Pod的调度概率就越大。标记调度成功的Pod为不稳定Pod。⑤如果其中某些Pod调度失败,继续尝试调度其它资源副本中的Pod。⑥如果所有Pod都调度完成,调用Kubernetesapi对所有Pod进行bind操作。⑦当集群资源紧张时,调度器回收部分不稳定Pod的资源,尽可能地让高优先级应用尽快启动运行。专利技术的有益效果是:该kubernetes中的资源可伸缩组合调度方法,以Pod组为基本调度单位,一个Pod组对应一个优先级,Pod组内包含多种资源副本,每个资源副本设置最大和最小Pod数,每个Pod对应一个资源需求,避免造成部分资源浪费和死锁的问题。该kubernetes中的资源可伸缩组合调度方法,组合调度器选择优先级高的Pod组优先调度,获取到Pod组内的所有资源需求后,轮询调度每个Pod,预留调度成功的Pod资源;如果有一个Pod调度失败,释放所有已预留的Pod资源,标记Pod组调度失败,重新把Pod组放入调度队列,等待下个调度周期重新调度,可以很好地应对资源争抢。该kubernetes中的资源可伸缩组合调度方法,当集群资源紧张时,在满足所有资源副本的最小Pod数需求前提下,通过回收其部分Pod资源,让高优先级应用尽快启动运行,可以避免造成大量的资源浪费的问题。显然,本领域的技术人员可以对本专利技术进行各种改动和变型而不脱离本专利技术的精神和范围。这样,倘若本专利技术的这些修改和变型属于本专利技术权利要求及其等同技术的范围之内,则本专利技术也意图包含这些改动和变型在内。本文档来自技高网...

【技术保护点】
1.一种kubernetes中的资源可伸缩组合调度方法,其特征在于:具体包括以下步骤:步骤一:以Pod组为基本调度单位,一个Pod组对应一个优先级,Pod组内包含多种资源副本,每个资源副本设置最大和最小Pod数,每个Pod对应一个资源需求;步骤二:组合调度器选择优先级高的Pod组优先调度,获取到Pod组内的所有资源需求后,轮询调度每个Pod,预留调度成功的Pod资源;如果有一个Pod调度失败,释放所有已预留的Pod资源,标记Pod组调度失败,重新把Pod组放入调度队列,等待下个调度周期重新调度;步骤三:当集群资源紧张时,在满足所有资源副本的最小Pod数需求前提下,通过回收其部分Pod资源,让高优先级应用尽快启动运行;步骤四:兼容Kubernetes原生调度器的所有规则策略。

【技术特征摘要】
1.一种kubernetes中的资源可伸缩组合调度方法,其特征在于:具体包括以下步骤:步骤一:以Pod组为基本调度单位,一个Pod组对应一个优先级,Pod组内包含多种资源副本,每个资源副本设置最大和最小Pod数,每个Pod对应一个资源需求;步骤二:组合调度器选择优先级高的Pod组优先调度,获取到Pod组内的所有资源需求后,轮询调度每个Pod,预留调度成功的Pod资源;如果有一个Pod调度失败,释放所有已预留的Pod资源,标记Pod组调度失败,重新把Pod组放入调度队列,等待下个调度周期重新调度;步骤三:当集群资源紧张时,在满足所...

【专利技术属性】
技术研发人员:张伟
申请(专利权)人:北京天云融创软件技术有限公司
类型:发明
国别省市:北京,11

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

1