CN115098223A - 容器实例的调度方法、装置和系统 - Google Patents

容器实例的调度方法、装置和系统 Download PDF

Info

Publication number
CN115098223A
CN115098223A CN202210757855.3A CN202210757855A CN115098223A CN 115098223 A CN115098223 A CN 115098223A CN 202210757855 A CN202210757855 A CN 202210757855A CN 115098223 A CN115098223 A CN 115098223A
Authority
CN
China
Prior art keywords
virtual machine
group
machine nodes
nodes
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210757855.3A
Other languages
English (en)
Inventor
师春雨
朱万意
王钤
孟庆蕴
黄志兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202210757855.3A priority Critical patent/CN115098223A/zh
Publication of CN115098223A publication Critical patent/CN115098223A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Abstract

本公开提供了一种容器实例的调度方法、装置和系统,涉及云计算技术领域,所述方法包括:获取第一信息,所述第一信息包括多个虚拟机节点中每个虚拟机节点当前剩余的每类资源;获取第二信息,所述第二信息包括在所述多个虚拟机节点中的每个虚拟机节点上运行的每个容器实例当前占用的每类资源;和根据所述第一信息和所述第二信息执行调度,包括:将在当前剩余的至少一类资源小于第一阈值的第一组虚拟机节点上运行的第一组容器实例调度至对应的目标虚拟机节点,以使得所述第一组虚拟机节点和所述第一组容器实例对应的目标虚拟机节点剩余的每类资源均不小于第二阈值,所述第二阈值不小于所述第一阈值。

Description

