CN112527490A - 节点资源管控方法、装置、电子设备及存储介质 - Google Patents

节点资源管控方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112527490A
CN112527490A CN201910873930.0A CN201910873930A CN112527490A CN 112527490 A CN112527490 A CN 112527490A CN 201910873930 A CN201910873930 A CN 201910873930A CN 112527490 A CN112527490 A CN 112527490A
Authority
CN
China
Prior art keywords
resource
resources
reserved
reservation
information
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.)
Granted
Application number
CN201910873930.0A
Other languages
English (en)
Other versions
CN112527490B (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.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya 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 Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN201910873930.0A priority Critical patent/CN112527490B/zh
Publication of CN112527490A publication Critical patent/CN112527490A/zh
Application granted granted Critical
Publication of CN112527490B publication Critical patent/CN112527490B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5013Request control
    • 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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供的节点资源管控方法、装置、电子设备及存储介质,涉及集群资源管理技术领域。在本申请中,首先,获取目标节点的剩余资源的资源信息。其次,可以基于所述资源信息判断所述剩余资源是否满足预设的预留条件。然后,可以在所述剩余资源满足所述预留条件时,对所述剩余资源进行预留处理。通过上述方法,可以改善现有技术中对节点资源的管控存在不合理的问题。

Description

节点资源管控方法、装置、电子设备及存储介质
技术领域
本申请涉及集群资源管理技术领域,具体而言,涉及一种节点资源管控方法、装置、电子设备及存储介质。
背景技术
kubernetes是一种容器编排引擎,用于在集群管理系统中构建容器管理平台。其中,集群管理系统包括主节点(master node)和从节点(slave node),该主节点可以用于对该从节点的资源进行管控。经发明人研究发现,在现有的一些从节点的资源管控技术中,存在着管控不合理的问题。
发明内容
有鉴于此,本申请的目的在于提供一种节点资源管控方法、装置、电子设备及存储介质,以改善现有技术中对节点资源的管控存在不合理的问题。
为实现上述目的,本申请实施例采用如下技术方案:
一种节点资源管控方法,包括:
获取目标节点的剩余资源的资源信息;
基于所述资源信息判断所述剩余资源是否满足预设的预留条件;
若所述剩余资源满足所述预留条件,则对所述剩余资源进行预留处理。
在本申请实施例较佳的选择中,在上述节点资源管控方法中,所述基于所述资源信息判断所述剩余资源是否满足预设的预留条件的步骤,包括:
基于待调度资源的需求信息、待预留资源的预留信息和所述资源信息,判断所述剩余资源是否满足预设的预留条件。
在本申请实施例较佳的选择中,在上述节点资源管控方法中,所述基于待调度资源的需求信息、待预留资源的预留信息和所述资源信息,判断所述剩余资源是否满足预设的预留条件的步骤,包括:
基于待调度资源的需求信息、待预留资源的预留信息和所述资源信息,将所述剩余资源与所述待调度资源和所述待预留资源进行比较;
若所述剩余资源小于所述待调度资源与所述待预留资源之和,但大于或等于所述待预留资源,则判定所述剩余资源满足预设的预留条件。
在本申请实施例较佳的选择中,在上述节点资源管控方法中,所述基于待调度资源的需求信息、待预留资源的预留信息和所述资源信息,判断所述剩余资源是否满足预设的预留条件的步骤,还包括:
若所述剩余资源大于或等于所述待调度资源与所述待预留资源之和,或所述剩余资源小于所述待预留资源,则判定所述剩余资源不满足预设的预留条件。
在本申请实施例较佳的选择中,在上述节点资源管控方法中,所述基于待调度资源的需求信息、待预留资源的预留信息和所述资源信息,判断所述剩余资源是否满足预设的预留条件的步骤,包括:
基于待调度资源的需求信息、待预留资源的预留信息和所述资源信息,将所述剩余资源与所述待调度资源和所述待预留资源进行比较;
若所述剩余资源小于所述待调度资源与所述待预留资源之和,但大于或等于所述待预留资源,则判断已经进行预留处理的剩余资源对应的节点的节点数目是否小于预设值;
若所述节点数目小于所述预设值,则判定所述目标节点的剩余资源满足预设的预留条件。
在本申请实施例较佳的选择中,在上述节点资源管控方法中,所述基于待调度资源的需求信息、待预留资源的预留信息和所述资源信息,判断所述剩余资源是否满足预设的预留条件的步骤,还包括:
若所述剩余资源大于或等于所述待调度资源与所述待预留资源之和,或所述剩余资源小于所述待预留资源,或所述节点数目不小于所述预设值,则判定所述剩余资源不满足预设的预留条件。
在本申请实施例较佳的选择中,在上述节点资源管控方法中,在所述获取目标节点的剩余资源的资源信息的步骤之前,所述方法还包括:
基于待调度资源的需求信息和待预留资源的预留信息,判断所述待调度资源和所述待预留资源是否匹配;
若所述待调度资源和所述待预留资源不匹配,则执行所述获取目标节点的剩余资源的资源信息的步骤。
在本申请实施例较佳的选择中,在上述节点资源管控方法中,还包括:
判断是否需要对所述预留条件进行更新处理,并在需要进行更新处理时对所述预留条件进行更新处理。
在本申请实施例较佳的选择中,在上述节点资源管控方法中,所述判断是否需要对所述预留条件进行更新处理,并在需要进行更新处理时对所述预留条件进行更新处理的步骤,包括:
监测接口服务组件是否接收到对所述预留条件进行更新的更新指令;
若监测到所述接口服务组件接收到所述更新指令,则判定需要对所述预留条件进行更新处理,并根据该更新指令对该预留条件进行更新处理。
在本申请实施例较佳的选择中,在上述节点资源管控方法中,所述接口服务组件通信连接有信息通知组件,所述根据该更新指令对该预留条件进行更新处理的步骤,包括:
控制所述信息通知组件根据所述更新指令,对预留对象中的预留配置进行更新处理,以完成对所述预留条件的更新处理;
其中,在每一次执行所述基于所述资源信息判断所述剩余资源是否满足预设的预留条件的步骤时,通过获取所述预留对象中当前的预留配置,以得到最近一次进行更新处理之后的预留条件。
本申请实施例还提供了一种节点资源管控装置,包括:
接口服务组件,用于获取目标节点的剩余资源的资源信息;
调度组件,用于基于所述资源信息判断所述剩余资源是否满足预设的预留条件,并在所述剩余资源满足所述预留条件时,对所述剩余资源进行预留处理。
在本申请实施例较佳的选择中,在上述节点资源管控装置中,所述调度组件包括预测组件和预留对象,该预留对象中具有所述预留条件对应的预留配置;
所述预测组件用于获取所述预留配置,并基于所述资源信息判断所述剩余资源是否满足该预留配置对应的预留条件,并在所述剩余资源满足该预留条件时,对所述剩余资源进行预留处理。
在本申请实施例较佳的选择中,在上述节点资源管控装置中,所述接口服务组件还用于接收对所述预留条件进行更新的更新指令;
所述调度组件还包括信息通知组件,该信息通知组件用于根据所述更新指令所述预留配置进行更新处理,以完成对所述预留条件的更新处理。
在上述基础上,本申请实施例还提供了一种电子设备,包括存储器、处理器和存储于该存储器并能够在该处理器上运行的计算机程序,该计算机程序在该处理器上运行时实现上述的节点资源管控方法。
在上述基础上,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被执行时上述的节点资源管控方法。
本申请提供的节点资源管控方法、装置、电子设备及存储介质,基于目标节点的剩余资源的资源信息,在判断出该剩余资源满足预留条件时,对该剩余资源进行预留处理。如此,可以在较大程度上保证与满足预留条件的剩余资源相匹配的待调度资源能够被及时地被调度处理,一方面可以改善采用现有技术而使得该待调度资源难以被及时地调度处理的问题,另一方面还可以改善采用现有技术而导致其它待调度资源难以被及时地调度处理的问题,从而有效地改善现有技术中对节点资源的管控存在不合理的问题,具有较高的实用价值。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
图1为本申请实施例提供的集群管理系统的方框示意图。
图2为本申请实施例提供的主节点与从节点的交互示意图。
图3为本申请实施例提供的电子设备的方框示意图。
图4为本申请实施例提供的节点资源管控方法的流程示意图。
图5为本申请实施例提供的电子设备上各组件之间的交互关系图。
图标:10-电子设备;12-存储器;14-处理器;100-节点资源管控装置。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本申请的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1和图2所示,是基于kubernetes技术形成的一种集群管理系统。其中,该集群管理系统可以包括主节点(master node)和从节点(slave node)。
详细地,所述从节点可以为至少一个,每一个所述从节点可以分别与所述主节点通信连接。所述主节点可以用于对各从节点的资源进行管控,例如,按照一定的规则将各从节点的资源分配给不同的pod实例。
其中,所述从节点的资源可以包括,但不限于,从节点的计算资源(如中央处理器,CPU)、存储资源(如内存)等。所述pod实例可以是指,kubenetes(或集群管理系统上)创建或部属的最小或最简单的基本单位。并且,一个pod实例代表集群管理系统上正在运行的一个进程,一个pod实例可以封装一个应用容器或多个应用容器。该应用容器,是程序代码和其依赖关系在应用层的一个抽象概念,且多个应用容器之间各自作为孤立的进程在同一台机器上的用户空间中运行,并共享操作系统内核。
基于上述的集群管理系统,现有技术中,所述主节点在对所述从节点的资源进行管控时,一般是基于以下两种技术方案为pod实例分配资源:
其一是,按照先进先出的规则分配资源,也就是说,先对等待时间较长的pod实例分配资源;其二是,按照设置的优先级分配资源,也就是说,先对优先级较高的pod实例分配资源。
经本申请的发明人的长期研究发现,在按照先进先出的规则分配资源时,对于一些规格(或需求)较大的pod实例,可能会长期处于等待状态而导致难以被及时地调度处理的问题。同样地,在按照设置的优先级分配资源时,若对一些规格(或需求)较大的pod实例设置较高的优先级,又会导致规格(或需求)较小的pod实例长期处于等待状态而导致难以被及时地调度处理的问题。
考虑到不管是规格(或需求)较大的pod实例,还是规格(或需求)较小的pod实例,对于各pod实例处理的业务来说,一般是不存在优先级高低的问题,都应该及时被处理。
因而,上述的两种方案,都存在节点资源管控不合理的问题,都可能会导致一些业务难以被及时、有效地处理的技术问题。
因此,为了改善上述的技术问题,结合图3,本申请实施例提供了一种电子设备10。其中,所述电子设备10可以应用于上述的集群管理系统。
详细地,所述电子设备10在应用于上述的集群管理系统时,可以作为该集群管理系统中的主节点,且可以用于对该集群管理系统中的从节点的资源进行管控。
其中,所述电子设备10可以包括存储器12和处理器14,该存储器12内可以设置有节点资源管控装置100。
详细地,所述存储器12和处理器14之间直接或间接地电性连接,以实现数据的传输或交互。例如,相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述节点资源管控装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储器12中的软件功能模块(如后文中描述的各组件)。所述处理器14用于执行所述存储器12中存储的可执行的计算机程序,例如,所述节点资源管控装置100所包括的软件功能模块及计算机程序等,以实现本申请实施例提供的节点资源管控方法。
所述存储器12可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
所述处理器14可以是一种通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)、片上系统(System on Chip,SoC)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以理解,图3所示的结构仅为示意,所述电子设备10还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置,例如,还可以包括用于与其它设备(如前述的从节点)进行信息交互的通信单元。
结合图4,本申请实施例还提供一种可应用于上述电子设备10的节点资源管控方法。其中,该节点资源管控方法有关的流程所定义的方法步骤可以由所述电子设备10实现。下面将对图4所示的具体流程进行详细阐述。
步骤S110,获取目标节点的剩余资源的资源信息。
在本实施例中,所述目标节点可以是指上述的集群管理系统中的从节点。例如,在所述集群管理系统中,增加了新的从节点或已有的从节点已经释放了资源,可以将该新的从节点或该已有的从节点作为所述目标节点。
步骤S120,基于所述资源信息判断所述剩余资源是否满足预设的预留条件。
在本实施例中,基于步骤S110获取到目标节点的剩余资源的资源信息之后,可以基于该资源资源信息判断所述剩余资源是否满足预设的预留条件。并且,若该剩余资源满足所述预留条件,可以执行步骤S130。
其中,所述预留条件的具体内容不受限制,可以根据实际应用中不容易被及时分配到资源的pod实例的规格进行设置。
步骤S130,对所述剩余资源进行预留处理。
在本实施例中,基于步骤S120判断出所述剩余资源满足所述预留条件之后,可以对该剩余资源进行预留处理,以保证之后出现规格与该剩余资源匹配的pod实例时,可以及时地为该pod实例分配资源。
基于上述的方法,通过将满足预留条件的剩余资源进行预留处理,使得原本不容易被及时分配到资源的pod实例,也可以被及时分配到预留的剩余资源,从而保证各种规格的pod实例都能够被及时地分配到资源,使得资源的管控更为合理,进而保证基于各pod实例实现的业务都能及时地完成,实用价值较高。
对于上述示例中的步骤S110,需要说明的是,获取资源信息的方式不受限制,可以根据实际应用需求进行选择,例如,根据所述剩余资源的类型不同,获取相应的资源信息的方式也可以不同。
在一种可以替代的示例中,所述剩余资源的具体类型可以包括,但不限于所述目标节点的计算资源和存储资源中的至少一种。对应地,所述资源信息可以包括,但不限于所述目标节点的计算资源的和存储资源的具体信息,例如,中央处理器为4核或8核,内存为8G或16G。
也就是说,可以读取所述目标节点的中央处理器的信息,作为所述资源信息;也可以读取所述目标节点的内存的信息,作为所述资源信息;还可以分别读取所述目标节点的中央处理器的信息和内存的信息,作为所述资源信息。
对于上述的步骤S120,需要说明的是,所述预留条件一般是根据实际应用需求中不容易被分配到资源的pod实例的规格进行设置,但是,在不同的应用中不容易被分配到资源的pod实例的规格可能存在不同。
例如,在一种可以替代的示例中,考虑到在进行资源分配时若采用如前述的先进先出的规则,会导致一些规格(或需求)较大的pod实例可能会长期处于等待状态,因而,可以基于这些pod实例的规格设置所述预留条件。
又例如,在一种可以替代的示例中,考虑到在进行资源分配时若采用如前述的为规格(或需求)较大的pod实例设置较高的优先级的规则,会具有较小规格的pod实例长期处于等待状态,因而,也可以基于这些pod实例的规格设置所述预留条件。
可以理解的是,在实际应用中,一般是采用先进先出的规则进行资源分配,因而,规格较小的pod实例相较于规格较大的pod实例,更容易被分配到资源,因此,在后文中以所述预留条件根据具有较大规格的pod实例进行设置为例,进行具体解释说明。
其中,基于不同的需求,通过步骤S120判断剩余资源是否满足预留条件的方式也不受限制,可以根据实际应用需求进行设置。
例如,在一种可以替代的示例中,若当前不存在需要分配资源的pod实例,可以直接基于待预留资源的预留信息和所述剩余资源的资源信息,对剩余资源是否满足预留条件进行判断。
又例如,在另一种可以替代的示例中,若当前存在需要分配资源的pod实例,为了对该pod实例进行有效地资源分配,还可以结合该pod实例的规格对剩余资源是否满足预留条件进行判断。因此,步骤S120可以包括以下子步骤:
基于待调度资源的需求信息、待预留资源的预留信息和所述资源信息,判断所述剩余资源是否满足预设的预留条件。
其中,所述待调度资源的需求信息是指,当前需要分配资源的pod实例的规格。例如,若当前有一个pod实例需要具有4核的中央处理器和8G的内存的从节点进行处理,则所述待调度资源的需求信息可以为4核的中央处理器和8G的内存。
需要说明的是,在前述步骤中基于需求信息、预留信息和资源信息进行判断时,具体的判断规则也不受限制。
例如,在一种可以替代的示例中,为了保证预留的剩余资源比较充足,可以直接基于所述需求信息、预留信息和资源信息进行判断。
又例如,在另一种可以替代的示例中,为了避免预留过度的剩余资源而导致可能出现资源浪费的问题,还可以在所述需求信息、预留信息和资源信息的基础上,结合其它信息进行判断。
详细地,基于上述的第一种示例,判断剩余资源是否满足预留条件的步骤,可以包括以下子步骤:
首先,可以基于待调度资源的需求信息、待预留资源的预留信息和所述资源信息,将所述剩余资源与所述待调度资源和所述待预留资源进行比较;其次,若所述剩余资源小于所述待调度资源与所述待预留资源之和,但大于或等于所述待预留资源,可以判定所述剩余资源满足预设的预留条件。
也就是说,只要所述剩余资源与所述待调度资源和所述待预留资源满足一定的大小关系,就可以判定所述剩余资源满足所述预留条件,从而可以通过执行步骤S130进行预留处理。
例如,在一种具体的应用实例中,若所述待调度资源的需求信息(即当前需要分配资源的pod的规格)为4核的中央处理器,所述待预留资源的预留信息为8核的中央处理器,此时,若所述剩余资源的资源信息为10核的中央处理器,因为10核小于12核(即4核+8核),但大于8核,可以判定该剩余资源满足所述预留条件。
需要说明的是,基于上述的示例可以使得原本不容易被分配到资源(如规格较大)的pod示例,也能够被及时地被分配到资源。因此,在所述剩余资源与所述待调度资源和所述待预留资源不满足一定的大小关系时,对该剩余资源的处理方式不受限制。
例如,在一种可以替代的示例中,在所述剩余资源与所述待调度资源和所述待预留资源不满足一定的大小关系时,还可以基于其它的一些条件对所述剩余资源进行进一步地判断,并在该剩余资源也不满足这些条件的情况下,才判定该剩余资源不满足所述预留条件。
又例如,在另一种可以替代的示例中,在所述剩余资源与所述待调度资源和所述待预留资源不满足一定的大小关系时,可以直接判定该剩余资源不满足所述预留条件。
详细地,在一种具体的应用示例中,若所述剩余资源大于或等于所述待调度资源与所述待预留资源之和,或所述剩余资源小于所述待预留资源,都可以判定所述剩余资源不满足预设的预留条件。
例如,若所述待调度资源的需求信息(即当前需要分配资源的pod的规格)为4核的中央处理器,所述待预留资源的预留信息为8核的中央处理器,此时,若所述剩余资源的资源信息为13核的中央处理器,因为13核大于12核(即4核+8核),因而,可以判定该剩余资源不满足所述预留条件。或者,若所述剩余资源的资源信息为6核的中央处理器,因为6核小于8核,因而,也可以判定该剩余资源不满足所述预留条件。
基于上述的第二种示例,判断剩余资源是否满足预留条件的步骤,可以包括以下子步骤:
首先,可以基于待调度资源的需求信息、待预留资源的预留信息和所述资源信息,将所述剩余资源与所述待调度资源和所述待预留资源进行比较;其次,若所述剩余资源小于所述待调度资源与所述待预留资源之和,但大于或等于所述待预留资源,可以判断已经进行预留处理的剩余资源对应的节点的节点数目是否小于预设值;然后,若所述节点数目小于所述预设值,可以判定所述目标节点的剩余资源满足预设的预留条件。
也就是说,在所述剩余资源与所述待调度资源和所述待预留资源满足一定的大小关系之后,还需要在已经进行预留处理的剩余资源对应的节点的节点数目小于预设值时,才可以判定所述剩余资源满足所述预留条件,从而通过执行步骤S130对该剩余资源进行预留处理。
例如,在一种具体的应用实例中,若所述待调度资源的需求信息(即当前需要分配资源的pod的规格)为4核的中央处理器,所述待预留资源的预留信息为8核的中央处理器,所述预设值为20,此时,若所述剩余资源的资源信息为10核的中央处理器,因为10核小于12核(即4核+8核,但大于8核,并且,由于已经进行预留处理的剩余资源对应的节点的节点数目(如15)小于20,可以判定所述目标节点的剩余资源满足所述预留条件。
同理,基于上述的示例也可以使得原本不容易被分配到资源(如规格较大)的pod示例,也能够被及时地被分配到资源。因此,在所述剩余资源与所述待调度资源和所述待预留资源不满足一定的大小关系或不满足所述节点数目的条件时,对该剩余资源的处理方式也不受限制。
例如,在一种可以替代的示例中,在所述剩余资源与所述待调度资源和所述待预留资源不满足一定的大小关系或不满足所述节点数目的条件时,还可以基于其它的一些条件对所述剩余资源进行进一步地判断,并在该剩余资源也不满足这些条件的情况下,才判定该剩余资源不满足所述预留条件。
又例如,在另一种可以替代的示例中,在所述剩余资源与所述待调度资源和所述待预留资源不满足一定的大小关系或不满足所述节点数目的条件时,可以直接判定该剩余资源不满足所述预留条件。
详细地,在一种具体的应用示例中,若所述剩余资源大于或等于所述待调度资源与所述待预留资源之和,或所述剩余资源小于所述待预留资源,或所述节点数目不小于所述预设值,都可以判定所述剩余资源不满足所述预留条件。
例如,在一种具体的应用实例中,若所述待调度资源的需求信息(即当前需要分配资源的pod的规格)为4核的中央处理器,所述待预留资源的预留信息为8核的中央处理器,所述预设值为20。此时,若所述剩余资源的资源信息为13核的中央处理器,因为13核大于12核(即4核+8核),因而,可以判定该剩余资源不满足所述预留条件。或者,若所述剩余资源的资源信息为6核的中央处理器,因为6核小于8核,因而,也可以判定该剩余资源不满足所述预留条件。或者,所述节点数目为20(并不小于所述预设值),也可以判定该剩余资源不满足所述预留条件。
对于上述的步骤S130,需要说明的是,对满足预留条件的剩余资源进行预留处理的具体方式不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,为了便于在对剩余资源进行预留处理之后,在需要对该剩余资源进行分配时,能够进行较为合理的管控,因而,可以通过建立预留列表的方式完成对所述剩余资源的预留处理。
其中,在所述预留列表建立之后,在每一次判定所述剩余资源满足所述预留条件时,可以对该预留列表进行更新。同理,在每一次对该预留列表中的剩余资源进行分配之后,也可以对该预留列表进行更新。
可以理解的是,建立所述预留列表的方式基于不同的需求可以不同,例如,为了将预留时间更长的剩余资源优先进行分配,可以基于时间的先后顺序和所述剩余资源对应的从节点建立所述预留列表,如下表所示。
基于预留时间的序号 从节点
01 A
02 D
03 C
04 B
如此,在需要对上述的各从节点的剩余资源进行分配时,基于预留时间的序号,可以将序号为01对应的剩余资源,即从节点A的剩余资源进行优先分配。
其中,对从节点A的剩余资源进行分配之后,可以对上述的预留列表进行更新,更新后的预留列表如下表所示。
基于预留时间的序号 从节点
02 D
03 C
04 B
并且,在判定有新的剩余资源满足所述预留条件时,如从节点F的剩余资源满足所述预留条件,可以对上述的预留列表进行更新,更新后的预留列表如下表所示。
基于预留时间的序号 从节点
02 D
03 C
04 B
05 F
同理,为了便于对判定为不满足所述预留条件的剩余资源进行管控,可以建立一优选列表。
其中,建立所述优选列表的方式根据需求的不同也可以有不同,例如,在一种可以替代的示例中,对于判定为不满足所述预留条件的剩余资源还可以基于一些规则进行打分(分值越高表示剩余资源对应的从节点的性能越好),然后基于分值建立所述优选列表,以将分值较高从节点的剩余资源优先进行分配,如下表所示。
基于分值的序号 从节点
01 X
02 Y
03 Z
04 M
如此,在需要对上述优选列表中的从节点的剩余资源进行分配时,可以基于序号,优先将序号为01对应的从节点X的剩余资源进行分配。
进一步地,基于上述的示例可以知道,在一些情况下,当前可能存在需要分配资源的pod实例,若该pod实例的规格与所述待预留资源相匹配,为了简化对剩余资源的管控流程,提高管控的效率,可以直接将已经进行预留处理的剩余资源分配给该pod实例。因此,在执行步骤S110之前,所述节点资源管控方法还可以包括以下步骤:
首先,可以基于待调度资源的需求信息和待预留资源的预留信息,判断所述待调度资源和所述待预留资源是否匹配;其次,若所述待调度资源和所述待预留资源不匹配,可以执行步骤S110;若所述待调度资源和所述待预留资源匹配,可以将直接在已经进行预留处理的剩余资源(如上述的预留列表)中选择一个,分配给当前需要分配资源的pod实例。
例如,若所述待预留资源的预留信息为8核的中央处理器,且所述待调度资源的需求信息(即当前需要分配资源的pod实例的规格)也为8核的中央处理器,可以直接在已经进行预留处理的剩余资源中选择一个,分配给当前需要分配资源的pod实例。
进一步地,考虑到在实际应用中,可能需要对所述预留条件进行更改。例如,各pod实例中具有较大规格的pod实例都不存在了,因而,需要对所述待预留资源的资源信息进行调整(如将8核调整为6核)。又例如,各pod实例中具有较大规格的pod实例增多了,因而,需要对所述预设值进行调整(如将20调整为25)。
基于上述的目的,在本实施例中,所述节点资源管控方法还可以包括以下步骤:
首先,可以判断是否需要对所述预留条件进行更新处理;其次,可以在需要进行更新处理时对所述预留条件进行更新处理。
如此,可以保证当前的预留条件是,满足当前的管控需求的,从而保证基于该预留条件进行的预留处理是合理的,进而使得对各pod实例进行的资源分配较为合理,不会发生业务无法被及时完成的问题。
可选地,在上述的步骤中判断是否需要对所述预留条件进行更新处理的方式不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,可以基于事件通知的方式进行判断。也就是说,只有在接收到预定的通知事件时,才判定需要对所述预留条件进行更新处理。
又例如,在另一种可以替代的示例中,可以基于状态感知的方式进行判断。也就是说,可以监测目标对象的状态是否发生变化,并在监测到该目标对象的状态发生变化时,才判定需要对所述预留条件进行更新处理。
详细地,在一种具体的应用示例中,结合图5,判断是否需要对所述预留条件进行更新处理的步骤,可以包括以下子步骤:
首先,可以监测接口服务组件(如kube-apiserver组件)是否接收到对所述预留条件进行更新的更新指令;其次,若监测到所述接口服务组件接收到所述更新指令,可以判定需要对所述预留条件进行更新处理,以根据该更新指令对该预留条件进行更新处理。
需要说明的是,所述接口服务组件接收所述更新指令的方式可以是,用户通过所述电子设备10的应用程序接口(如kubectl api,或者http api)对所述接口服务组件的配置信息进行更新操作。
其中,根据所述更新指令对所述预留条件进行更新处理的方式也不受限制,可以根据实际应用需求进行选择。例如,根据是否需要对所述电子设备10上的各组件进行重启,进行更新处理的方式可以有不同。
在一种可以替代的示例中,为了避免需要对所述电子设备10上的各组件进行重启而导致运维成本高的问题,根据所述更新指令对所述预留条件进行更新处理的步骤,可以包括以下子步骤:
可以控制信息通知组件(如crd informer组件)根据所述更新指令,对预留对象(如reserve Policy)中的预留配置进行更新处理,以完成对所述预留条件的更新处理。
其中,所述信息通知组件可以与所述接口服务组件通信连接,用于对该接口服务组件进行监测,以判断该接口服务组件是否接收到对所述预留条件进行更新的更新指令,并在监测到该接口服务组件接收到所述更新指令时,判定需要对所述预留条件进行更新处理。
如此,在每一次执行上述的步骤S130时,可以通过获取所述预留对象中当前的预留配置,以得到最近一次进行更新处理之后的预留条件,从而保证是否需要对剩余资源进行预留处理的判断是符合当前需求的。
需要说明的是,上述的信息通知组件和预留对象可以形成于所述电子设备10上的调度组件(如kube-scheduler组件)。
其中,所述调度组件是kubernetes控制面板的核心组件之一,负责应用容器的资源和宿主的调度和绑定。
并且,上述的步骤S110、步骤S120和步骤S130可以是基于不同的组件执行,也可以是基于同一组件进执行。
例如,在一种可以替代的示例中,上述的步骤S110、步骤S120和步骤S130可以是同一组件执行,如图5所示的预测组件(如predicate组件),该预测组件也可以形成于所述调度组件。
请进一步结合图5,本申请实施例还提供一种可应用于上述电子设备10的节点资源管控装置100。其中,所述节点资源管控装置100可以包括接口服务组件和调度组件。
所述接口服务组件,用于获取目标节点的剩余资源的资源信息。相关的内容可以参照前文对步骤S110的描述。
所述调度组件,用于基于所述资源信息判断所述剩余资源是否满足预设的预留条件,并在所述剩余资源满足所述预留条件时,对所述剩余资源进行预留处理。相关的内容可以参照前文对步骤S120和步骤S130的描述。
可选地,根据实际应用需求不同,所述调度组件的构成可以不同。例如,在一种可以替代的示例中,所述调度组件可以包括预测组件和预留对象,该预留对象中具有所述预留条件对应的预留配置。
其中,所述预测组件可以用于获取所述预留配置,并基于所述资源信息判断所述剩余资源是否满足该预留配置对应的预留条件,并在所述剩余资源满足该预留条件时,对所述剩余资源进行预留处理。
进一步地,为了便于对所述预留配置(或预留条件)进行更新,所述接口服务组件还可以用于接收对所述预留条件进行更新的更新指令。并且,所述调度组件还可以包括信息通知组件,该信息通知组件用于根据所述更新指令所述预留配置进行更新处理,以完成对所述预留条件的更新处理。
详细地内容,可以参照前文中节点资源管控方法中关于预留条件的更新处理的解释说明,在此不再一一赘述。
在本申请实施例中,对应于上述的节点资源管控方法,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序运行时执行上述节点资源管控方法的各个步骤。
其中,前述计算机程序运行时执行的各步骤,在此不再一一赘述,可参考前文对所述节点资源管控方法的解释说明。
综上所述,本申请提供的节点资源管控方法、装置、电子设备及存储介质,基于目标节点的剩余资源的资源信息,在判断出该剩余资源满足预留条件时,对该剩余资源进行预留处理。如此,可以在较大程度上保证与满足预留条件的剩余资源相匹配的待调度资源能够被及时地被调度处理,一方面可以改善采用现有技术而使得该待调度资源难以被及时地调度处理的问题,另一方面还可以改善采用现有技术而导致其它待调度资源难以被及时地调度处理的问题,从而有效地改善现有技术中对节点资源的管控存在不合理的问题,具有较高的实用价值。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (15)

1.一种节点资源管控方法,其特征在于,包括:
获取目标节点的剩余资源的资源信息;
基于所述资源信息判断所述剩余资源是否满足预设的预留条件;
若所述剩余资源满足所述预留条件,则对所述剩余资源进行预留处理。
2.根据权利要求1所述的节点资源管控方法,其特征在于,所述基于所述资源信息判断所述剩余资源是否满足预设的预留条件的步骤,包括:
基于待调度资源的需求信息、待预留资源的预留信息和所述资源信息,判断所述剩余资源是否满足预设的预留条件。
3.根据权利要求2所述的节点资源管控方法,其特征在于,所述基于待调度资源的需求信息、待预留资源的预留信息和所述资源信息,判断所述剩余资源是否满足预设的预留条件的步骤,包括:
基于待调度资源的需求信息、待预留资源的预留信息和所述资源信息,将所述剩余资源与所述待调度资源和所述待预留资源进行比较;
若所述剩余资源小于所述待调度资源与所述待预留资源之和,但大于或等于所述待预留资源,则判定所述剩余资源满足预设的预留条件。
4.根据权利要求3所述的节点资源管控方法,其特征在于,所述基于待调度资源的需求信息、待预留资源的预留信息和所述资源信息,判断所述剩余资源是否满足预设的预留条件的步骤,还包括:
若所述剩余资源大于或等于所述待调度资源与所述待预留资源之和,或所述剩余资源小于所述待预留资源,则判定所述剩余资源不满足预设的预留条件。
5.根据权利要求2所述的节点资源管控方法,其特征在于,所述基于待调度资源的需求信息、待预留资源的预留信息和所述资源信息,判断所述剩余资源是否满足预设的预留条件的步骤,包括:
基于待调度资源的需求信息、待预留资源的预留信息和所述资源信息,将所述剩余资源与所述待调度资源和所述待预留资源进行比较;
若所述剩余资源小于所述待调度资源与所述待预留资源之和,但大于或等于所述待预留资源,则判断已经进行预留处理的剩余资源对应的节点的节点数目是否小于预设值;
若所述节点数目小于所述预设值,则判定所述目标节点的剩余资源满足预设的预留条件。
6.根据权利要求5所述的节点资源管控方法,其特征在于,所述基于待调度资源的需求信息、待预留资源的预留信息和所述资源信息,判断所述剩余资源是否满足预设的预留条件的步骤,还包括:
若所述剩余资源大于或等于所述待调度资源与所述待预留资源之和,或所述剩余资源小于所述待预留资源,或所述节点数目不小于所述预设值,则判定所述剩余资源不满足预设的预留条件。
7.根据权利要求1-6任意一项所述的节点资源管控方法,其特征在于,在所述获取目标节点的剩余资源的资源信息的步骤之前,所述方法还包括:
基于待调度资源的需求信息和待预留资源的预留信息,判断所述待调度资源和所述待预留资源是否匹配;
若所述待调度资源和所述待预留资源不匹配,则执行所述获取目标节点的剩余资源的资源信息的步骤。
8.根据权利要求1-6任意一项所述的节点资源管控方法,其特征在于,还包括:
判断是否需要对所述预留条件进行更新处理,并在需要进行更新处理时对所述预留条件进行更新处理。
9.根据权利要求8所述的节点资源管控方法,其特征在于,所述判断是否需要对所述预留条件进行更新处理,并在需要进行更新处理时对所述预留条件进行更新处理的步骤,包括:
监测接口服务组件是否接收到对所述预留条件进行更新的更新指令;
若监测到所述接口服务组件接收到所述更新指令,则判定需要对所述预留条件进行更新处理,并根据该更新指令对该预留条件进行更新处理。
10.根据权利要求9所述的节点资源管控方法,其特征在于,所述接口服务组件通信连接有信息通知组件,所述根据该更新指令对该预留条件进行更新处理的步骤,包括:
控制所述信息通知组件根据所述更新指令,对预留对象中的预留配置进行更新处理,以完成对所述预留条件的更新处理;
其中,在每一次执行所述基于所述资源信息判断所述剩余资源是否满足预设的预留条件的步骤时,通过获取所述预留对象中当前的预留配置,以得到最近一次进行更新处理之后的预留条件。
11.一种节点资源管控装置,其特征在于,包括:
接口服务组件,用于获取目标节点的剩余资源的资源信息;
调度组件,用于基于所述资源信息判断所述剩余资源是否满足预设的预留条件,并在所述剩余资源满足所述预留条件时,对所述剩余资源进行预留处理。
12.根据权利要求11所述的节点资源管控装置,其特征在于,所述调度组件包括预测组件和预留对象,该预留对象中具有所述预留条件对应的预留配置;
所述预测组件用于获取所述预留配置,并基于所述资源信息判断所述剩余资源是否满足该预留配置对应的预留条件,并在所述剩余资源满足该预留条件时,对所述剩余资源进行预留处理。
13.根据权利要求12所述的节点资源管控装置,其特征在于,所述接口服务组件还用于接收对所述预留条件进行更新的更新指令;
所述调度组件还包括信息通知组件,该信息通知组件用于根据所述更新指令所述预留配置进行更新处理,以完成对所述预留条件的更新处理。
14.一种电子设备,其特征在于,包括存储器、处理器和存储于该存储器并能够在该处理器上运行的计算机程序,该计算机程序在该处理器上运行时实现权利要求1-10任意一项所述的节点资源管控方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被执行时实现权利要求1-10任意一项所述的节点资源管控方法。
CN201910873930.0A 2019-09-17 2019-09-17 节点资源管控方法、装置、电子设备及存储介质 Active CN112527490B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910873930.0A CN112527490B (zh) 2019-09-17 2019-09-17 节点资源管控方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910873930.0A CN112527490B (zh) 2019-09-17 2019-09-17 节点资源管控方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112527490A true CN112527490A (zh) 2021-03-19
CN112527490B CN112527490B (zh) 2024-02-09

Family

ID=74974442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910873930.0A Active CN112527490B (zh) 2019-09-17 2019-09-17 节点资源管控方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112527490B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114598666A (zh) * 2022-02-24 2022-06-07 阿里巴巴(中国)有限公司 资源处理方法及资源调度方法
CN115114034A (zh) * 2022-08-29 2022-09-27 岚图汽车科技有限公司 分布式计算方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246550A (zh) * 2012-02-09 2013-08-14 深圳市腾讯计算机系统有限公司 一种基于容量的多任务调度方法及系统
CN104243353A (zh) * 2014-09-19 2014-12-24 中国电子科技集团公司第七研究所 网络传输的能量预留方法和系统及网络传输方法和系统
CN106874116A (zh) * 2017-02-14 2017-06-20 郑州云海信息技术有限公司 一种放置新建虚拟机的服务器选择方法及装置
CN109445943A (zh) * 2018-10-24 2019-03-08 郑州云海信息技术有限公司 内核态系统中i/o栈的内存管理方法、系统及相关装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246550A (zh) * 2012-02-09 2013-08-14 深圳市腾讯计算机系统有限公司 一种基于容量的多任务调度方法及系统
CN104243353A (zh) * 2014-09-19 2014-12-24 中国电子科技集团公司第七研究所 网络传输的能量预留方法和系统及网络传输方法和系统
CN106874116A (zh) * 2017-02-14 2017-06-20 郑州云海信息技术有限公司 一种放置新建虚拟机的服务器选择方法及装置
CN109445943A (zh) * 2018-10-24 2019-03-08 郑州云海信息技术有限公司 内核态系统中i/o栈的内存管理方法、系统及相关装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114598666A (zh) * 2022-02-24 2022-06-07 阿里巴巴(中国)有限公司 资源处理方法及资源调度方法
CN115114034A (zh) * 2022-08-29 2022-09-27 岚图汽车科技有限公司 分布式计算方法及装置

Also Published As

Publication number Publication date
CN112527490B (zh) 2024-02-09

Similar Documents

Publication Publication Date Title
US10003500B2 (en) Systems and methods for resource sharing between two resource allocation systems
CN108337109B (zh) 一种资源分配方法及装置和资源分配系统
CN111966500B (zh) 资源调度方法、装置、电子设备及存储介质
CN108572875B (zh) 资源分配方法、装置及系统
CN110609743A (zh) 用于配置资源的方法、电子设备和计算机程序产品
CN107301093B (zh) 一种管理资源的方法和装置
CN110231991B (zh) 一种任务分配方法、装置、电子设备及可读存储介质
CN111104227B (zh) 一种K8s平台的资源控制方法、装置及相关组件
CN109766172B (zh) 一种异步任务调度方法以及装置
CN107343023B (zh) 一种Mesos管理集群中的资源分配方法、装置及电子设备
CN112269641A (zh) 一种调度方法、装置、电子设备及存储介质
WO2020172852A1 (en) Computing resource scheduling method, scheduler, internet of things system, and computer readable medium
CN112527490B (zh) 节点资源管控方法、装置、电子设备及存储介质
CN113886069A (zh) 一种资源分配方法、装置、电子设备及存储介质
CN112749002A (zh) 一种集群资源动态管理的方法和装置
CN112214288B (zh) 基于Kubernetes集群的Pod调度方法、装置、设备和介质
CN112540829A (zh) 容器组驱逐方法、装置、节点设备及存储介质
CN114385370B (zh) 内存分配方法、系统、设备及介质
CN112860387A (zh) 分布式任务调度方法、装置、计算机设备及存储介质
CN111240824A (zh) 一种cpu资源调度方法及电子设备
CN111190719A (zh) 优化集群资源分配的方法、装置、介质及电子设备
CN112860421B (zh) 用于作业处理的方法、设备和计算机程序产品
CN113110927A (zh) 一种任务调度方法、装置、计算机设备和存储介质
CN112114958A (zh) 资源隔离方法、分布式平台、计算机设备和存储介质
CN115794396A (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
GR01 Patent grant