CN113760543A - 资源管理方法、装置、电子设备及计算机可读存储介质 - Google Patents
资源管理方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113760543A CN113760543A CN202110910265.5A CN202110910265A CN113760543A CN 113760543 A CN113760543 A CN 113760543A CN 202110910265 A CN202110910265 A CN 202110910265A CN 113760543 A CN113760543 A CN 113760543A
- Authority
- CN
- China
- Prior art keywords
- resource
- target
- resource pool
- physical
- user terminal
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/504—Resource capping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种资源管理方法、装置、电子设备及计算机可读存储介质,该方法应用于集群中的主设备,集群设置有资源池,该方法可以包括如下步骤:主设备获取至少一个用户终端对应的资源需求量;资源需求量用于表征至少一个用户终端执行各自的任务所需的物理资源的多少;在主设备确定至少一个用户终端对应的资源需求量小于资源池中的可用物理资源量的情况下,根据目标预留值对资源池中的物理资源进行缩容;目标预留值用于指示为资源池分配的物理资源的最小限制。通过实施本申请实施例,可以提高资源的利用率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种资源管理方法、装置、电子设备及计算机可读存储介质。
背景技术
现有技术中,用户的资源需求往往不是平稳的,在某些时间段内会出现短时大量需求申请,在某些时间段内会出现长期少量需求申请,例如通过华为云创建的集群中的节点中处理工程图纸的审核任务时,可能在某一时间段存在审核任务需求突增的情况,对于这种短期高并发的情况,仍使用与平时同样数量的资源提供方式会导致资源提供方的负载过高,大量资源需求无法获得满足,从而降低用户的使用体验。又例如,在审核任务需求降低后,仍使用与平时同样数量的资源提供方式会导致资源提供方的资源浪费,出现大量的资源闲置。可以知道的是,上述实现方式容易带来资源利用率不高的问题。
发明内容
本申请实施例提供了一种资源管理方法、装置、电子设备及计算机可读存储介质,能够提高资源的利用率。
第一方面,本申请实施例提供了一种资源管理方法,所述方法应用于集群中的主设备,所述集群设置有资源池;所述方法包括:
所述主设备获取至少一个用户终端对应的资源需求量;所述资源需求量用于表征所述至少一个用户终端执行各自的任务所需的物理资源的多少;
在所述主设备确定所述至少一个用户终端对应的资源需求量小于所述资源池中的可用物理资源量的情况下,根据目标预留值对所述资源池中的物理资源进行缩容;所述目标预留值用于指示为所述资源池分配的物理资源的最小限制。
第二方面,本申请实施例提供了一种资源管理装置,所述装置应用于集群中的主设备,所述集群设置有资源池;所述装置包括:
获取资源需求量模块,用于获取至少一个用户终端对应的资源需求量;所述资源需求量用于表征所述至少一个用户终端执行各自的任务所需的物理资源的多少;
缩容模块,用于在确定所述至少一个用户终端对应的资源需求量小于所述资源池中的可用物理资源量的情况下,根据目标预留值对所述资源池中的物理资源进行缩容;所述目标预留值用于指示为所述资源池分配的物理资源的最小限制。
第三方面,本申请实施例提供了一种电子设备,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行如第一方面所述的方法。
第五方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如第一方面所述的方法。
可以看出,本申请实施例中,通过设置目标预留值,该目标预留值用于指示为资源池分配的物理资源的最小限制,根据目标预留值对资源池中的物理资源进行缩容,从而提高了资源的利用率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种集群的构成示意图;
图2为本申请实施例提供的一种资源管理方法的流程示意图;
图3为本申请实施例提供的一种资源缩容的方法的流程示意图;
图4为为本申请实施例提供的一种缩容操作的方法的流程示意图;
图5为本申请实施例提供的一种资源扩容的方法的流程示意图;
图6为本申请实施例提供的一种资源管理装置的组成示意图;
图7为本申请实施例提供的一种电子设备的组成示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请的实施例进行描述。
本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
电子设备可以包括终端或者服务器,本申请实施例不做限定。终端包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备(例如智能手表、智能手环、计步器等)、计算设备或连接到无线调制解调器的其他处理的精度。用户设备(User Equipment,简称UE),移动台(Mobile Station,简称MS),终端设备(terminal device)等等。为方便描述,上面提到的设备统称为电子设备。
首先介绍本申请实施例涉及的专业术语和概念。
(1)集群
集群是一组节点,这些节点可以是物理服务器或者虚拟机。之上安装了Kubernetes平台。
(2)Kubernetes
Kubernetes,简称K8s,是一个开源的、用于管理云平台中多个主机上的容器化的应用。Kubernetes的目标是让部署容器化的应用简单并且高效,K8s提供了应用部署,规划,更新,维护的一种机制。通过K8s可以快速部署应用、快速扩展应用、无缝对接新的应用功能以及节省资源,优化硬件资源的使用等。
(3)节点
节点是Kubernetes中最小的计算硬件单元。它是Kubernetes集群中单个机器的表示。在大多数系统中,节点包括但不限于数据中心中的物理机器,或者是托管在云平台上的虚拟机。Kubernetes上的节点包括主节点和计算节点两类。
(4)Pod
Pod是K8s最基本的操作单元,它内部封装了一个或多个紧密相关的容器。相同Pod中的任何容器都将共享相同的名称空间和本地网络。容器可以很容易地与其他容器在相同的Pod中进行通信。Pod被用作Kubernetes的复制单元,在单个Pod实例无法承载负载的情况下,可以配置Kubernetes以在必要时将Pod的副本部署到集群中。Pod可以容纳多个容器,但在可能的情况下应该限制自己。因为Pod作为一个单位被放大和缩小时,所有在一个Pod里的容器都必须在一起缩放,不管它们是否需要。这将导致资源的浪费和成本增加。为了解决这个问题,Pod应该保持尽可能小的大小,通常只保留一个主进程和紧密耦合的辅助容器。
(5)容器
容器化是软件开发的一种方法,通过该方法可将应用程序或服务、其依赖项及其配置(抽象化为部署清单文件)一起打包为容器镜像。容器化应用程序可以作为一个单元进行测试,并可以作为容器镜像实例部署到主机操作系统(OS)。也就是说,一个容器包含了完整的运行时环境:除了应用程序本身之外,这个应用所需的全部依赖、类库、其他二进制文件、配置文件等,都统一被打入了一个称为容器镜像的包中。通过将应用程序本身,和其依赖容器化,操作系统发行版本和其他基础环境造成的差异,都被抽象掉了。例如,在Kubernetes上运行的程序被打包成Linux容器。可以将多个程序添加到单个容器中,但是如果可能的话,你应该将自己限制为每个容器的一个进程。拥有很多小容器比一个大容器好。如果每个容器都有一个紧密的焦点,那么更新更容易部署,并且问题更容易诊断。Kubernetes并不直接运行容器,而是将一个或多个容器封装到Pod中。
请参见图1,为本申请实施例提供的一种集群的构成示意图。
其中,主设备101和用户终端102构成集群10,主设备101和用户终端102均属于节点。节点是集群中单个机器的表示。在大多数系统中,节点包括但不限于数据中心中的物理机器,或者是托管在云平台上的虚拟机。主设备101相当于集群中的主节点,主要负责管理和控制。用户终端102相当于工作负载节点,也就是计算节点,可以将其看作是一组可以无差别的可以使用的中央处理单元(Central Processing Unit,简称CPU)和随机存取存储器(Random Access Memory,简称RAM)资源。计算节点中可以包含一个或多个Pod104。资源池103是将节点中的物理资源抽象得到的资源池,也就是说,资源池103聚集了节点中的物理资源。需要说明的是,主设备和用户终端可以是同一种设备,也可以是不同的设备。例如,主设备和用户终端均可以是主机,或者,也可以是用户终端为主机,主设备为服务器。可以理解的是,对主设备与用户终端的区分主要是通过各自侧重的功能来实现的。
请参见图2,为本申请实施例提供的一种资源管理方法的流程示意图,该方法应用于集群中的主设备,所述集群设置有资源池。
步骤S201:所述主设备获取至少一个用户终端对应的资源需求量;所述资源需求量用于表征所述至少一个用户终端执行各自的任务所需的物理资源的多少。
在一种可能的实现方式中,所述物理资源包括CPU资源、网络资源、内存资源中的至少一种。
需要说明的是,用户终端申请或使用的物理资源量是指用户终端中Pod申请或使用的物理资源量。
在一种可能的实现方式中,所述主设备每隔预设时间间隔获取一次至少一个用户终端对应的资源需求量。示例性的,预设时间间隔可以是5分钟,也就是说,每隔5分钟主设备将获取一次至少一个用户终端对应的资源需求量。
在一种可能的实现方式中,主设备通过调用集群接口,获取集群中至少一个用户终端申请使用的物理资源量,将获取到的至少一个用户终端申请使用的物理资源量作为资源需求量。也即,资源需求量=至少一个用户终端申请使用的物理资源量。或者,对获取到至少一个用户终端申请使用的物理资源量进行计算得到资源需求量。示例性的,资源需求量=至少一个用户终端申请使用的物理资源量×P,其中,P为大于1的数值。
需要说明的是,在存在两个及以上用户终端申请使用物理资源的情况下,至少一个用户终端申请使用的物理资源量为两个及以上用户终端申请使用的物理资源量的总和。
在实际应用中,由于用户终端对物理资源的需求量会不断变化,为保证资源利用率,因此资源池中的物理资源量也会随之不断扩容或缩容,而资源池中的物理资源量为多个用户终端的物理资源量的抽象聚集,所以分配给用户终端的物理资源量也会不断的发生变化。也就是说,用户终端申请到物理资源后,并非可以永久使用已经申请到的物理资源,申请到的物理资源在用户终端使用完毕从而将已经申请到的物理资源闲置后,该已经申请到的物理资源中的部分或全部会被释放。所以,需要说明的是,至少一个用户终端申请使用的物理资源量并非是至少一个用户终端多次申请使用的物理资源量的总和,而是由至少一个用户终端申请使用的物理资源量的总和减去被释放的物理资源量的总和得到。
在一种可能的实现方式中,主设备获取集群中至少一个用户终端当前使用的物理资源量,将获取到的至少一个用户终端当前使用的物理资源量作为资源需求量。也即,资源需求量=至少一个用户终端当前使用的物理资源量。或者,对获取到至少一个用户终端正在使用的物理资源量进行计算得到资源需求量。示例性的,资源需求量=至少一个用户终端正在使用的物理资源量×Q,其中,Q为大于1的数值。
步骤S202:在所述主设备确定所述至少一个用户终端对应的资源需求量小于所述资源池中的可用物理资源量的情况下,根据目标预留值对所述资源池中的物理资源进行缩容;所述目标预留值用于指示为所述资源池分配的物理资源的最小限制。
其中,目标预留值是指在对资源池中的物理资源进行缩容后,资源池中除了根据用户终端的资源需求量分配给至少一个用户终端的物理资源之外的未分配给用户终端的物理资源量。也就是说,缩容后的可用物理资源量=目标预留值+资源需求量。需要说明的是,当所述至少一个用户终端对应的资源需求量小于所述资源池中的可用物理资源量时,即表示此时满足缩容条件。
在一种可能的实现方式中,通过至少一个样本数据训练目标模型,所述样本数据包括历史资源需求量和所述主设备响应所述历史资源需求量时所述资源池中的可用物理资源量,根据所述目标模型确定所述目标预留值。
其中,历史资源需求量为至少一个用户终端对物理资源的需求量这一历史数据。资源池中的可用物理资源量包括已分配给至少一个用户终端使用的物理资源和尚未分配给用户终端的物理资源。
示例性的,若物理资源包括CPU资源和内存资源,则历史资源需求量包括历史CPU资源需求量和历史内存资源需求量。应理解,在物理资源包括CPU资源和内存资源这一情况下,任一样本数据的历史资源需求量中,均同时包含历史CPU资源需求量和历史内存资源需求量。通过样本数据训练目标模型时,输入的数据为历史资源需求量和历史可用物理资源量,在历史资源需求量小于历史可用物理资源量的情况下,输出的数据为预设预留值。其中,历史可用物理资源量即为主设备响应历史资源需求量时资源池中的可用物理资源量。其中,预设预留值为自主设置的在保证资源利用率的前提下能够满足用户终端的资源需求和/或性能需求的预留值。通过至少一个样本数据训练得到目标模型后,在历史资源需求量小于历史可用物理资源量的情况下,则可以根据得到的目标模型确定目标预留值。也就是说,在训练目标模型时,输入的数据和输出的数据均为已知数据。在得到目标模型后,可以通过向目标模型中输入数据从而得到预测的输出数据。在资源需求量小于可用物理资源量的情况下,输入的数据为资源需求量和可用物理资源量,输出的数据即为目标预留值。
在得到目标预留值后,可以根据目标预留值对资源池中的物理资源进行缩容。
在一种可能的实现方式中,在所述主设备确定所述至少一个用户终端对应的资源需求量大于或者等于所述资源池中的可用物理资源量的情况下,根据目标上限值对所述资源池中的物理资源进行扩容;所述目标上限值用于指示为所述资源池分配的物理资源的最大限制。
其中,目标上限值是指在对资源池中的物理资源进行扩容后,资源池中除了根据用户终端的资源需求量分配给至少一个用户终端的物理资源之外的未分配给用户终端的物理资源量。也就是说,扩容后的可用物理资源量=目标上限值+资源需求量。需要说明的是,当所述至少一个用户终端对应的资源需求量大于所述资源池中的可用物理资源量时,即表示此时满足扩容条件。
在一种可能的实现方式中,通过至少一个样本数据训练目标模型,所述样本数据包括历史资源需求量和所述主设备响应所述历史资源需求量时所述资源池中的可用物理资源量,根据所述目标模型确定所述目标上限值。
示例性的,若物理资源包括CPU资源和网络资源,则历史资源需求量包括历史CPU资源需求量和历史网络资源需求量。应理解,在物理资源包括CPU资源和网络资源这一情况下,任一样本数据的历史资源需求量中,均同时包含历史CPU资源需求量和历史网络资源需求量。通过样本数据训练目标模型时,输入的数据为历史资源需求量和历史可用物理资源量,在历史资源需求量大于历史可用物理资源量的情况下,输出的数据为预设上限值。其中,历史可用物理资源量即为主设备响应历史资源需求量时资源池中的可用物理资源量。其中,预设上限值为自主设置的在保证资源利用率的前提下能够满足用户终端的资源需求和/或性能需求的预留值。通过至少一个样本数据训练得到目标模型后,在历史资源需求量大于历史可用物理资源量的情况下,则可以根据得到的目标模型确定目标上限值。也就是说,在训练目标模型时,输入的数据和输出的数据均为已知数据。在得到目标模型后,可以通过向目标模型中输入数据从而得到预测的输出数据。在资源需求量大于可用物理资源量的情况下,输入的数据为资源需求量和可用物理资源量,输出的数据即为目标上限值。
在一种可能的实现方式中,在得到目标预留值后,可以根据目标预留值对资源池中的物理资源进行缩容。请参见图3,为本申请实施例提供的一种资源缩容的方法的流程示意图。
资源缩容的具体步骤如下所示,包括步骤S301-步骤S303:
步骤S301:判断缩容后的资源池是否满足扩容条件。
判断缩容后的资源池是否满足扩容条件的方法为在进行缩容操作之前,先计算缩容后的资源池中的可用物理资源量以及资源需求量,若此时能够得到目标上限值,那么说明缩容后的资源池满足扩容条件,反之则不满足。应当理解的是,目标上限值与资源需求量之和大于可用资源量,目标预留值与资源需求量之和小于可用资源量,可以通过此种方法判断得到的值为目标预留值还是目标上限值。
步骤S302:在所述缩容后的资源池满足扩容条件的情况下,结束缩容操作。
步骤S303:在所述缩容后的资源池不满足扩容条件的情况下,选择节点进行缩容操作。
步骤S303的具体实施方式包括步骤S3031-步骤S3037。请参见图4,为本申请实施例提供的一种缩容操作的方法的流程示意图。
步骤S3031:将所述选择的节点标记为不可调度并且标记为缩容节点。
在一种可能的实现方式中,选择的节点为CA节点。在创建集群时,需要为集群添加一定数量的节点作为基础节点。CA节点是指集群中除了基础节点外的通过扩容操作添加到集群中的节点。
将所述节点标记为缩容节点的方法包括但不限于给所述节点添加label标签。
将所述缩容节点标记为不可调度的方法包括但不限于通过使用污点对节点进行标记,或者使用kubectl cordon NODE命令将节点标记为不可调度。其中,污点是一种核心对象,可以阻止在节点或节点组上调度Pod。调度指的是确保匹配到合适的节点,以便Pod能够在集群中被成功运行。
步骤S3032:驱逐所述缩容节点上正在运行的Pod。
驱逐是指在资源匮乏的节点上,主动让一个或多个Pod失效。
步骤S3033:检测所述缩容节点上是否存在正在运行的Pod。
Pod的状态可以通过Kubernetes调用接口得到。
步骤S3034:在所述缩容节点上不存在正在运行的Pod的情况下,删除所述缩容节点。
步骤S3035:在所述缩容节点上存在正在运行的Pod的情况下,判断所述正在运行的Pod是否属于DaemonSet。
其中,DaemonSet是一种Pod的控制器,用于确保全部(或者某些)节点上运行一个Pod的副本。当有节点加入集群时,也会为他们新增一个Pod。当有节点从集群移除时,这些Pod也会被回收。删除DaemonSet将会删除它创建的所有Pod。Pod是否属于DaemonSet的意思是Pod是否是通过DaemonSet创建的。
步骤S3036:在所述正在运行的Pod属于DaemonSet的情况下,删除所述缩容节点。
步骤S3037:在所述正在运行的Pod不属于DaemonSet的情况下,结束此次缩容操作。
在一种可能的实现方式中,在得到目标上限值后,可以根据目标上限值对资源池中的物理资源进行扩容。
请参见图5,为本申请实施例提供的一种资源扩容的方法的流程示意图。资源扩容的具体步骤如下所示,包括步骤S501-步骤S505:
步骤S501:判断是否存在正在缩容的节点。
正在缩容的节点即为被标记为缩容节点的节点。
步骤S502:在存在正在缩容的节点的情况下,将所述正在缩容的节点恢复至正常状态。
在一种可能的实现方式中,当存在多台正在缩容的节点的情况下,根据资源需求量确定恢复至正常状态的缩容节点的数量。
步骤S503:在不存在正在缩容的节点的情况下,判断扩容节点是否达到上限。
其中,扩容节点是否达到上限的含义包括但不限于是扩容节点的数量是否达到上限或者是扩容后集群中节点的总数是否达到上限,本申请实施例不作任何限定。上限是预先设置的一个值。
步骤S504:在扩容节点达到上限的情况下,结束扩容操作。
步骤S505:在扩容节点未达到上限的情况下,创建节点并将创建的节点加入集群。
在一种可能的实现方式中,在集群为基于华为云创建的集群的情况下,可以通过华为云提供的软件开发工具包(Software Development Kit,SDK)调用创建节点接口,在接口参数中预置节点加入集群的命令来实现。节点创建完成后可自行完成注册操作,将创建的节点加入集群中。通过扩容操作加入集群的节点被标记为CA节点。
在一种可能的实现方式中,一次扩容操作中创建节点集群的个数可以是一个也可以是多个,根据每个节点提供的物理资源量以及资源需求量确定。
在一种可能的实现方式中,循环检测节点创建的状态,在节点正常加入集群或者扩容操作超过预设时长的情况下,结束扩容操作。
需要说明的是,检测到扩容操作超过预设时长一般是因为创建节点时间过长导致,但由于创建节点时配置了初始化脚本,最终节点会完成注册加入集群。也就是说,结束扩容操作是指此次结束扩容结果的检测,并不影响完成扩容的最终结果。
需要说明的是,物理资源的扩容和缩容通过在集群中增加节点和在集群中删除节点实现。
下面结合附图介绍本申请实施例涉及的装置。
请参见图6,为本申请实施例提供的一种资源管理装置的组成示意图。资源管理装置600包括:
获取资源需求量模块601,用于获取至少一个用户终端对应的资源需求量;所述资源需求量用于表征所述至少一个用户终端执行各自的任务所需的物理资源的多少;
缩容模块602,用于在确定所述至少一个用户终端对应的资源需求量小于所述资源池中的可用物理资源量的情况下,根据目标预留值对所述资源池中的物理资源进行缩容;所述目标预留值用于指示为所述资源池分配的物理资源的最小限制。
可选的,资源管理装置600还包括:
扩容模块603,用于在所述主设备确定所述至少一个用户终端对应的资源需求量大于或者等于所述资源池中的可用物理资源量的情况下,根据目标上限值对所述资源池中的物理资源进行扩容;所述目标上限值用于指示为所述资源池分配的物理资源的最大限制。
可选的,资源管理装置600还包括:
训练目标模型模块604,用于通过至少一个样本数据训练目标模型,所述样本数据包括历史资源需求量和所述主设备响应所述历史资源需求量时所述资源池中的可用物理资源量;
处理模块605,用于根据所述目标模型确定所述目标预留值;或者,
还用于根据所述目标模型确定所述目标上限值。
可选的,所述物理资源包括CPU资源、网络资源、内存资源中的至少一种。
其中,资源管理装置600的具体实现功能方式可以参见图2-图5对应的方法步骤,此处不再进行任何赘述。
请参见图7,为本申请实施例提供的一种电子设备的组成示意图。
电子设备100可包括:处理器110、存储器120;其中,处理器110、存储器120和通信接口130通过总线140连接,该存储器120用于存储指令,该处理器110用于执行该存储器120存储的指令,以实现如上图2-图5对应的方法步骤。
处理器110用于执行该存储器120存储的指令,以控制通信接口130接收和发送信号,完成上述方法中的步骤。其中,所述存储器120可以集成在所述处理器110中,也可以与所述处理器110分开设置。
作为一种实现方式,通信接口130的功能可以考虑通过收发电路或者收发的专用芯片实现。处理器110可以考虑通过专用处理芯片、处理电路、处理器或者通用芯片实现。
作为另一种实现方式,可以考虑使用通用计算机的方式来实现本申请实施例提供的电子设备。即将实现处理器110,通信接口130功能的程序代码存储在存储器120中,通用处理器通过执行存储器120中的代码来实现处理器110,通信接口130的功能。
该终端所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于装置执行的方法步骤的内容的描述,此处不做赘述。
作为本实施例的另一种实现方式,提供一种计算机可读存储介质,其上存储有指令,该指令被执行时执行上述方法实施例中的方法。
作为本实施例的另一种实现方式,提供一种包含指令的计算机程序产品,该指令被执行时执行上述方法实施例中的方法。
本领域技术人员可以理解,为了便于说明,图7中仅示出了一个存储器和处理器。在实际的电子设备中,可以存在多个处理器和存储器。存储器也可以称为存储介质或者存储设备等,本申请实施例对此不做限制。
应理解,在本申请实施例中,处理器可以是中央处理单元(Central ProcessingUnit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,简称ROM)、可编程只读存储器(Programmable ROM,简称PROM)、可擦除可编程只读存储器(Erasable PROM,简称EPROM)、电可擦除可编程只读存储器(Electrically EPROM,简称EEPROM)或闪存。易失性存储器可以是随机存取存储器(RandomAccess Memory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,简称SRAM)、动态随机存取存储器(Dynamic RAM,简称DRAM)、同步动态随机存取存储器(Synchronous DRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,简称DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,简称ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,简称DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
该总线除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block,简称ILB)和步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种资源管理方法,其特征在于,所述方法应用于集群中的主设备,所述集群设置有资源池;所述方法包括:
所述主设备获取至少一个用户终端对应的资源需求量;所述资源需求量用于表征所述至少一个用户终端执行各自的任务所需的物理资源的多少;
在所述主设备确定所述至少一个用户终端对应的资源需求量小于所述资源池中的可用物理资源量的情况下,根据目标预留值对所述资源池中的物理资源进行缩容;所述目标预留值用于指示为所述资源池分配的物理资源的最小限制。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述主设备确定所述至少一个用户终端对应的资源需求量大于或者等于所述资源池中的可用物理资源量的情况下,根据目标上限值对所述资源池中的物理资源进行扩容;所述目标上限值用于指示为所述资源池分配的物理资源的最大限制。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
通过至少一个样本数据训练目标模型,所述样本数据包括历史资源需求量和所述主设备响应所述历史资源需求量时所述资源池中的可用物理资源量;
根据所述目标模型确定所述目标预留值;或者,
根据所述目标模型确定所述目标上限值。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述物理资源包括CPU资源、网络资源、内存资源中的至少一种。
5.一种资源管理装置,其特征在于,所述装置应用于集群中的主设备,所述集群设置有资源池;所述装置包括:
获取资源需求量模块,用于获取至少一个用户终端对应的资源需求量;所述资源需求量用于表征所述至少一个用户终端执行各自的任务所需的物理资源的多少;
缩容模块,用于在确定所述至少一个用户终端对应的资源需求量小于所述资源池中的可用物理资源量的情况下,根据目标预留值对所述资源池中的物理资源进行缩容;所述目标预留值用于指示为所述资源池分配的物理资源的最小限制。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
扩容模块,用于在所述主设备确定所述至少一个用户终端对应的资源需求量大于或者等于所述资源池中的可用物理资源量的情况下,根据目标上限值对所述资源池中的物理资源进行扩容;所述目标上限值用于指示为所述资源池分配的物理资源的最大限制。
7.根据权利要求5或6所述的装置,其特征在于,所述装置还包括:
训练目标模型模块,用于通过至少一个样本数据训练目标模型,所述样本数据包括历史资源需求量和所述主设备响应所述历史资源需求量时所述资源池中的可用物理资源量;
处理模块,用于根据所述目标模型确定所述目标预留值;或者,
还用于根据所述目标模型确定所述目标上限值。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述物理资源包括CPU资源、网络资源、内存资源中的至少一种。
9.一种电子设备,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-4任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110910265.5A CN113760543A (zh) | 2021-08-09 | 2021-08-09 | 资源管理方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110910265.5A CN113760543A (zh) | 2021-08-09 | 2021-08-09 | 资源管理方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113760543A true CN113760543A (zh) | 2021-12-07 |
Family
ID=78788840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110910265.5A Pending CN113760543A (zh) | 2021-08-09 | 2021-08-09 | 资源管理方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113760543A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884969A (zh) * | 2022-04-28 | 2022-08-09 | 远景智能国际私人投资有限公司 | 集群实例的数量调控方法、装置、终端及存储介质 |
WO2024051267A1 (zh) * | 2022-09-07 | 2024-03-14 | 华为云计算技术有限公司 | 一种容量管理方法及相关系统 |
CN117785486A (zh) * | 2024-02-27 | 2024-03-29 | 融科联创(天津)信息技术有限公司 | 环境资源调配方法、装置、设备和介质 |
-
2021
- 2021-08-09 CN CN202110910265.5A patent/CN113760543A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884969A (zh) * | 2022-04-28 | 2022-08-09 | 远景智能国际私人投资有限公司 | 集群实例的数量调控方法、装置、终端及存储介质 |
WO2024051267A1 (zh) * | 2022-09-07 | 2024-03-14 | 华为云计算技术有限公司 | 一种容量管理方法及相关系统 |
CN117785486A (zh) * | 2024-02-27 | 2024-03-29 | 融科联创(天津)信息技术有限公司 | 环境资源调配方法、装置、设备和介质 |
CN117785486B (zh) * | 2024-02-27 | 2024-05-24 | 融科联创(天津)信息技术有限公司 | 环境资源调配方法、装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9760396B2 (en) | Managing a server template | |
CN113760543A (zh) | 资源管理方法、装置、电子设备及计算机可读存储介质 | |
CN115328663B (zh) | 基于PaaS平台进行资源调度的方法、装置、设备和存储介质 | |
CN111625316A (zh) | 一种环境部署方法、装置及电子设备和存储介质 | |
US8544012B2 (en) | Changing a scheduler in a virtual machine monitor | |
CN111104208B (zh) | 进程调度管理方法、装置、计算机设备及存储介质 | |
CN109688191B (zh) | 流量调度方法及通信装置 | |
CN109800083B (zh) | 一种微服务协同调用的方法、装置、系统及存储介质 | |
JP2014520346A5 (zh) | ||
US20120254355A1 (en) | System and method for migrating an application | |
CN109417488A (zh) | 虚拟网络功能资源管理的方法和设备 | |
US20180157557A1 (en) | Determining reboot time after system update | |
CN113010265A (zh) | Pod的调度方法、调度器、存储插件及系统 | |
CN111104227A (zh) | 一种K8s平台的资源控制方法、装置及相关组件 | |
CN112242920A (zh) | 一种云平台部署方法、装置及节点 | |
CN115686805A (zh) | Gpu资源共享的方法和装置、调度gpu资源共享的方法和装置 | |
EP3633507B1 (en) | Technologies for secure and efficient native code invocation for firmware services | |
CN113590313B (zh) | 负载均衡方法、装置、存储介质和计算设备 | |
CN106775608B (zh) | 独立系统进程的实现方法和装置 | |
CN104281587A (zh) | 一种建立连接的方法及装置 | |
US11656888B2 (en) | Performing an application snapshot using process virtual machine resources | |
CN116382713A (zh) | 构建应用镜像的方法、系统、设备和存储介质 | |
CN115016862A (zh) | 基于Kubernetes集群的软件启动方法、装置、服务器及存储介质 | |
CN107562510B (zh) | 一种应用实例的管理方法及管理设备 | |
CN114827177A (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 |