容器实例的调度方法、装置和系统
技术领域
本公开涉及云计算技术领域,尤其是一种容器实例的调度方法、装置和系统。
背景技术
在云计算技术中,业务由虚拟机节点上运行的容器实例(例如,Pod)承载。随着业务负载的变化,容器实例占用的各类资源也不断变化。
相关技术中,在创建虚拟机节点时,需要配置虚拟机节点具有足够多的资源,以保证该虚拟机节点上的容器实例能够以高业务负载的状态正常运行。
发明内容
然而,发明人注意到,实际中,容器实例仅在短时间内以高业务负载的状态运行,而在长时间内以低业务负载的状态运行。在这种情况下,虚拟机节点的大量资源长时间得不到有效利用。这造成虚拟机节点的资源浪费。
为了解决上述问题,本公开实施例提出了如下解决方案。
根据本公开实施例的一方面,提供一种容器实例的调度方法,包括:获取第一信息,所述第一信息包括多个虚拟机节点中每个虚拟机节点当前剩余的每类资源;获取第二信息,所述第二信息包括在所述多个虚拟机节点中的每个虚拟机节点上运行的每个容器实例当前占用的每类资源;和根据所述第一信息和所述第二信息执行调度,包括:将在当前剩余的至少一类资源小于第一阈值的第一组虚拟机节点上运行的第一组容器实例调度至对应的目标虚拟机节点,以使得所述第一组虚拟机节点和所述第一组容器实例对应的目标虚拟机节点剩余的每类资源均不小于第二阈值,所述第二阈值不小于所述第一阈值。
在一些实施例中,所述第二阈值大于所述第一阈值。
在一些实施例中,根据所述第一信息和所述第二信息执行调度还包括:在第二组虚拟机节点的数量大于预设数量的情况下,将在第三组虚拟机节点上运行的第二组容器实例调度至对应的目标虚拟机节点,以使得所述第三组虚拟机节点和所述第二组容器实例对应的目标虚拟机节点剩余的每类资源均不小于所述第二阈值,其中,所述第二组虚拟机节点中的每个虚拟机节点当前剩余的每类资源均不小于所述第一阈值且至少一类资源小于所述第二阈值,所述第三组虚拟机节点包括所述第二组虚拟机节点中的至少一个虚拟机节点。
在一些实施例中,所述第三组虚拟机节点包括所述第二组虚拟机节点。
在一些实施例中,将在第三组虚拟机节点上运行的第二组容器实例调度至对应的目标虚拟机节点包括:将所述第二组容器实例中的每个容器实例依次调度至对应的目标虚拟机节点。
在一些实施例中,所述第二组容器实例包括在所述多个虚拟机节点中的每个虚拟机节点上运行的每个容器实例。
在一些实施例中,将在当前剩余的至少一类资源小于第一阈值的第一组虚拟机节点上运行的第一组容器实例调度至对应的目标虚拟机节点包括:将所述第一组容器实例中的每个容器实例依次调度至对应的目标虚拟机节点。
在一些实施例中,所述第一组容器实例中任意一个容器实例对应的目标虚拟机节点按照以下方式确定:确定第四组虚拟机节点中每个虚拟机节点的评估值,所述评估值与当前剩余的每类资源正相关;和将所述第四组虚拟机节点中评估值最高的虚拟机节点确定为所述任意一个容器实例对应的目标虚拟机节点。
在一些实施例中,所述第四组虚拟机节点中每个虚拟机节点当前剩余的每类资源不小于所述任意一个容器实例当前占用的该类资源。
根据本公开实施例的还一方面,提供一种容器实例的调度装置,包括:获取模块,被配置为获取第一信息,所述第一信息包括多个虚拟机节点中每个虚拟机节点当前剩余的每类资源;获取第二信息,所述第二信息包括在所述多个虚拟机节点中的每个虚拟机节点上运行的每个容器实例当前占用的每类资源;和执行模块,被配置为根据所述第一信息和所述第二信息执行调度,包括:将在当前剩余的至少一类资源小于第一阈值的第一组虚拟机节点上运行的第一组容器实例调度至对应的目标虚拟机节点,以使得所述第一组虚拟机节点和所述第一组容器实例对应的目标虚拟机节点剩余的每类资源均不小于第二阈值,所述第二阈值不小于所述第一阈值。
根据本公开实施例的又一方面,提供一种容器实例的调度装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行上述任意一个实施例所述的方法。
根据本公开实施例的还一方面,提供一种容器实例的调度系统,包括:上述任意一个实施例所述的容器实例的调度装置;以及所述多个虚拟机节点。
根据本公开实施例的还一方面,提供一种计算机可读存储介质,包括计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述任意一个实施例所述的方法。
根据本公开实施例的还一方面,提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现上述任意一个实施例所述的方法。
本公开实施例中,根据获取的第一信息和第二信息执行调度,以在第一组虚拟机节点的至少一类资源的剩余量小于第一阈值的情况下,自动将第一组虚拟机节点上运行的第一组容器实例重调度至对应的目标虚拟机节点,并保证在重调度后,第一组虚拟机节点和对应的目标虚拟机节点的每类资源的剩余量增大为不小于第二阈值。这种方式下,通过灵活、动态的重调度即可保证容器实例以高业务负载的状态正常运行,而无需配置虚拟机节点具有足够多的资源。如此,可以减少虚拟机节点的资源浪费。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本公开一些实施例的容器实例的调度方法的流程示意图;
图2是根据本公开一些实施例的容器实例的调度装置的结构示意图;
图3是根据本公开另一些实施例的容器实例的调度装置的结构示意图;
图4是根据本公开一些实施例的容器实例的调度系统的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是根据本公开一些实施例的容器实例的调度方法的流程示意图。
如图1所示,容器实例的调度方法包括步骤102~步骤106。
在步骤102,获取第一信息。这里,第一信息包括多个虚拟机节点中每个虚拟机节点当前剩余的每类资源。
虚拟机节点可以部署在物理机节点上,并具备物理机节点所拥有的中央处理器(Central Processing Unit,CPU)资源、内存资源、硬盘存储资源等多类资源中的至少一类资源。
每个虚拟机节点上可以运行一个或多个容器实例。多个虚拟机节点可以构成虚拟机集群。
作为一些实现方式,可以从虚拟机节点管理平台获取第一信息。例如,虚拟机节点管理平台可以实时监测每个虚拟机节点剩余的每类资源。
作为一些实现方式,可以利用资源利用率表示虚拟机节点当前剩余的每类资源。虚拟机节点某一类资源当前的剩余量越小,则该类资源当前的资源利用率越高;虚拟机节点某一类资源当前的剩余量越大,则该类资源当前的资源利用率越低。
在步骤104,获取第二信息。这里,第二信息包括在多个虚拟机节点中的每个虚拟机节点上运行的每个容器实例当前占用的每类资源。
容器实例可以包括一个或多个容器。容器实例在虚拟机节点上运行时,占用虚拟机节点的各类资源以承载相应的业务。
可以理解,容器实例的业务负载越高,则占用虚拟机节点的各类资源越多;容器实例的业务负载越低,则占用虚拟机节点的各类资源越少。
作为一些实现方式,每个虚拟机节点上安装了监测插件,监测插件可以被配置为实时监测在该虚拟机节点上运行的每个容器实例占用的每类资源。可以从每个虚拟机节点上安装的监测插件获取第二信息。
在步骤106,根据第一信息和第二信息执行调度。
执行的调度包括:将在当前剩余的至少一类资源小于第一阈值的第一组虚拟机节点上运行的第一组容器实例调度至对应的目标虚拟机节点,以使得第一组虚拟机节点和第一组容器实例对应的目标虚拟机节点剩余的每类资源均不小于第二阈值。
这里,第二阈值不小于第一阈值。例如,第二阈值可以等于第一阈值。又例如,第二阈值可以大于第一阈值。
第一组虚拟机节点可以包括多个虚拟机节点中的一个或多个虚拟机节点。例如,可以根据第一信息,将多个虚拟机节点中当前剩余的至少一类资源小于第一阈值的每个虚拟机节点确定为第一组虚拟机节点。
第一组容器实例包括在第一组虚拟机节点中的每个虚拟机节点上运行的至少一个容器实例。例如,可以根据第二信息,将在虚拟机节点上运行的至少一个容器实例确定为第一组容器实例。
为了方便说明,后文中将上述调度称为按照第一种调度策略执行的调度。
某一虚拟机节点当前剩余的至少一类资源小于第一阈值,这意味着在该虚拟机节点上运行的容器实例的业务负载很高、该虚拟机节点的至少一类资源的剩余量很小,也即,至少一类资源的资源利用率很高。
在这种情况下,将在这一虚拟机节点上运行的至少一个容器实例调度至对应的目标虚拟机节点(即,多个虚拟机节点中的其它虚拟机节点),以使得第一组虚拟机节点和至少一个容器实例对应的目标虚拟机节点剩余的每类资源均不小于第二阈值。
即,在按照第一种调度策略执行调度后,第一组虚拟机节点中每个虚拟机节点的每类资源的剩余量被增大至不小于第二阈值,并且,第一组容器实例对应的目标虚拟机节点的每类资源的剩余量也不小于第二阈值。也即,在按照第一种调度策略执行调度后,第一组虚拟机节点中每个虚拟机节点的资源利用率降低。
应理解,第一组容器实例中不同容器实例对应的目标虚拟机节点可以相同或不同。
也应理解,同一虚拟机节点的不同类资源对应的第一阈值可以不同,并且,不同虚拟机节点的同一类资源对应的第一阈值可以相同或不同。类似地,同一虚拟机节点的不同类资源对应的第二阈值可以不同,并且,不同虚拟机节点的同一类资源对应的第二阈值可以相同或不同。即,某一虚拟机节点的某一类资源可以具有对应的第一阈值和第二阈值。
上述实施例中,根据获取的第一信息和第二信息执行调度,以在第一组虚拟机节点的至少一类资源的剩余量小于第一阈值的情况下,自动将第一组虚拟机节点上运行的第一组容器实例重调度至对应的目标虚拟机节点,并保证在重调度后,第一组虚拟机节点和对应的目标虚拟机节点的每类资源的剩余量增大为不小于第二阈值。这种方式下,通过灵活、动态的重调度即可保证容器实例以高业务负载的状态正常运行,而无需配置虚拟机节点具有足够多的资源。如此,可以减少虚拟机节点的资源浪费。
下面进一步说明本公开实施例的容器实例的调度方法。
在一些实施例中,第一组容器实例包括在第一组虚拟机节点中的每个虚拟机节点上运行的占用资源最多的容器实例。如此,可以在灵活、动态地重调度容器实例的同时,尽可能减少需要重新调度的容器实例的数量,减轻处理压力。
在一些实施例中,第二阈值大于第一阈值。
在这些实施例中,还可以根据第一信息和第二信息执行以下调度。
即,在第二组虚拟机节点的数量大于预设数量的情况下,将在第三组虚拟机节点上运行的第二组容器实例调度至对应的目标虚拟机节点,以使得第三组虚拟机节点和第二组容器实例对应的目标虚拟机节点剩余的每类资源均不小于第二阈值。
这里,第二组虚拟机节点中的每个虚拟机节点当前剩余的每类资源均不小于第一阈值且至少一类资源小于第二阈值。
第二组虚拟机节点可以包括多个虚拟机节点中的一个或多个虚拟机节点。例如,可以根据第一信息,将多个虚拟机节点中当前剩余的每类资源均不小于第一阈值且至少一类资源小于第二阈值的每个虚拟机节点确定为第二组虚拟机节点。
第三组虚拟机节点包括第二组虚拟机节点中的至少一个虚拟机节点。例如,第三组虚拟机节点可以包括第二组虚拟机节点中的一个虚拟机节点。又例如,第三组虚拟机节点可以包括第二组虚拟机节点中的每个虚拟机节点。再例如,第三组虚拟机节点可以包括步骤102中的多个虚拟机节点。
第二组容器实例包括在第三组虚拟机节点中的每个虚拟机节点上运行的至少一个容器实例。例如,可以根据第二信息,将在虚拟机节点上运行的至少一个容器实例确定为第二组容器实例。
为了方便说明,后文中将上述调度称为按照第二种调度策略执行的调度。
某一虚拟机节点当前剩余的每类资源均不小于第一阈值、且至少一类资源小于第二阈值,这意味着在该虚拟机节点上运行的容器实例的业务负载虽然低于在第一组虚拟机节点上运行的容器实例的业务负载,但仍然比较高。即,该虚拟机节点至少一类资源的剩余量小于第二阈值,也即,至少一类资源的资源利用率较高。
第二组虚拟机节点的数量大于预设数量,这表明多个虚拟机节点中较多虚拟机节点上运行的容器实例的业务负载都比较高,也即,多个虚拟机节点此时可能存在全局负载不均衡的现象。在这种情况下,将在第三组虚拟机节点上运行的第二组容器实例调度至对应的目标虚拟机节点,以使得第三组虚拟机节点和第二组容器实例对应的目标虚拟机节点剩余的每类资源均不小于第二阈值。
即,在按照第二种调度策略执行调度后,第二组虚拟机节点中的至少一个虚拟机节点的每类资源的剩余量增大至不小于第二阈值,并且,第二组容器实例对应的目标虚拟机节点的每类资源的剩余量也不小于第二阈值。
换言之,按照第二种调度策略执行调度后,资源利用率较高的虚拟机节点的数量减少。
应理解,与第一组容器实例类似地,第二组容器实例中不同容器实例对应的目标虚拟机节点可以相同或不同。
上述实施例中,根据获取的第一信息和第二信息执行调度,以在至少一类资源的剩余量小于第二阈值的第二组虚拟机节点的数量较大时,将第三组虚拟机节点上运行的第二组容器实例重调度至对应的目标虚拟机节点,并保证在重调度后,第三组虚拟机节点和对应的目标虚拟机节点的每类资源的剩余量均不小于第二阈值。这种方式下,通过灵活、动态的重调度即可减少资源利用率较高的第二组虚拟机节点的数量。如此,可以缓解多个虚拟机节点全局负载不均衡的现象。
在一些实施例中,第三组虚拟机节点包括第二组虚拟机节点。即,第三组虚拟机节点包括第二组虚拟机节点中的每个虚拟机节点。
这种方式下,按照第二种调度策略执行调度,可以消除多个虚拟机节点中资源利用率较高的第二组虚拟机节点的数量。如此,可以进一步缓解多个虚拟机节点全局负载不均衡的现象。
在一些实施例中,第二组容器实例包括在多个虚拟机节点中的每个虚拟机节点上运行的每个容器实例。即,这种方式下,可以在多个虚拟机节点全局负载不均衡的情况下,对全局的每个容器实例进行重新调度。在重新调度全局的每个容器实例的过程中,可以将每个容器实例调度至最优的目标虚拟机节点,这有利于从根本上解决多个虚拟机节点全局负载不均衡的问题。
在一些实施例中,在虚拟机节点当前剩余的每类资源均不小于第二阈值的情况下,不需要对虚拟机节点上运行的容器实例进行调度。
虚拟机节点当前剩余的每类资源均不小于第二阈值,这表明虚拟机节点上运行的容器实例的业务负载比较低,虚拟机节点的资源利用率较低。在这种情况下,不需要对虚拟机节点上运行的容器实例进行调度。如此,可以减少无效调度,减轻处理压力。
在一些实施例中,在第二组虚拟机节点的数量不大于预设数量的情况下,不需要对虚拟机节点上运行的容器实例进行调度。
第二组虚拟机节点的数量不大于预设数量,这表明多个虚拟机节点全局负载较为均衡。在这种情况下,不需要对虚拟机节点上运行的容器实例进行调度。如此,可以减少无效调度,减轻处理压力。
下面说明将第一组容器实例和第二组容器实例调度至对应的目标虚拟机节点的一些实现方式。
在一些实现方式下,可以将第一组容器实例中的每个容器实例依次调度至对应的目标虚拟机节点。在另一些实现方式下,可以将第二组容器实例中的每个容器实例依次调度至对应的目标虚拟机节点。
在这些实现方式下,每个容器实例依次被调度至对应的目标虚拟机节点,而不是作为整体一次被调度至对应的目标虚拟机节点。如此,可以将每个容器实例分别调度至对于该容器实例而言最优的目标虚拟机节点,从而有利于实现全局负载均衡。
在一些实施例中,第一组容器实例和第二组容器实例中的每个容器实例可以按照以下方式被调度至对应的目标虚拟机节点。
首先,可以确定第四组虚拟机节点。第四组虚拟机节点可以包括多个虚拟机节点中候选的一个或多个虚拟机节点。应理解,不同容器实例对应的第四组虚拟机节点可以不同。
然后,可以确定第四组虚拟机节点中每个虚拟机节点的评估值。评估值与虚拟机节点当前剩余的每类资源正相关。
例如,评估值与虚拟机节点可以与每类资源当前的资源利用率负相关。在这些示例中,可以按照以下公式计算第四组虚拟机节点中虚拟机节点j的评估值Sj
Figure BDA0003723206850000111
其中,t表示资源的类型,
Figure BDA0003723206850000112
表示虚拟机节点j的t类资源当前的优先级系数,
Figure BDA0003723206850000113
表示虚拟机节点j的t类资源当前的资源利用率,m表示第四组虚拟机节点的数量。
虚拟机节点j的t类资源当前的优先级系数可以与t类资源当前的资源利用率负相关。例如,虚拟机节点j的每类资源的优先级系数默认为1;如果虚拟机节点j的某一类资源当前的资源利用率在60%~70%之间,则该类资源的优先级系数可以被调整为0.6;如果虚拟机节点j的某一类资源当前的资源利用率在70%~80%之间,则该类资源的优先级系数可以被调整为0.3;如果虚拟机节点j的某一类资源当前的资源利用率在80%~90%之间,则该类资源的优先级系数可以被调整为0.1;如果虚拟机节点j的某一类资源当前的资源利用率大于90%,则该类资源的优先级系数可以被调整为0。
最后,可以将第四组虚拟机节点中评估值最高的虚拟机节点确定为容器实例对应的目标虚拟机节点。例如,可以将确定的容器实例对应的目标虚拟机节点发送给容器管理平台,由容器管理平台完成相应的调度。
上述实施例中,第一组容器实例和第二组容器实例中的每个容器实例依次被调度至评估值最高的目标虚拟机节点,从而可以实现容器实例与要调度的目标虚拟机节点之间的最优匹配。
在一些实施例中,第四组虚拟机节点中每个虚拟机节点当前剩余的每类资源不小于容器实例当前占用的该类资源。
例如,在确定第四组虚拟机节点的过程中,可以将步骤102中的多个虚拟机节点中的每个虚拟机节点各类资源当前的剩余量与容器实例当前占用的资源进行比对,并将当前剩余的每类资源不小于容器实例当前占用的该类资源的每个虚拟机节点确定为第四组虚拟机节点。
如此,无需确定多个虚拟机节点中每个虚拟机节点的评估值,从而可以减轻处理压力。此外,还可以避免当前剩余的至少一类资源小于容器实例当前占用的该类资源的虚拟机节点被确定为目标虚拟机节点,避免容器实例调度失败的情况发生,提高调度的成功率。
图2是根据本公开一些实施例的容器实例的调度装置的结构示意图。
如图2所示,容器实例的调度装置200包括获取模块201和执行模块202。
获取模块201可以被配置为获取第一信息和第二信息。
第一信息可以包括多个虚拟机节点中每个虚拟机节点当前剩余的每类资源。第二信息可以包括第二信息包括在多个虚拟机节点中的每个虚拟机节点上运行的每个容器实例当前占用的每类资源。
执行模块202可以被配置为被配置为根据第一信息和第二信息执行调度,包括:将在当前剩余的至少一类资源小于第一阈值的第一组虚拟机节点上运行的第一组容器实例调度至对应的目标虚拟机节点,以使得第一组虚拟机节点和第一组容器实例对应的目标虚拟机节点剩余的每类资源均不小于第二阈值。第二阈值不小于第一阈值。
应理解,容器实例的调度装置200还可以包括其它各种模块,以执行上述任意一个实施例的容器实例的调度方法。
图3是根据本公开另一些实施例的容器实例的调度装置的结构示意图。
如图3所示,容器实例的调度装置300包括存储器301以及耦接至该存储器301的处理器302,处理器302被配置为基于存储在存储器301中的指令,执行上述任意一个实施例的容器实例的调度方法。
存储器301例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如可以存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
容器实例的调度装置300还可以包括输入输出接口303、网络接口304、存储接口305等。这些接口303、304、305之间、以及存储器301与处理器302之间例如可以通过总线306连接。输入输出接口303为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口304为各种联网设备提供连接接口。存储接口305为SD卡、U盘等外置存储设备提供连接接口。
图4是根据本公开一些实施例的容器实例的调度系统的结构示意图。
如图4所示,容器实例的调度系统包括上述任意一个实施例的容器实例的调度装置(例如,容器实例的调度装置200/300)和多个虚拟机节点401(图4中示意性地示出3个)。参见图4,每个虚拟机节点401上可以运行一个或多个容器实例402。
本公开实施例还提供了一种计算机可读存储介质,包括计算机程序指令,该计算机程序指令被处理器执行时实现上述任意一个实施例的方法。
本公开实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任意一个实施例的方法。
至此,已经详细描述了本公开的各实施例。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于装置和系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解,可由计算机程序指令实现流程图中一个流程或多个流程和/或方框图中一个方框或多个方框中指定的功能。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改或者对部分技术特征进行等同替换。本公开的范围由所附权利要求来限定。

