一种容器云的资源调度方法及设备技术

技术编号:20627856 阅读:35 留言:0更新日期:2019-03-20 17:26
本发明专利技术提供一种容器云的资源调度方法及设备。所述方法包括:S1,获取当前调度任务,基于容器云的资源监控结果进行调度计算,获取所述当前调度任务的部署位置;S2,基于所述部署位置,利用容器云资源池的宿主机进行实时调度,以将所述部署位置对应的资源分配给所述当前调度任务。本发明专利技术基于容器云资源池的整体资源的监控结果进行调度计算,不局限于某个框架;根据计算获得的部署位置,利用容器云资源池的宿主机进行实时调度,由于使用了宿主机作为集中调度模块,可以对所有资源分组或用户的资源使用量做精确限制,解决了共享调度时冲突发生的频率,可支持的上层调度的数量大大增加,可以使整体资源池的负载更为均衡。

A Resource Scheduling Method and Equipment for Container Cloud

The invention provides a resource scheduling method and equipment for container cloud. The method includes: S1, acquiring the current scheduling task, calculating the scheduling based on the resource monitoring results of container cloud, obtaining the deployment location of the current scheduling task; S2, based on the deployment location, using the host computer of container cloud resource pool for real-time scheduling to allocate the resources corresponding to the deployment location to the current scheduling task. The present invention is based on the monitoring results of the overall resources of container cloud resource pool, and is not limited to a certain framework. According to the deployment location obtained from the calculation, the host of container cloud resource pool is used for real-time scheduling. Because the host is used as a centralized scheduling module, the resource usage of all resource groups or users can be accurately limited, and the shared scheduling can be solved. When conflicts occur frequently, the number of upper-level schedules that can be supported is greatly increased, which can make the load of the whole resource pool more balanced.

