一种资源管理平台上docker动态资源调整方法和系统技术方案

技术编号:36196425 阅读:74 留言:0更新日期:2023-01-04 11:48
本发明专利技术公开了一种资源管理平台上docker动态资源调整方法和系统。该方法包括:接收用户通过前端系统设置的针对docker应用的资源更新信息,该资源更新信息包括docker应用标识和所调整的目标资源信息;对于后端系统,主进程解析接收到的资源更新信息并利用所包含的docker应用标识发送至匹配的从进程;从进程通知执行器相应更新指定的docker应用的资源,并向主进程反馈更新结果。本发明专利技术能够实时扩容或缩减集群上docker应用资源,提高了集群资源利用率。用率。用率。

【技术实现步骤摘要】
一种资源管理平台上docker动态资源调整方法和系统


[0001]本专利技术涉及信息处理
,更具体地,涉及一种资源管理平台上docker动态资源调整方法和系统。

技术介绍

[0002]Docker是开源的应用容器引擎,作为容器技术的一种代表,docker可以让多个独立的用户空间运行在一台宿主机上。Docker只需将整个开发环境打包成一个docker image(即docker镜像)给运维团队,运维团队直接运行docker镜像就能构建起用户程序的运行环境,提供程序服务,整个过程就变成打包、传送、运行即可。docker镜像包含了所有的环境依赖关系,可以保证开发与生产环境一致。此外,容器可以重复运行在任何地方,简化了运维人员的工作。Docker这种在安全、可重复的环境中可移植,跨平台的快速部署方式也有利于持续集成。
[0003]Docker的细粒度松耦合能够用一个docker容器装载一个场景功能,让每个docker运行一个微服务,为微服务应用程序创建出高效的分布式模型,从而顺利实现微服务概念的现实转化。Docker容器集群的大规模编排使得docker资源的动态调整成为一个重要的需求,这是因为用户希望尽可能提高集群的资源利用率。在docker容器刚开始提交时,用户往往为docker预留足够多的资源,即过多的CPU核数和超出docker应用需求的内存。但是,随着docker应用的越来越多,有限的集群资源不能满足数量庞大的docker。因此,实现docker资源的动态调整(增大或者缩小其使用的资源)变得尤为重要。<br/>[0004]与传统的虚拟化技术相比,docker开销小,显著节约了服务器资源。目前,docker作为云计算的基础管理单元,已经在大规模集群上部署。然而,在现有的分布式计算平台上,docker的资源限制通常是运行前由用户指定,并不能在docker容器运行过程中进行动态调整,即现有的集群资源管理工具不支持docker资源的动态调整。

技术实现思路

[0005]本专利技术的目的是克服上述现有技术的缺陷,提供一种资源管理平台上docker动态资源调整方法。
[0006]根据本专利技术的第一方面,提供一种资源管理平台上docker动态资源调整方法。该方法包括以下步骤:
[0007]接收用户通过前端系统设置的针对docker应用的资源更新信息,该资源更新信息包括docker应用标识和所调整的目标资源信息;
[0008]对于后端系统,主进程解析接收到的资源更新信息并利用所包含的docker应用标识发送至匹配的从进程;从进程通知执行器相应更新指定的docker应用的资源,并将向主进程反馈更新结果。
[0009]根据本专利技术的第二方面,提供一种docker动态资源调整系统。该系统包括:
[0010]前端系统:用于接收用户设置的针对docker应用的资源更新信息,该资源更新信
息包括docker应用标识和所调整的目标资源信息;
[0011]后端系统:其被设置为一个主节点管理多个从节点,其中主节点上启动的主进程解析接收到的资源更新信息并利用所包含的docker应用标识发送至匹配的从节点上的从进程;从进程通知执行器相应更新指定的docker应用的资源,并向主进程反馈更新结果。
[0012]与现有技术相比,本专利技术的优点在于,在分布式计算集群资源管理平台上,实现docker容器运行时资源的动态调整,能够通过实时扩容或缩减集群上某些docker应用资源来提高集群资源利用率。并且,本专利技术可作为当前docker集群编排工具的一个有用的功能,在不增加集群机器数量的同时,使得集群能够部署更多的docker应用,从而显著降低企业的机器购买开销。
[0013]通过以下参照附图对本专利技术的示例性实施例的详细描述,本专利技术的其它特征及其优点将会变得清楚。
附图说明
[0014]被结合在说明书中并构成说明书的一部分的附图示出了本专利技术的实施例,并且连同其说明一起用于解释本专利技术的原理。
[0015]图1是根据本专利技术一个实施例的docker应用资源动态调整方法的流程图;
[0016]图2是根据本专利技术一个实施例的docker应用资源动态调整过程示意图;
[0017]图3是根据本专利技术一个实施例的设置docker资源动态调整信息的示意图。
具体实施方式
[0018]现在将参照附图来详细描述本专利技术的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本专利技术的范围。
[0019]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。
[0020]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0021]在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
[0022]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0023]在本专利技术中,docker资源动态调整是指在docker容器运行过程中,对指定的docker进行资源的伸缩。当指定的docker资源发生伸缩时,集群资源管理器也能智能感应到其机器上剩余资源的变化,并将这种资源剩余量的变化实时反馈给用户。在下文中,主要针对docker容器的CPU核数和内存这两种资源进行动态调整,但应理解的是,本专利技术也适用于其他资源(如硬盘容量等)的动态调整。
[0024]本专利技术可运行在资源管理平台或系统,用于集群中docker的资源调整,以分布式集群为例,其通常包含多个机器节点(或称计算节点),集群上运行的资源管理系统表现为一个master节点(主节点)管理若干个slave节点(从节点),其中主节点上启动的进程称为
master进程,从节点上启动的进程称为slave进程。
[0025]参见图1所示,所提供的资源管理平台上docker动态资源调整方法包括以下步骤。
[0026]步骤S110,设置针对docker应用的资源更新信息,包括需调整的docker应用标识和目标资源信息。
[0027]在一个实施例中,前端docker应用设置信息(即资源更新信息)填写接口是网页的形式。用户可以通过该接口,使用json或者yaml语法设置本次docker应用资源调整的基本信息,包括docker应用标识、CPU核数、内存使用量和硬盘使用量等。
[0028]例如,利用前端控制系统通过集群资源管理界面设置相关信息。如图3所示,需调整的docker应用标识设置为名称,如python_server,调整目标是将CPU修改为3核,内存使用量修改为20M。应理解的是,调整目标也可设置为资源伸缩的比例,如设置内存使用量扩容到当前的2倍。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源管理平台上docker动态资源调整方法,包括以下步骤:接收用户通过前端系统设置的针对docker应用的资源更新信息,该资源更新信息包括docker应用标识和所调整的目标资源信息;对于后端系统,主进程解析接收到的资源更新信息并利用所包含的docker应用标识发送至匹配的从进程;从进程通知执行器相应更新指定的docker应用的资源,并向主进程反馈更新结果。2.根据权利要求1所述的方法,其中,所述执行器通过调用linux cgroup的资源模块根据所述目标资源信息扩容或缩减指定docker应用的资源大小。3.根据权利要求1所述的方法,其中,所述目标资源信息包括CPU核数、内存使用量和硬盘使用量中的一项或多项。4.根据权利要求1所述的方法,其中,前端系统提供网页形式的接口,用户通过该接口,使用json或者yaml语法设置docker应用的资源更新信息;并且前端系统将用户设置的资源更新信息通过http协议传送到后端系统。5.根据权利要求4所述方法,其中,后端系统将docker应用的资源更新信息保存至内存的数据结构或写入单独文件。6.根据权利要求1所述方法,还包括:从进程将docker应用的资源调整结果...

【专利技术属性】
技术研发人员:李乐乐喻之斌
申请(专利权)人:中国科学院深圳先进技术研究院
类型:发明
国别省市:

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

1