Claims (14)

1.一种容器实例的调度方法,包括:
获取第一信息,所述第一信息包括多个虚拟机节点中每个虚拟机节点当前剩余的每类资源;
获取第二信息,所述第二信息包括在所述多个虚拟机节点中的每个虚拟机节点上运行的每个容器实例当前占用的每类资源;和
根据所述第一信息和所述第二信息执行调度,包括:
将在当前剩余的至少一类资源小于第一阈值的第一组虚拟机节点上运行的第一组容器实例调度至对应的目标虚拟机节点,以使得所述第一组虚拟机节点和所述第一组容器实例对应的目标虚拟机节点剩余的每类资源均不小于第二阈值,所述第二阈值不小于所述第一阈值。
2.根据权利要求1所述的方法,其中,所述第二阈值大于所述第一阈值。
3.根据权利要求2所述的方法,其中,根据所述第一信息和所述第二信息执行调度还包括:
在第二组虚拟机节点的数量大于预设数量的情况下,将在第三组虚拟机节点上运行的第二组容器实例调度至对应的目标虚拟机节点,以使得所述第三组虚拟机节点和所述第二组容器实例对应的目标虚拟机节点剩余的每类资源均不小于所述第二阈值,
其中,所述第二组虚拟机节点中的每个虚拟机节点当前剩余的每类资源均不小于所述第一阈值且至少一类资源小于所述第二阈值,所述第三组虚拟机节点包括所述第二组虚拟机节点中的至少一个虚拟机节点。
4.根据权利要求3所述的方法,其中,所述第三组虚拟机节点包括所述第二组虚拟机节点。
5.根据权利要求3所述的方法,其中,将在第三组虚拟机节点上运行的第二组容器实例调度至对应的目标虚拟机节点包括:
将所述第二组容器实例中的每个容器实例依次调度至对应的目标虚拟机节点。
6.根据权利要求5所述的方法,其中,所述第二组容器实例包括在所述多个虚拟机节点中的每个虚拟机节点上运行的每个容器实例。
7.根据权利要求1-6任意一项所述的方法,其中,将在当前剩余的至少一类资源小于第一阈值的第一组虚拟机节点上运行的第一组容器实例调度至对应的目标虚拟机节点包括:
将所述第一组容器实例中的每个容器实例依次调度至对应的目标虚拟机节点。
8.根据权利要求7所述的方法,其中,所述第一组容器实例中任意一个容器实例对应的目标虚拟机节点按照以下方式确定:
确定第四组虚拟机节点中每个虚拟机节点的评估值,所述评估值与当前剩余的每类资源正相关;和
将所述第四组虚拟机节点中评估值最高的虚拟机节点确定为所述任意一个容器实例对应的目标虚拟机节点。
9.根据权利要求8所述的方法,其中,所述第四组虚拟机节点中每个虚拟机节点当前剩余的每类资源不小于所述任意一个容器实例当前占用的该类资源。
10.一种容器实例的调度装置,包括:
获取模块,被配置为获取第一信息,所述第一信息包括多个虚拟机节点中每个虚拟机节点当前剩余的每类资源;获取第二信息,所述第二信息包括在所述多个虚拟机节点中的每个虚拟机节点上运行的每个容器实例当前占用的每类资源;和
执行模块,被配置为根据所述第一信息和所述第二信息执行调度,包括:将在当前剩余的至少一类资源小于第一阈值的第一组虚拟机节点上运行的第一组容器实例调度至对应的目标虚拟机节点,以使得所述第一组虚拟机节点和所述第一组容器实例对应的目标虚拟机节点剩余的每类资源均不小于第二阈值,所述第二阈值不小于所述第一阈值。
11.一种容器实例的调度装置,包括:
存储器;以及
耦接至所述存储器的处理器,被配置为基于存储在所述存储器中的指令,执行权利要求1-9任意一项所述的方法。
12.一种容器实例的调度系统,包括:
权利要求10或11所述的容器实例的调度装置;以及
所述多个虚拟机节点。
13.一种计算机可读存储介质,包括计算机程序指令,其中,所述计算机程序指令被处理器执行时实现权利要求1-9任意一项所述的方法。
14.一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1-9任意一项所述的方法。
CN202210757855.3A 2022-06-30 2022-06-30 容器实例的调度方法、装置和系统 Pending CN115098223A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210757855.3A CN115098223A (zh) 2022-06-30 2022-06-30 容器实例的调度方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210757855.3A CN115098223A (zh) 2022-06-30 2022-06-30 容器实例的调度方法、装置和系统

