CN111190719B - 优化集群资源分配的方法、装置、介质及电子设备 - Google Patents

优化集群资源分配的方法、装置、介质及电子设备 Download PDF

Info

Publication number
CN111190719B
CN111190719B CN201811354570.5A CN201811354570A CN111190719B CN 111190719 B CN111190719 B CN 111190719B CN 201811354570 A CN201811354570 A CN 201811354570A CN 111190719 B CN111190719 B CN 111190719B
Authority
CN
China
Prior art keywords
container
physical machine
information
computing node
local configuration
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.)
Active
Application number
CN201811354570.5A
Other languages
English (en)
Other versions
CN111190719A (zh
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201811354570.5A priority Critical patent/CN111190719B/zh
Publication of CN111190719A publication Critical patent/CN111190719A/zh
Application granted granted Critical
Publication of CN111190719B publication Critical patent/CN111190719B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种优化集群资源分配的方法、优化集群资源分配的装置、计算机可读介质及电子设备,该优化集群资源分配的方法包括:获取容器规格的更新信息;根据所述更新信息修改与创建所述容器的计算节点对应的物理机中所述容器当前占用的本地配置,以使修改后所述容器占用的本地配置符合所述更新信息的要求,且修改后的物理机本地配置用于所述集群资源的进一步分配。本发明实施例的技术方案起到动态改变用户容器的本地配置可以在满足容器在服务运行过程中对配置大小的动态需求的作用,进而满足用户对容器规格需求;同时,通过动态改变容器的本地配置来影响调度,使得集群资源被充分地合理利用,从而起到优化集群资源分配的作用。

Description

优化集群资源分配的方法、装置、介质及电子设备
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种优化集群资源分配的方法、优化集群资源分配的装置、计算机可读介质及电子设备。
背景技术
随着容器技术的兴起,越来越多的软件***开始采用以容器的形式分发和部署。
现有容器管理方法包括:管理节点调度器根据集群中节点的资源情况和已创建的容器的配置情况,来合理化的给集群新增的容器分配node节点的组件。容器配置则是创建容器时为容器指定的资源大小,主要包括CPU,内存,磁盘等。通过集群资源整体利用率以及同一应用的资源分散程度等指标来评估集群资源分配的合理性。
然而,利用现有的容器管理方法存在造成集群资源利用率低的问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明实施例的目的在于提供一种优化集群资源分配的方法、优化集群资源分配的装置、计算机可读介质及电子设备,进而至少在一定程度上克服利用现有的容器管理方法存在造成集群资源利用率低的问题。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明实施例的第一方面,提供了一种优化集群资源分配的方法,包括:
获取容器规格的更新信息;
根据所述更新信息修改与创建所述容器的计算节点对应的物理机中所述容器当前占用的本地配置,以使修改后所述容器占用的本地配置符合所述更新信息的要求,且修改后的物理机本地配置用于所述集群资源的进一步分配。
在本发明的一些实施例中,根据所述更新信息修改与创建所述容器的计算节点对应的物理机中所述容器当前占用的本地配置,包括:
根据所述更新信息获取待更新的规格类型;
基于所述规格类型,调用所述计算节点对应的物理机底层配置信息对所述物理机中所述容器当前占用的本地配置进行修改。
在本发明的一些实施例中,所述规格类型包括内存;其中,
基于所述规格类型,调用所述计算节点对应的物理机底层配置信息对所述物理机中所述容器当前占用的本地配置进行修改,包括:
调用所述计算节点对应的物理机底层的控制组中内存相关配置,对所述物理机中所述容器当前占用的内存大小进行修改。
在本发明的一些实施例中,所述规格类型包括CPU;其中,
基于所述规格类型,调用所述计算节点对应的物理机底层配置信息对所述物理机中所述容器当前占用的本地配置进行修改,包括:
调用所述计算节点对应的物理机底层的控制组中CPU相关配置,对所述物理机中所述容器当前占用的CPU大小进行修改。
在本发明的一些实施例中,所述规格类型包括磁盘;其中,
基于所述规格类型,调用所述计算节点对应的物理机底层配置信息对所述物理机中所述容器当前占用的本地配置进行修改,包括:
调用所述计算节点对应的物理机底层的逻辑卷管理机制,对所述物理机中所述容器当前对应的逻辑卷进行修改。
在本发明的一些实施例中,获取对容器规格的更新信息,包括:
通过扩缩容模块监听集群中应用程序编程接口服务器修改缓存中容器规格信息获取对计算节点中容器规格的更新信息。
在本发明的一些实施例中,在根据所述更新信息修改与创建所述容器的计算节点对应的物理机中所述容器当前占用的本地配置之后,还包括:
获取并向调度器发送所述计算节点对应的物理机当前的本地配置信息,所述调度器根据所述计算节点对应的物理机当前的本地配置确定所述计算节点的资源信息,以根据所述资源信息进行调度。
根据本发明实施例的第二方面,提供了一种优化集群资源分配的装置,包括:
获取模块,用于获取容器的规格更新信息;
修改模块,用于根据所述更新信息修改与创建所述容器的计算节点对应的物理机中所述容器当前占用的本地配置,以使修改后所述容器占用的本地配置符合所述更新信息的要求,且修改后的物理机本地配置用于所述集群资源的进一步分配。
根据本发明实施例的第三方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中第一方面所述的优化集群资源分配的方法。
根据本发明实施例的第四方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第一方面所述的优化集群资源分配的方法。
本发明实施例提供的技术方案可以包括以下有益效果:
在本发明的一些实施例所提供的技术方案中,通过获取容器规格的更新信息,并根据所述更新信息修改与创建所述容器的计算节点对应的物理机中所述容器当前占用的本地配置,以使修改后所述容器占用的本地配置符合所述更新信息的要求,且修改后的物理机本地配置用于所述集群资源的进一步分配。一方面,起到动态改变用户容器的本地配置可以在满足容器在服务运行过程中对配置大小的动态需求的作用,进而满足用户对容器规格需求;另一方面,通过动态改变容器的本地配置来影响调度,使得集群资源被充分地合理利用,从而起到优化集群资源分配的作用。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本发明的实施例的优化集群资源分配的方法的流程图;
图2示意性示出了根据本发明的另一实施例的优化集群资源分配的方法的流程图;
图3示意性示出了根据本发明的实施例的优化集群资源分配的装置的结构图;
图4示出了适于用来实现本发明实施例的电子设备的计算机***的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
大规模容器集群的运营中,由于容器创建之在服务运行过程中根据处理任务的不同,其对规格(例如:CPU,内存,磁盘等)大小的需求动态变化的。因而,在创建容器时初始设置地规格大小往往不能满足容器在服务运行过程中对配置大小的动态需求。若创建容器时初始设置地规格较小,则会影响容器创建之在服务运行过程中对用户的服务;若创建容器时初始设置地规格较大,则造成对集群资源的浪费。因此,使得集群资源不能得到最优化的配置。
图1示意性示出了根据本发明的实施例的优化集群资源分配的方法的流程图,至少在一定程度上克服利用现有的容器管理方法存在造成集群资源利用率低的问题。参考图1,该优化集群资源分配的方法,包括:
步骤S101,获取对计算节点中容器规格的更新信息;以及,
步骤S102,根据所述更新信息修改与创建所述容器的计算节点对应的物理机中所述容器当前占用的本地配置,以使修改后所述容器占用的本地配置符合所述更新信息的要求,且修改后的物理机本地配置用于所述集群资源的进一步分配。
在图1所示实施例所提供的技术方案中,通过获取容器规格的更新信息,并根据所述更新信息修改与创建所述容器的计算节点对应的物理机中所述容器当前占用的本地配置,以使修改后所述容器占用的本地配置符合所述更新信息的要求,且修改后的物理机本地配置用于所述集群资源的进一步分配。一方面,起到动态改变用户容器的本地配置可以在满足容器在服务运行过程中对配置大小的动态需求的作用,进而满足用户对容器规格需求;另一方面,通过动态改变容器的本地配置来影响调度,使得集群资源被充分地合理利用,从而起到优化集群资源分配的作用。
在示例性的实施例中,图2示意性示出了根据本发明的另一实施例的优化集群资源分配的方法的流程图。以下将结合图2对图1所示实施例各个步骤的具体实现进行详细阐述,参考图2,包括步骤S201-步骤S206。
在步骤S101/S201中,获取对计算节点中容器规格的更新信息。示例性的,制造数据收集和状态管理***(Manufacturing Data Collection&Status Management,简称:MDC)监控到容器在服务运行过程中对配置大小的需求发生变化时,向集群中应用程序编程接口服务器(Application Program Interface server,简称:Apiserver)发送更新容器规格的请求,从而Apiserver接收到上述请求后修改数据库及自身缓存中的上述容器的规格信息。此时,设置在计算节点的扩缩容模块(例如:Scaler)通过监听Apiserve修改缓存中容器规格信息,来获取对计算节点中容器规格的更新信息。
在示例性的实施例中,用户可以根据实际需求更改容器规格。即Apiserver接收用户输入的关于容器规格更改的请求,修改数据库及自身缓存中的上述容器的规格信息。同时,设置在计算节点的扩缩容模块(例如:Scaler)通过监听Apiserve修改缓存中容器规格信息,来获取对计算节点中容器规格的更新信息。
在示例性的实施例中,获取到的对计算节点中容器规格的更新信息包括:对容器规格的增大信息或对容器规格的减小信息。示例性的,当MDC监控到容器在服务运行过程中,某一类型的容器规格(例如:CPU,内存,或磁盘)使用率超过预设阈值时,则向Apiserver发送更新容器规格的请求为调大上述类型的容器规格的请求;当MDC监控到容器在服务运行过程中,某一类型的容器规格(例如:CPU,内存,或磁盘)使用率始终维持在一个较低水平,即一直远远小于预设阈值,则向Apiserver发送更新容器规格的请求为调小上述类型的容器规格的请求。从而影响集群调度,达到优化集群资源配置的目的。
在示例性的实施例中,获取对计算节点中容器规格的更新信息包括不同规格类型的更新信息。则步骤S102的具体实现中,基于所述不同规格类型的更新信息,调用所述计算节点对应的物理机底层配置信息对所述物理机中所述容器当前占用的本地配置进行修改。以下结合图2所示的步骤S202-步骤S204对不同规格类型的更新信息的情况下,步骤S102的具体实现进行详细阐述:
在步骤S202中,根据所述更新信息获取待更新的规格类型。
在步骤S203中,对所述规格类型进行判断。若所述规格类型是磁盘(disk),则执行步骤S204;若所述规格类型是CPU/内存(memory),则执行步骤S205。
在示例性的实施例中,为不同的规格类型设置不同的监控参数,当某一监控参数发生改变时,可以根据监控参数与规格类型的对应关系确定待更新的规格类型。示例性的,所述容器的yaml样例如下:
其中,nodehello2ResourceHash是由当前的spec->containers->resources模块计算的哈希值,当nodehello2ResourceHash发生变化时即说明CPU或者内存对应的规格类型发生更新;根据以上spec->containers->volumes->flexVolume->options->size是否发生变化来判定磁盘对应的规格类型是否发生更新。
在步骤S204中,调用所述计算节点对应的物理机底层的逻辑卷管理(LogicalVolume Manager,简称:LVM)机制,对所述物理机中所述容器当前对应的逻辑卷进行修改。
示例性的,所述容器待修改的是规格类型为磁盘时,则使用Lvm机制的lvextend命令扩容/缩容:
Lvextend-L 1G/dev/docker/2ae08ea8_a5f5_11e8_a68a_6cae8b608652。
其中,/dev/docker/2ae08ea8_a5f5_11e8_a68a_6cae8b608652为磁盘对应的逻辑卷标识。
在步骤S205中,若所述规格类型是CPU,调用所述计算节点对应的物理机底层的控制组(Control group,简称:Cgroup)中CPU相关配置,对所述物理机中所述容器当前占用的CPU大小进行修改。或,若所述规格类型是内存,调用所述计算节点对应的物理机底层的Cgroup中内存相关配置,对所述物理机中所述容器当前占用的内存大小进行修改。
示例性的,所述容器待修改的是规格类型为CPU时,则使用cgroup的cgset的命令修改如下文件中的配置:
/sys/fs/cgroup/cpu/docker/8bf3da35a65c28374cedbe8d2bdb8e1044b49bafb7806d1a55870b7f08942072/cpu.cfs_quota_us。
其中,修改前容器占用1个CPU,上述文件的内容对应的数值为100000;修改后容器占用2个CPU,则此文件的内容对应的数值被更新为200000。
示例性的,所述容器待修改的是规格类型为内存时,则使用cgroup的cgset的命令修改如下文件中的配置:
/sys/fs/cgroup/memory/docker/8bf3da35a65c28374cedbe8d2bdb8e1044b49bafb7806d1a55870b7f08942072/memory.limit_in_bytes。
其中,修改前容器占用内存为1G,上述文件的内容对应的数值为1073741824;修改后容器占用2G,则此文件的内容对应的数值被更新为2147483648。“8bf3da35a65c28374cedbe8d2bdb8e1044b49bafb7806d1a55870b7f08942072”为容器标识。
其中,Cgroup可以通过限制、记录、隔离进程组(process groups)所使用的物理资源(如:CPU,内存,IO等等)实现对所述物理机的内存进行修改。LVM提供一种对磁盘分区进行管理的一种机制,通过对磁盘分区进行管理来实现对所述物理机的磁盘进行修改。
对于步骤S204和步骤S205所示的对创建容器的计算节点对应的物理机本地配置进行的不同修改,在步骤S206中,获取并向调度器(例如:Scheduler)发送所述计算节点对应的物理机当前的本地配置信息,所述调度器根据所述计算节点对应的物理机当前的本地配置确定所述计算节点的资源信息,以根据所述资源信息进行调度。
在示例性的实施例中,调度器还可以直接监听Apiserve修改缓存中容器规格信息,来获取对计算节点中容器规格的更新信息,从而调度器根据所述计算节点对应的物理机更新后的本地配置确定所述计算节点的资源信息,以根据所述资源信息进行调度。
在示例性的实施例中,图2所示实施例提供的技术方案通过容器管理平台实现。其中,容器管理平台包括:计算节点和管理节点。计算节点用于创建容器以及为创建后的容器的服务运行提供资源;管理节点提供核心控制。其中,图2所示步骤中的所述Apiserve和调度器布置于管理节点中;扩缩容模块布置于计算节点中。
图2所示实施例提供的技术方案,实现了根据容器在服务运行过程中对配置大小的动态需求,对创建容器的计算节点对应的物理机本地配置进行的动态平滑调整,从而,在不影响容器正常运行的情况下,动态增大用户容器的本地配置,满足用户的扩大容器规格需求。同时,在不影响用户业务和容器运行的情况下,***根据监控数据建议用户平滑减小用户容器的本地配置。进一步地,图2所示实施例提供的技术方案还实现了根据容器更新的规格类型对应的修改物理机的本地配置,从而,有效地保证了容器的正常运行,进而满足用户的需求。
以下介绍本发明的装置实施例,可以用于执行本发明上述的优化集群资源分配的方法。
图3示意性示出了根据本发明的实施例的优化集群资源分配的装置的结构图,参考图3,优化集群资源分配的装置300,包括:获取模块301和修改模块302。
其中,获取模块301用于获取容器的规格更新信息;以及,修改模块302用于根据所述更新信息修改与创建所述容器的计算节点对应的物理机中所述容器当前占用的本地配置,以使修改后所述容器占用的本地配置符合所述更新信息的要求,且修改后的物理机本地配置用于所述集群资源的进一步分配。
在示例性的实施例中,修改模块302,包括:获取子模块和调用子模块。
其中,获取子模块拥有根据所述更新信息获取待更新的规格类型;以及,调用子模块用于基于所述规格类型,调用所述计算节点对应的物理机中所述容器当前占用的底层配置信息对所述物理机本地配置进行修改。
在示例性的实施例中,所述规格类型包括内存;其中,
调用子模块具体用于:调用所述计算节点对应的物理机底层的控制组中内存相关配置,对所述物理机中所述容器当前占用的内存大小进行修改。
在示例性的实施例中,所述规格类型包括CPU;其中,
调用子模块具体用于:调用所述计算节点对应的物理机底层的控制组中CPU相关配置,对所述物理机中所述容器当前占用的CPU大小进行修改。
在示例性的实施例中,所述规格类型包括磁盘;其中,
调用子模块具体用于:调用所述计算节点对应的物理机底层的逻辑卷管理机制,对所述物理机中所述容器当前对应的逻辑卷进行修改。
在示例性的实施例中,获取模块301具体用于:通过扩缩容模块监听集群中应用程序编程接口服务器修改缓存中容器规格信息获取对计算节点中容器规格的更新信息。
在示例性的实施例中,优化集群资源分配的装置300,还包括:发送模块。在修改模块302根据所述更新信息修改与创建所述容器的计算节点对应的物理机中所述容器当前占用的本地配置之后,发送模块用于获取并向调度器发送所述计算节点对应的物理机当前的本地配置信息,所述调度器根据所述计算节点对应的物理机当前的本地配置确定所述计算节点的资源信息,以根据所述资源信息进行调度。
由于本发明的示例实施例的优化集群资源分配的装置的各个功能模块与上述优化集群资源分配的方法的示例实施例的步骤对应,因此对于本发明装置实施例中未披露的细节,请参照本发明上述的优化集群资源分配的方法的实施例。
下面参考图4,其示出了适于用来实现本发明实施例的电子设备的计算机***400的结构示意图。图4示出的电子设备的计算机***400仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机***400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有***操作所需的各种程序和数据。CPU401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的优化集群资源分配的方法。
例如,所述的电子设备可以实现如图1中所示的:步骤S101,获取容器规格的更新信息;步骤S102,根据所述更新信息修改与创建所述容器的计算节点对应的物理机中所述容器当前占用的本地配置,以使修改后所述容器占用的本地配置符合所述更新信息的要求,且修改后的物理机本地配置用于所述集群资源的进一步分配。
又如,所述的电子设备可以实现如图2所示的各个步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (8)

1.一种优化集群资源分配的方法,其特征在于,所述方法通过容器管理平台实现,所述容器管理平台包括管理节点和计算节点,所述管理节点中布置有应用程序编程接口服务器Apiserver和调度器,所述计算节点中设置有扩缩容模块,所述计算节点创建容器,所述方法包括:
制造数据收集和状态管理***MDC监控到所述容器创建后在服务运行过程中,某一类型的容器规格使用率超过预设阈值,则向所述Apiserver发送调大所述类型的容器规格的请求;当所述MDC监控到所述容器在服务运行过程中,所述类型的容器规格使用率小于所述预设阈值,则向所述Apiserver发送调小所述类型的容器规格的请求;
所述Apiserver根据接收到的请求修改数据库及自身缓存中的所述容器的规格信息;
所述扩缩容模块监听到所述Apiserver修改缓存中所述容器的规格信息,获取容器规格的更新信息,获取到的容器规格的更新信息包括:对容器规格的增大信息或对容器规格的减小信息;
根据所述更新信息修改与创建所述容器的计算节点对应的物理机中所述容器当前占用的本地配置,其包括:根据所述更新信息获取待更新的规格类型;基于所述规格类型,调用所述计算节点对应的物理机底层配置信息对所述物理机中所述容器当前占用的本地配置进行修改,以使修改后所述容器占用的本地配置符合所述更新信息的要求,且修改后的物理机本地配置用于所述集群资源的进一步分配,当获取到的容器规格的更新信息为对容器规格的减小信息时,所述调度器通过更新缓存同步所述容器规格的减小信息,在下次新容器调度时利用所述计算节点增加的资源。
2.根据权利要求1所述的方法,其特征在于,所述规格类型包括内存;其中,
基于所述规格类型,调用所述计算节点对应的物理机底层配置信息对所述物理机中所述容器当前占用的本地配置进行修改,包括:
调用所述计算节点对应的物理机底层的控制组中内存相关配置,对所述物理机中所述容器当前占用的内存大小进行修改。
3.根据权利要求1所述的方法,其特征在于,所述规格类型包括CPU;其中,
基于所述规格类型,调用所述计算节点对应的物理机底层配置信息对所述物理机中所述容器当前占用的本地配置进行修改,包括:
调用所述计算节点对应的物理机底层的控制组中CPU相关配置,对所述物理机中所述容器当前占用的CPU大小进行修改。
4.根据权利要求1所述的方法,其特征在于,所述规格类型包括磁盘;其中,
基于所述规格类型,调用所述计算节点对应的物理机底层配置信息对所述物理机中所述容器当前占用的本地配置进行修改,包括:
调用所述计算节点对应的物理机底层的逻辑卷管理机制,对所述物理机中所述容器当前对应的逻辑卷进行修改。
5.根据权利要求1所述的方法,其特征在于,在根据所述更新信息修改与创建所述容器的计算节点对应的物理机中所述容器当前占用的本地配置之后,还包括:
获取并向调度器发送所述计算节点对应的物理机当前的本地配置信息,所述调度器根据所述计算节点对应的物理机当前的本地配置确定所述计算节点的资源信息,以根据所述资源信息进行调度。
6.一种优化集群资源分配的装置,其特征在于,所述装置通过容器管理平台实现,所述容器管理平台包括管理节点和计算节点,所述管理节点中布置有应用程序编程接口服务器Apiserver和调度器,所述计算节点中设置有扩缩容模块,所述计算节点用于创建容器,所述装置包括:
制造数据收集和状态管理***MDC,用于监控到所述容器创建后在服务运行过程中,某一类型的容器规格使用率超过预设阈值,则向所述Apiserver发送调大所述类型的容器规格的请求;当所述MDC监控到所述容器在服务运行过程中,所述类型的容器规格使用率小于所述预设阈值,则向所述Apiserver发送调小所述类型的容器规格的请求;
所述Apiserver用于根据接收到的请求修改数据库及自身缓存中的所述容器的规格信息;
获取模块,用于通过所述扩缩容模块监听到所述Apiserver修改缓存中所述容器的规格信息,获取容器的规格更新信息,获取到的容器规格的更新信息包括:对容器规格的增大信息或对容器规格的减小信息;
修改模块,用于根据所述更新信息修改与创建所述容器的计算节点对应的物理机中所述容器当前占用的本地配置,其包括:根据所述更新信息获取待更新的规格类型;基于所述规格类型,调用所述计算节点对应的物理机底层配置信息对所述物理机中所述容器当前占用的本地配置进行修改,以使修改后所述容器占用的本地配置符合所述更新信息的要求,且修改后的物理机本地配置用于所述集群资源的进一步分配,当获取到的容器规格的更新信息为对容器规格的减小信息时,所述调度器通过更新缓存同步所述容器规格的减小信息,在下次新容器调度时利用所述计算节点增加的资源。
7.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至5中任一项所述的优化集群资源分配的方法。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至5中任一项所述的优化集群资源分配的方法。
CN201811354570.5A 2018-11-14 2018-11-14 优化集群资源分配的方法、装置、介质及电子设备 Active CN111190719B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811354570.5A CN111190719B (zh) 2018-11-14 2018-11-14 优化集群资源分配的方法、装置、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811354570.5A CN111190719B (zh) 2018-11-14 2018-11-14 优化集群资源分配的方法、装置、介质及电子设备

Publications (2)

Publication Number Publication Date
CN111190719A CN111190719A (zh) 2020-05-22
CN111190719B true CN111190719B (zh) 2024-06-18

Family

ID=70710471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811354570.5A Active CN111190719B (zh) 2018-11-14 2018-11-14 优化集群资源分配的方法、装置、介质及电子设备

Country Status (1)

Country Link
CN (1) CN111190719B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181597B (zh) * 2020-10-12 2024-01-19 成都精灵云科技有限公司 容器资源使用限制动态更新方法
CN113110918A (zh) * 2021-05-13 2021-07-13 广州虎牙科技有限公司 读写速率管控方法、装置、节点设备及存储介质
CN115145690B (zh) * 2022-06-30 2023-08-04 小米汽车科技有限公司 集群资源伸缩方法、装置及容器集群管理***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107688322A (zh) * 2017-08-31 2018-02-13 天津中新智冠信息技术有限公司 一种容器化管理***
CN108023742A (zh) * 2016-10-31 2018-05-11 阿里巴巴集团控股有限公司 一种应用的扩容方法、装置和***

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681899B (zh) * 2011-03-14 2015-06-10 金剑 云计算服务平台的虚拟计算资源动态管理方法
TWI456502B (zh) * 2011-12-01 2014-10-11 Univ Tunghai 虛擬機叢集之動態資源分配方法
CN105119952B (zh) * 2015-07-07 2018-12-21 北京京东尚科信息技术有限公司 云平台下自动弹性地分配资源的方法和***
CN106533713B (zh) * 2015-09-09 2019-12-10 阿里巴巴集团控股有限公司 一种应用部署方法及设备
US20170085419A1 (en) * 2015-09-18 2017-03-23 Le Holdings (Beijing) Co., Ltd. System and method for deploying an application
CN106843745A (zh) * 2015-12-03 2017-06-13 南京中兴新软件有限责任公司 容量扩展方法及装置
CN107306277B (zh) * 2016-04-19 2020-11-13 中兴通讯股份有限公司 一种服务器同步扩容的方法及装置
CN107656807B (zh) * 2016-07-26 2021-06-29 华为技术有限公司 一种虚拟资源的自动弹性伸缩方法及装置
CN108255497B (zh) * 2018-01-12 2021-07-06 新华三大数据技术有限公司 一种应用的部署方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108023742A (zh) * 2016-10-31 2018-05-11 阿里巴巴集团控股有限公司 一种应用的扩容方法、装置和***
CN107688322A (zh) * 2017-08-31 2018-02-13 天津中新智冠信息技术有限公司 一种容器化管理***

Also Published As

Publication number Publication date
CN111190719A (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
CN108667748B (zh) 一种控制带宽的方法、装置、设备和存储介质
CN109408205B (zh) 基于hadoop集群的任务调度方法和装置
CN111190719B (zh) 优化集群资源分配的方法、装置、介质及电子设备
CN107832143B (zh) 一种物理机资源的处理方法和装置
CN109766172B (zh) 一种异步任务调度方法以及装置
CN112527509B (zh) 一种资源分配方法、装置、电子设备及存储介质
CN112749002A (zh) 一种集群资源动态管理的方法和装置
CN112905342A (zh) 资源调度方法、装置、设备及计算机可读存储介质
CN114385353A (zh) 资源调度方法及装置、电子设备、存储介质
CN112887228A (zh) 云资源管理方法、装置、电子设备及计算机可读存储介质
CN109428926B (zh) 一种调度任务节点的方法和装置
CN111399977A (zh) 一种虚拟机的迁移方法、装置、设备及介质
CN114840323A (zh) 任务处理方法、装置、***、电子设备以及存储介质
CN112214288B (zh) 基于Kubernetes集群的Pod调度方法、装置、设备和介质
CN115617511A (zh) 资源数据处理的方法、装置、电子设备和存储介质
CN114116173A (zh) 动态调整任务分配的方法、装置和***
CN111240824A (zh) 一种cpu资源调度方法及电子设备
CN115794396A (zh) 资源分配的方法、***和电子设备
WO2022111466A1 (zh) 任务调度方法、控制方法、电子设备、计算机可读介质
US20220343209A1 (en) Method, device, and computer program product for managing machine learning model
CN112291326B (zh) 负载均衡方法、负载均衡装置、存储介质与电子设备
CN113138850A (zh) 资源分配方法、装置
CN111694670A (zh) 资源分配方法、装置、设备和计算机可读介质
CN111813564A (zh) 集群资源管理方法、装置及容器集群管理***
CN105094947A (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
GR01 Patent grant