一种容器的调度方法、装置及电子设备制造方法及图纸

技术编号:30519485 阅读:25 留言:0更新日期:2021-10-27 23:03
本申请公开了一种容器的调度方法,包括根据待部署容器包含的应用的类型,确定待部署容器对应的曲线生成规则;根据对应的曲线生成规则及待部署容器对应的历史数据,生成待部署容器对应的第一资源使用率曲线,第一资源使用率曲线包括待部署容器在每一预设时间点对待部署容器的可用资源的占用率;根据待部署容器对应的第一资源使用率曲线及宿主机的第二资源使用率曲线,确定待部署容器与宿主机的匹配程度,第二资源使用率曲线用于描述宿主机内的实时容器在预设时间点对宿主机的可用资源的占用率;将待部署容器部署至与待部署容器的匹配程度满足预设条件的宿主机中,可在部署及调度时将容器部署与该容器处于流量峰值的时间点不同的宿主机上。不同的宿主机上。不同的宿主机上。

【技术实现步骤摘要】
一种容器的调度方法、装置及电子设备


[0001]本专利技术涉及资源调度领域,尤其涉及一种容器的调度方法、装置及电子设备。

技术介绍

[0002]随着各个企业的业务规模逐渐扩大,很多企业涉及的业务应用越来越多。为了将这些业务应用部署在服务器中,需要将业务应用首先部署在容器中,然后将容器部署到实体服务器中。
[0003]当企业面临大促等流量峰值时,为了承载流量峰值企业需要预先准备大量的服务器。在容器集群管理系统Kubernetes中,假设每个容器申请4

8核CPU资源,则一个24核的服务器即宿主机通常只能部署3

4个容器。由于该系统本身提供的调度算法通常仅仅只能依据容器申请的CPU资源大小和同应用反亲和来进行容器的调度,这就导致如果仅仅依赖Kubernetes本身的调度算法对服务器上部署的容器进行调度,就会容易导致在同一时间处于流量峰值的容器被部署到同一个服务器上,使得多个相同峰值时间点的容器互相争抢CPU资源、造成应用服务超时。即使减少每台服务器部署的容器的数量,给每个服务器留下大量的空余弹性空间,当大促流量峰值到来时依然会出现大量的CPU热点机器及大量的空闲机器,导致每台服务器的CPU资源使用非常不平均。

技术实现思路

[0004]为了解决现有技术的不足,本专利技术的主要目的在于提供一种容器的调度方法、装置及电子设备,以解决现有技术的上述技术问题。
[0005]为了达到上述目的,第一方面本专利技术提供了一种容器的调度方法,所述方法包括:
[0006]根据待部署容器包含的应用的类型,确定所述待部署容器对应的曲线生成规则;
[0007]根据所述对应的曲线生成规则及所述待部署容器对应的历史数据,生成所述待部署容器对应的第一资源使用率曲线,所述第一资源使用率曲线包括所述待部署容器在每一预设时间点对所述待部署容器的可用资源的占用率;
[0008]根据所述待部署容器对应的第一资源使用率曲线及宿主机的第二资源使用率曲线,确定所述待部署容器与每一所述宿主机的匹配程度,所述第二资源使用率曲线用于描述所述宿主机内的实时容器在每一预设时间点对所述宿主机的可用资源的占用率;
[0009]将所述待部署容器部署至与所述待部署容器的匹配程度满足预设条件的所述宿主机中。
[0010]在一些实施例中,所述历史数据包括历史流量数据,所述根据所述对应的曲线生成规则及所述待部署容器对应的历史数据,生成所述待部署容器对应的第一资源使用率曲线包括:
[0011]在所述待部署容器包含的应用为流量型时,获取所述待部署容器包含的应用在第一预设时间段内的所述历史流量数据;
[0012]根据所述历史流量数据,生成所述待部署容器对应的流量曲线;
[0013]根据所述对应的流量曲线及所述待部署容器对应的斜率,生成所述待部署容器对应的第一资源使用率曲线,所述斜率用于描述所述待部署容器的流量与对所述可用资源的占用率的对应关系。
[0014]在一些实施例中,所述流量曲线包括所述待部署容器在所述第一预设时间段内的每一预设时间点的历史流量值,
[0015]根据所述对应的流量曲线及所述待部署容器对应的斜率,生成所述待部署容器对应的第一资源使用率曲线前,所述方法还包括:
[0016]确定所述流量曲线包括的所述历史流量值中的最大值对应的预设时间点为目标时间点;
[0017]获取所述应用的历史容器在所述目标时间点的平均流量值及平均可用资源占用率;
[0018]根据所述平均流量值及所述平均可用资源占用率,确定所述待部署容器对应的斜率。
[0019]在一些实施例中,所述历史数据包括历史资源使用率曲线,所述根据所述对应的曲线生成规则及所述待部署容器对应的历史数据,生成所述待部署容器对应的第一资源使用率曲线包括:
[0020]在所述待部署容器包含的应用为非流量型时,获取所述待部署容器在预设时间范围内的第一历史资源使用率曲线及目标日期的第二历史资源使用率曲线;
[0021]确定所述第一历史资源使用率曲线及所述第二历史资源使用率曲线中对每一预设时间点分别对应的所述可用资源的占用率中的最大值为所述预设时间点对应的所述可用资源的占用率;
[0022]根据每一所述预设时间点对应的所述可用资源的占用率,生成所述待部署容器对应的第一资源使用率曲线。
[0023]在一些实施例中,根据所述待部署容器对应的第一资源使用率曲线及宿主机的第二资源使用率曲线,确定所述待部署容器与每一所述宿主机的匹配程度前,所述方法还包括:
[0024]获取预设数据库中存储的所述宿主机对应的历史资源使用率曲线,所述宿主机对应的历史资源使用率曲线包括根据对应的历史容器生成的第一校验码;
[0025]根据获取的所述宿主机内的实时容器生成第二校验码;
[0026]确定包括的所述第一校验码与所述第二校验码匹配的所述历史资源使用率曲线为第二资源使用率曲线。
[0027]在一些实施例中,所述将所述待部署容器部署至与所述待部署容器的匹配程度满足预设条件的所述宿主机中包括:
[0028]确定与所述待部署容器的匹配程度满足预设条件的所述宿主机为目标宿主机;
[0029]根据所述第一资源使用率曲线及所述目标宿主机对应的第二资源使用率曲线,生成目标资源使用率曲线;
[0030]将所述目标资源使用率曲线存储至所述预设数据库中。
[0031]在一些实施例中,根据待部署容器包含的应用的类型,确定所述待部署容器对应的曲线生成规则前,所述方法包括:
[0032]实时监听资源发布事件,在监听到所述资源发布事件时确定所述资源发布事件对应的容器为待部署容器。
[0033]在一些实施例中,所述根据所述待部署容器对应的第一资源使用率曲线及宿主机的第二资源使用率曲线,确定所述待部署容器与每一所述宿主机的匹配程度包括:
[0034]根据所述第一资源使用率曲线及所述第二资源使用率曲线,确定所述待部署应与所述宿主机在每一所述预设时间点对应的可用资源匹配程度;
[0035]利用预设的应用反亲和算法,确定所述待部署容器与所述宿主机对应的反亲和匹配程度;
[0036]根据所述可用资源匹配程度及所述反亲和匹配程度,确定所述待部署容器与每一所述宿主机的匹配程度。
[0037]第二方面,本申请提供了一种容器的调度装置,所述装置包括:
[0038]判断模块,用于根据待部署容器包含的应用的类型,确定所述待部署容器对应的曲线生成规则;
[0039]生成模块,用于根据所述对应的曲线生成规则及所述待部署容器对应的历史数据,生成所述待部署容器对应的第一资源使用率曲线,所述第一资源使用率曲线包括所述待部署容器在每一预设时间点对所述待部署容器的可用资源的占用率;
[0040]匹配模块,用于根据所述待部署容器对应的第一资源使用率曲线及宿主机的第二资源使用率曲线,确定所述待部署容器与每一所述宿主机的匹配程度,所述第二资源本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种容器的调度方法,其特征在于,所述方法包括:根据待部署容器包含的应用的类型,确定所述待部署容器对应的曲线生成规则;根据所述对应的曲线生成规则及所述待部署容器对应的历史数据,生成所述待部署容器对应的第一资源使用率曲线,所述第一资源使用率曲线包括所述待部署容器在每一预设时间点对所述待部署容器的可用资源的占用率;根据所述待部署容器对应的第一资源使用率曲线及宿主机的第二资源使用率曲线,确定所述待部署容器与每一所述宿主机的匹配程度,所述第二资源使用率曲线用于描述所述宿主机内的实时容器在每一预设时间点对所述宿主机的可用资源的占用率;将所述待部署容器部署至与所述待部署容器的匹配程度满足预设条件的所述宿主机中。2.根据权利要求1所述的容器的调度方法,其特征在于,所述历史数据包括历史流量数据,所述根据所述对应的曲线生成规则及所述待部署容器对应的历史数据,生成所述待部署容器对应的第一资源使用率曲线包括:在所述待部署容器包含的应用为流量型时,获取所述待部署容器包含的应用在第一预设时间段内的所述历史流量数据;根据所述历史流量数据,生成所述待部署容器对应的流量曲线;根据所述对应的流量曲线及所述待部署容器对应的斜率,生成所述待部署容器对应的第一资源使用率曲线,所述斜率用于描述所述待部署容器的流量与对所述可用资源的占用率的对应关系。3.根据权利要求2所述的容器的调度方法,其特征在于,所述流量曲线包括所述待部署容器在所述第一预设时间段内的每一预设时间点的历史流量值,根据所述对应的流量曲线及所述待部署容器对应的斜率,生成所述待部署容器对应的第一资源使用率曲线前,所述方法还包括:确定所述流量曲线包括的所述历史流量值中的最大值对应的预设时间点为目标时间点;获取所述应用的历史容器在所述目标时间点的平均流量值及平均可用资源占用率;根据所述平均流量值及所述平均可用资源占用率,确定所述待部署容器对应的斜率。4.根据权利要求1所述的容器的调度方法,其特征在于,所述历史数据包括历史资源使用率曲线,所述根据所述对应的曲线生成规则及所述待部署容器对应的历史数据,生成所述待部署容器对应的第一资源使用率曲线包括:在所述待部署容器包含的应用为非流量型时,获取所述待部署容器在预设时间范围内的第一历史资源使用率曲线及目标日期的第二历史资源使用率曲线;确定所述第一历史资源使用率曲线及所述第二历史资源使用率曲线中对每一预设时间点分别对应的所述可用资源的占用率中的最大值为所述预设时间点对应的所述可用资源的占用率;根据每一所述预设时间点对应的所述可用资源的占用率,生成所述待部署容器对应的第一资源使用率曲线。5.根据权利要求1

4任一所述的容器的调度方法,其特征在于,根据所述待部署容器对应的第一资源使用率曲线及宿主机的第二资源使用率曲线,确
定所述待部署容器与每一所述宿主机的匹配程度前,所述方法还包括:获取预设数据库中存储的所述宿主机对应的历史资源使用率曲线,所述宿主机对应的历史资源使用率曲线包括根据对应的历史容器生成的第一校验码;根据获取的所述宿主机内的实时容器生成第二校验码;确定包括的所述第一校验码与...

【专利技术属性】
技术研发人员:王志雄
申请(专利权)人:唯品会广州软件有限公司
类型:发明
国别省市:

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

1