【技术实现步骤摘要】
一种容器云的资源调度方法及设备
本专利技术涉及计算机
,更具体地,涉及一种容器云的资源调度方法及设备。
技术介绍
随着云计算技术的快速发展,和容器化技术的成熟,在业界内得到了广泛使用。同时业务的更代迭替,新业务对数据中心的资源需求也发生了巨大的变化。中国移动一些在线业务的规律特性,如手厅、营业厅系统的业务流量每天的高峰和低谷、月初月末的高峰和低谷等。在高峰时,必须快速响应业务需求,同时在低谷时,能够在保证业务不受影响的情况下,回收资源,供其他业务使用。所以数据中心的建设及资源的智能调度对于业务的正常运行起着非常关键的作用。一些业务的优惠活动及导致应用会面临高并发,突发流量或高流量等情况,如果使用传统的数据中心中资源的分配方式基本不可行,在高并发,突发流量或高流量的情况时,数据中心无法准确的响应业务资源需求,造成业务的不稳定运行。为了解决这类问题,业内现在通用的做法是采用开源的调度框架(Marathononmesos、K8s等)来实现业务实例的快速扩展,可以满足业务实例简便纵向和横向扩展的需求。在业务压力来临之前,不操作底层资源的前提下,通过快速启动实例来应对业务。可保证业务的连续性。系统架构图1所示。如图1所示,采用了Master-Slave架构,Slave节点表示执行任务的节点,为了保证业务的正常运行,数据中心管理员会尽量扩大应用的配置,即业务实例的配置参数,如CPU和内存参数,给其分配足够的资源,使其能够应对足够大的业务流量。同时在有活动进行时,可以快速的通过一些调度框架或平台来快速的横向扩展。避免传统虚机式的复杂审核流程,减少人力浪费。避免高峰时段,由于不能快速扩展应用而导致的业务压力和业务不可连续性。虽然可以通过Mesos或K8s来对数据中心中的CPU和内存来进行资源调度,保证业务的稳健性,但在多数情况下,对业务的运行状况和资源需求分析不够准确。同时一些现存的开源组件存在一些悲观锁机制,如Mesos在给多个框架进行资源要约时,资源的offer同时只会分派给一个框架,这就造成了一种悲观机制,资源被单独框架独占,除非框架主动的汇报超时或释放资源。同时一些现有技术框架在共享调度时,频繁的调度,发生冲突的几率增大,对整体调度的性能造成影响。在以下情况下会导致数据中心的业务运行出现故障:1)上层应用框架的增多,底层资源调度框架的负载加重,同时处理效率降低,资源的需求响应减慢;会导致业务出现响应慢,影响客户感知。2)弹性扩缩频繁时,资源不停地发送和回收,造成业务的不稳定性和不连续性。在发生以上问题时,数据中心只能预先或后期维护,预先给应用分配足够多的资源,这样造成数据中心的资源利用率大幅度降低,事后为过载的业务进行分配资源。在业务来临时,导致业务系统宕机,需要重新启动,这对于核心系统来说是不可接受的。基于上述系统架构的现有技术的主要缺点如下:(1)随着集群规模的扩大和业务的重要程度区分,导致集群存在多个框架,而资源池在进行资源要约的时候,同时只会与一个框架进行交互,这样就造成一种悲观锁,存在分配调度的瓶颈,不能迅速响应资源需求,造成业务资源短缺,影响其业务的稳健性,使各系统业务不能稳定运行。(2)部分技术实现了共享调度,但是共享调度时冲突发生的频率,直接影响了整体调度器的性能。同时由于没有集中的调度模块,难以对所有资源分组(Namespace)或用户的资源使用量做精确限制。上层调度器数量仍然不能很多,并行分发完整的集群状态的开销较大,对业务的连续性造成影响。
技术实现思路
本专利技术提供一种克服上述问题或者至少部分地解决上述问题的容器云的资源调度方法及设备。根据本专利技术的一个方面,提供一种容器云的资源调度方法,包括:S1,获取当前调度任务,基于容器云的资源监控结果进行调度计算,获取所述当前调度任务的部署位置;S2,基于所述部署位置,利用容器云资源池的宿主机进行实时调度,以将所述部署位置对应的资源分配给所述当前调度任务。进一步,所述S1之前还包括:S0,获取实时调度任务,并将所述调度任务写入调度请求队列中;相应地,S1中所述获取当前调度任务,进一步包括:从所述调度请求队列中获取当前调度任务。进一步,所述S1中,所述基于容器云的资源监控结构进行调度计算,获取所述当前调度任务的部署位置,进一步包括:S1.1,利用超卖机制和/或分散策略过滤掉部分主机,获取可部署主机列表;S1.2,基于所述可部署主机列表,根据容器云的资源监控结果获得的主机负载、主机性能指标和对应的权重,进行资源排序,以获取所述当前调度任务的部署位置。进一步,所述S1.1,利用超卖机制和/或分散策略过滤掉部分主机,获取可部署主机列表,进一步包括:设置超卖开关,且对于不同的调度任务设置不同的超卖系数;基于所述超卖机制和/或分散策略获取所述容器云资源池的主机列表;基于所述主机列表,选择满足预设条件的主机加入所述可部署主机列表。进一步,所述S1.2,基于所述可部署主机列表,根据容器云的资源监结果控获得的主机负载、主机性能指标和对应的权重,进行资源排序,进一步包括:基于所述可部署主机列表,获取主机负载小于第一预设阈值的主机作为备选主机;基于所述备选主机,利用下式获取每个主机的负载分值Scorei:Scorei=K1×MericScpu+K2×Mericsmem+K3×Mericsio,其中,Mericscpu为CPU负载、Mericsmem为Memory负载和Mericsio为IO负载,K1、K2和K3分别为CPU负载、Memory负载和IO负载的权重;基于所述每个主机的负载分值进行资源排序,获取负载分值较高的主机作为所述当前调度任务的部署位置。进一步,所述S2中,基于所述部署位置,利用容器云资源池的宿主机进行实时调度,以将所述部署位置对应的资源分配给所述当前调度任务,进一步包括:基于容器云的资源监控结果,扩展实例数和/或调整实例的资源配置;容器云资源池的宿主机将所述当前调度任务的部署位置对应的实例资源分配给所述当前调度任务。进一步,所述基于所述每个主机的负载分值进行资源排序,获取负载分值较高的主机作为所述当前调度任务的部署位置,包括:基于所述每个主机的负载分值进行资源排序,获取负载分值较高的前N个主机作为所述当前调度任务的部署位置,其中N为整数,N大于等于1;所述基于所述每个主机的负载分值进行资源排序,获取负载分值较高的主机作为所述当前调度任务的部署位置,之后还包括:依次向所述N个主机对应的宿主机申请资源;若宿主机全部拒绝,则根据所述容器云资源池的全局资源重新进行调度计算。进一步,调度任务包括在线任务、离线任务、定时任务和批处理任务中的一种或多种;所述基于容器云的资源监控结果,扩展实例数和/或调整实例的资源配置,进一步包括:宿主机根据所述资源监控结果,利用本机群资源扩展实例数;若所述在线任务处于流量峰值或宿主机负载超过第二预设阈值,则调整所述宿主机上的批处理任务或离线任务的内存或CPU配额。根据本专利技术的另一个方面,还提供一种容器云的资源调度设备,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行本专利技术实施例一种容器云的资源调度方法及其任一可选实施例的本文档来自技高网
...

【技术保护点】
1.一种容器云的资源调度方法,其特征在于,包括:S1,获取当前调度任务,基于容器云的资源监控结果进行调度计算,获取所述当前调度任务的部署位置;S2,基于所述部署位置,利用容器云资源池的宿主机进行实时调度,以将所述部署位置对应的资源分配给所述当前调度任务。

【技术特征摘要】
1.一种容器云的资源调度方法,其特征在于,包括:S1,获取当前调度任务,基于容器云的资源监控结果进行调度计算,获取所述当前调度任务的部署位置;S2,基于所述部署位置,利用容器云资源池的宿主机进行实时调度,以将所述部署位置对应的资源分配给所述当前调度任务。2.如权利要求1所述的方法,其特征在于,所述S1之前还包括:S0,获取实时调度任务,并将所述调度任务写入调度请求队列中;相应地,S1中所述获取当前调度任务进一步包括:从所述调度请求队列中获取当前调度任务。3.如权利要求1或2所述的方法,其特征在于,所述S1中,所述基于容器云的资源监控结果进行调度计算,获取所述当前调度任务的部署位置,进一步包括:S1.1,利用超卖机制和/或分散策略过滤掉部分主机,获取可部署主机列表;S1.2,基于所述可部署主机列表,根据容器云的资源监控结果获得的主机负载、主机性能指标和对应的权重,进行资源排序,以获取所述当前调度任务的部署位置。4.如权利要求3所述的方法,其特征在于,所述S1.1,利用超卖机制和/或分散策略过滤掉部分主机,获取可部署主机列表,进一步包括:设置超卖开关,且对于不同的调度任务设置不同的超卖系数;基于所述超卖机制和/或分散策略获取所述容器云资源池的主机列表;基于所述主机列表,选择满足预设条件的主机加入所述可部署主机列表。5.如权利要求4所述的方法,其特征在于,所述S1.2,基于所述可部署主机列表,根据容器云的资源监控结果获得的主机负载、主机性能指标和对应的权重,进行资源排序,进一步包括:基于所述可部署主机列表,获取主机负载小于第一预设阈值的主机作为备选主机;基于所述备选主机,利用下式获取每个主机的负载分值Scorei:Scorei=K1×Mericscpu+K2×Mericsmem+K3×Mericsio,其中,Mericscpu为CPU负载、Mericsmem为Memo...

【专利技术属性】
技术研发人员:钟储建郭岳张式勤陈远峥
申请(专利权)人:中国移动通信集团浙江有限公司中国移动通信集团公司
类型:发明
国别省市:浙江,33

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

1