Publications (1)

Publication Number Publication Date
CN115098223A true CN115098223A (zh) 2022-09-23

Family

ID=83294786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210757855.3A Pending CN115098223A (zh) 2022-06-30 2022-06-30 容器实例的调度方法、装置和系统

Country Status (1)

Country Link
CN (1) CN115098223A (zh)

Similar Documents

Publication Publication Date Title
CN107431696B (zh) 用于应用自动化部署的方法和云管理节点
US10558498B2 (en) Method for scheduling data flow task and apparatus
US10805385B2 (en) Method and apparatus for managing resource on cloud platform
US8726290B2 (en) System and/or method for balancing allocation of data among reduce processes by reallocation
US9563474B2 (en) Methods for managing threads within an application and devices thereof
US9367359B2 (en) Optimized resource management for map/reduce computing
US9244737B2 (en) Data transfer control method of parallel distributed processing system, parallel distributed processing system, and recording medium
CN112035238A (zh) 任务调度处理方法、装置、集群系统及可读存储介质
CN112068957B (zh) 资源分配方法、装置、计算机设备及存储介质
CN111880939A (zh) 容器动态迁移方法、装置及电子设备
US10102098B2 (en) Method and system for recommending application parameter setting and system specification setting in distributed computation
CN111176792A (zh) 一种资源调度方法、装置及相关设备
CN109873714B (zh) 云计算节点配置更新方法及终端设备
CN105700956A (zh) 用于处理分布式作业的方法和系统
CN105488134A (zh) 大数据处理方法及大数据处理装置
CN105740085A (zh) 容错处理方法及装置
CN106059940A (zh) 一种流量控制方法及装置
CN113626173A (zh) 调度方法、装置及存储介质
CN111400241A (zh) 数据重构方法和装置
CN115098223A (zh) 容器实例的调度方法、装置和系统
CN115658311A (zh) 一种资源的调度方法、装置、设备和介质
CN114416357A (zh) 容器组的创建方法、装置、电子设备和介质
CN112019368B (zh) 一种vnf迁移方法、装置及存储介质
CN115729704A (zh) 算力资源分配方法、装置及计算机可读存储介质
CN115145714A (zh) 容器实例的调度方法、装置和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination