[发明专利]基于内存热插拔技术的容器调度方法及管理节点调度器在审
申请号: | 201910809325.7 | 申请日: | 2019-08-29 |
公开(公告)号: | CN110580194A | 公开(公告)日: | 2019-12-17 |
发明(设计)人: | 刘超 | 申请(专利权)人: | 上海仪电(集团)有限公司中央研究院 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 31225 上海科盛知识产权代理有限公司 | 代理人: | 翁惠瑜 |
地址: | 200233 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 目标节点 亲和标签 调度 管理节点 获取目标 任务调度 网络通信 性能损耗 调度器 亲和性 热插拔 | ||
本发明涉及一种基于内存热插拔技术的容器调度方法及管理节点调度器,所述方法包括以下步骤:1)获取容器任务所需内存及亲和标签,基于亲和标签,获取具有亲和性的目标节点;2)基于容器任务所需内存,判断目标节点的内存是否足够,如果不足够,则获取目标节点待增加内存,并执行步骤3),否则执行步骤4);3)基于待增加内存,对目标节点进行内存热插;4)将容器任务调度至目标节点。与现有技术相比,本发明通过提升目标节点的内存,使得具有亲和标签的容器任务能调度到尽可能少的目标节点中,减少因网络通信而带来的性能损耗,具有稳定性好和可靠性高等优点。
技术领域
本发明涉及计算机技术领域,尤其是涉及一种基于内存热插拔技术的容器调度方法及管理节点调度器。
背景技术
随着容器技术的兴起,越来越多的软件系统开始采用以容器的形式分发和部署。而为了解决现阶段容器技术不成熟的问题,通常会将容器调度在虚拟机中运行。
现有的容器的调度方法主要包括:随机调度法和Binpack方法,调度原理为:管理节点调度器综合考虑容器Pod所需的运行空间和虚拟机配置内存,并选区虚拟机配置内存大于Pod所需运行空间的虚拟机作为容器宿主机。但是,管理节点调度在选区虚拟机时,只考虑物理服务器配置给虚拟机的静态内存大小。
具体地,Pod是可以创建和管理Kubernetes计算的最小可部署单元。一个Pod代表着集群中运行的一个进程。
让具有亲和标签的两个容器Pod合理调度,有利于从而提高整体系统的性能。具体原因如下:具有亲和标签应用A与应用B两个应用频繁交互,所以有必要让两个应用所在的Pod尽可能靠近,最好运行在同一个虚拟机节点上,以减少因网络通信而带来的性能损耗。
因此,如何让具有亲和标签的容器任务调度到尽可能少的虚拟机节点上,进一步提高整体系统的性能,是本发明所要解决的问题。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于内存热插拔技术的容器调度方法及管理节点调度器。
本发明的目的可以通过以下技术方案来实现:
一种基于内存热插拔技术的容器调度方法,该方法包括以下步骤:
S1:获取容器任务所需内存及亲和标签,基于亲和标签,获取具有亲和性的目标节点;
S2:基于容器任务所需内存,判断目标节点的内存是否足够,如果不足够,则获取目标节点待增加内存,并执行步骤S3,否则执行步骤S4;
S3:基于待增加内存,对目标节点进行内存热插;
S4:将容器任务调度至目标节点。
进一步地,所述步骤S1中,目标节点为一个或多个。
进一步地,执行所述步骤S3前还包括如下条件判断:
判断是否满足预建立的内存热插条件,如果满足,则继续执行,如果不满足,则发出调度失败报警。
进一步地,所述预建立的内存热插条件包括设定目标节点最大内存上限和目标节点上的剩余虚拟插槽数大于或等于一。
进一步地,所述步骤S3中的对目标节点进行内存热插,具体为,在目标节点所在的物理机上执行内存热插指令,为目标节点的虚拟插槽中添加虚拟内存块,并在目标节点内自动上线使用。
本发明还提供一种管理节点调度器,包括:
获取模块,用于获取容器任务所需内存及亲和标签,基于亲和标签,获取具有亲和性的目标节点;
判断模块,用于基于容器任务所需内存,判断该目标节点的内存是否足够,如果不足够,则获取目标节点待增加内存,并执行内存热插模块,否则执行调度模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海仪电(集团)有限公司中央研究院,未经上海仪电(集团)有限公司中央研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910809325.7/2.html,转载请声明来源钻瓜专利网。