[发明专利]一种容器调度方法及管理节点调度器有效
申请号: | 201710099565.3 | 申请日: | 2017-02-23 |
公开(公告)号: | CN106897110B | 公开(公告)日: | 2021-04-20 |
发明(设计)人: | 冯振;颜秉珩;王理想 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 容器 调度 方法 管理 节点 | ||
本发明公开了一种容器调度方法及管理节点调度器,当管理节点调度器调度容器任务时,管理节点调度器会优先从内存气球未回收释放内存,且主动反馈实际占用内存的虚拟机中,选取实际占用内存大于容器所需的运行空间的虚拟机,作为容器宿主机,相比传统方案以虚拟机配置内存作为选取依据而言,本发明将虚拟机的实际内存作为选取依据,从而大大减少了物理服务器对内存气球的频繁操作,降低了系统整体消耗,提高了系统的整体性能。
技术领域
本发明涉及计算机技术领域,更具体的说,涉及一种容器调度方法及管理节点调度器。
背景技术
随着容器技术的兴起,越来越多的软件系统开始采用以容器的形式分发和部署。而为了解决现阶段容器技术不成熟的问题,通常会将容器调度在虚拟机中运行。
现有容器的调度方法主要包括:随机调度法和Binpack方法,调度原理为:管理节点调度器综合考虑容器所需的运行空间和虚拟机配置内存,并选取虚拟机配置内存大于容器所需运行空间的虚拟机作为容器宿主机。
但是,管理节点调度器在选取虚拟机时,只考虑物理服务器配置给虚拟机的内存大小,并不考虑虚拟机实际占用内存,而实际上,虚拟机并没有被分配到其配置的所有内存,如图1所示,虚拟机配置内存的很大一部分位于内存气球中,虚拟机实际占用内存很小(如图1中矩形内的空白区域)。这样,当管理节点调度器将容器调度至选取的虚拟机时,若虚拟机实际占用内存小于容器所需的运行空间,物理服务器就会通过内存气球机制,将内存气球内的部分内存释放给虚拟机(见图2中圆形区域的斜线部分,为内存气球释放的内存),以保证容器的正常运行。然而,物理服务器对内存气球的频繁操作会增加系统的整体消耗,降低系统的整体性能。
发明内容
有鉴于此,本发明公开一种容器调度方法及管理节点调度器,以实现在管理节点调度器调度容器任务时,减少物理服务器对内存气球的频繁操作,降低系统整体消耗,提高系统的整体性能。
一种容器调度方法,包括:
当调度容器任务时,确定所述容器任务所需的运行空间;
判断主动反馈实际占用内存的虚拟机中,是否存在实际占用内存大于所述运行空间的虚拟机;其中,所述主动反馈实际占用内存的虚拟机为:虚拟机内容器停止运行,且相对应的内存气球未回收释放内存的虚拟机;
若存在实际占用内存大于所述运行空间的虚拟机,则从实际占用内存大于所述运行空间的虚拟机中,选取一个虚拟机作为执行所述容器任务的容器的容器宿主机;
将所述容器任务调度至设置在作为容器宿主机的虚拟机内、且与所述容器任务相对应的容器内运行。
优选的,所述若存在实际占用内存大于所述运行空间的虚拟机,则从实际占用内存大于所述运行空间的虚拟机中,选取一个虚拟机作为执行所述容器任务的容器的容器宿主机包括:
若存在实际占用内存大于所述运行空间的虚拟机,则判断实际占用内存大于所述运行空间的虚拟机是否为多个;
若实际占用内存大于所述运行空间的虚拟机为多个,则从多个候选虚拟机中,选取一个满足预设要求的虚拟机作为执行所述容器任务的容器的容器宿主机;
若实际占用内存大于所述运行空间的虚拟机为一个,则将该实际占用内存大于所述运行空间的虚拟机作为执行所述容器任务的容器的容器宿主机。
优选的,还包括:
若主动反馈实际占用内存的虚拟机中,不存在实际占用内存大于所述运行空间的虚拟机,则从配置内存大于所述运行空间的虚拟机中,选取一个虚拟机作为执行所述容器任务的容器的容器宿主机;
启动内存气球机制,通过与选取虚拟机对应的内存气球,向所述选取虚拟机释放内存,使所述选取虚拟机的实际占用内存大于所述运行空间;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710099565.3/2.html,转载请声明来源钻瓜专利网。