CN115061813A - 集群资源的管理方法、装置、设备及介质 - Google Patents
集群资源的管理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115061813A CN115061813A CN202210664286.8A CN202210664286A CN115061813A CN 115061813 A CN115061813 A CN 115061813A CN 202210664286 A CN202210664286 A CN 202210664286A CN 115061813 A CN115061813 A CN 115061813A
- Authority
- CN
- China
- Prior art keywords
- resource
- amount
- actual
- cluster
- resources
- 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/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
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
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
技术领域
本申请涉及计算机技术领域,特别涉及一种集群资源的管理方法、装置、设备及介质。
背景技术
容器技术是一种实现服务器资源共享的技术,容器技术可以在按需构建容器技术的操作系统的过程中,为技术人员提供极大的灵活性。
相关技术使用Kubernetes容器平台为集群资源中的节点提供管理,同时Kubernetes容器平台还会提供集群资源的资源使用率,当资源使用率达到阈值时,由技术人员手动增加节点数量,以便分摊业务流量。
在业务高峰期,相关技术具有滞后性,无法及时调整节点数量,会影响Kubernetes容器平台的稳定性和集群资源的稳定性。
发明内容
本申请实施例提供了一种集群资源的管理方法、装置、设备及介质,该方法能够根据集群资源的资源实际使用量来选择执行目标执行策略,调整集群资源的节点数量,增加集群的稳定性。所述技术方案如下:
根据本申请的一个方面,提供了一种集群资源的管理方法,该方法包括:
获取所述集群资源的资源理论使用量和资源实际使用量;
根据所述资源理论使用量,确定所述集群资源的划分阈值和候选执行策略之间的关系,所述候选执行策略用于管理所述集群资源的节点;
根据所述资源实际使用量和所述划分阈值之间的关系,从所述候选执行策略中确定与所述资源实际使用量对应的目标执行策略。
根据本申请的另一个方面,提供了一种集群资源的管理装置,该装置包括:
获取模块,用于获取所述集群资源的资源理论使用量和资源实际使用量;
确定模块,用于根据所述资源理论使用量,确定所述集群资源的划分阈值和候选执行策略之间的关系,所述候选执行策略用于管理所述集群资源的节点;
选择模块,用于根据所述资源实际使用量和所述划分阈值之间的关系,从所述候选执行策略中确定与所述资源实际使用量对应的目标执行策略。
在本申请的一个可选设计中,所述选择模块,还用于根据所述资源实际使用量和所述划分阈值之间的关系,调整所述集群资源的节点数量。
在本申请的一个可选设计中,所述选择模块,还用于在所述CPU实际使用量大于第一CPU划分阈值或所述内存实际使用量大于第一内存划分阈值或所述硬盘实际使用量大于第一硬盘划分阈值的情况下,注册所述新建节点;设置所述新建节点的所述节点类型、所述资源大小和所述节点归属中的至少一种;记录所述新建节点的新建结果。
在本申请的一个可选设计中,所述选择模块,还用于在所述CPU实际使用量小于第二CPU划分阈值或所述内存实际使用量小于第二内存划分阈值或所述硬盘实际使用量小于第二硬盘划分阈值的情况下,删除多余节点,并删除所述多余节点对应的节点信息;其中,所述第二CPU划分阈值小于第一CPU划分阈值,所述第二内存划分阈值小于第一内存划分阈值,所述第二硬盘划分阈值小于第一内存划分阈值。
在本申请的一个可选设计中,所述获取模块,还用于从应用程序接口API服务器中获取所述集群资源中各个节点的静态资源,所述静态资源包括请求资源和限制资源;计算所述各个节点的请求资源的和,得到所述请求资源总量;计算所述各个节点的限制资源的和,得到所述限制资源总量。
在本申请的一个可选设计中,所述获取模块,还用于根据所述CPU请求总量,设置所述集群资源的第一CPU划分阈值和所述候选执行策略之间的关系;根据所述CPU限制总量,设置所述集群资源的第二CPU划分阈值和所述候选执行策略之间的关系。
在本申请的一个可选设计中,所述确定模块,还用于根据所述内存请求总量,设置所述集群资源的第一内存划分阈值和所述候选执行策略之间的关系;根据所述内存限制总量,设置所述集群资源的第二内存划分阈值和所述候选执行策略之间的关系。
在本申请的一个可选设计中,所述确定模块,还用于根据所述硬盘请求总量,设置所述集群资源的第一硬盘划分阈值和所述候选执行策略之间的关系;根据所述硬盘限制总量,设置所述集群资源的第二硬盘划分阈值和所述候选执行策略之间的关系。
在本申请的一个可选设计中,所述获取模块,还用于调用外部监控系统获取所述集群资源中各个节点的CPU实际使用量、内存实际使用量和硬盘实际使用量;计算所述各个节点的CPU实际使用量的和,得到所述CPU实际使用总量;计算所述各个节点的内存实际使用量的和,得到所述内存实际使用量;计算所述各个节点的硬盘实际使用量的和,得到所述硬盘实际使用总量。
在本申请的一个可选设计中,所述装置还包括:设置模块;
所述设置模块,用于设置资源管理控制器和集群扩缩控制器,所述资源管理控制器用于提供所述资源集群的查看入口,所述集群扩缩控制器用于管理所述集群资源进行自动扩容或自动缩容。
根据本申请的另一方面,提供了一种计算机设备,该计算机设备包括:处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上方面所述的集群资源的管理方法。
根据本申请的另一方面,提供了一种计算机存储介质,计算机可读存储介质中存储有至少一条程序代码,程序代码由处理器加载并执行以实现如上方面所述的集群资源的管理方法。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,上述计算机程序产品或计算机程序包括计算机指令,上述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从上述计算机可读存储介质读取上述计算机指令,上述处理器执行上述计算机指令,使得上述计算机设备执行如上方面所述的集群资源的管理方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过集群资源的资源理论使用量设置候选执行策略和划分阈值,并由资源实际使用量和划分阈值之间的关系,确定需要执行的目标执行策略,实现对集群资源的管理,可以增加集群资源的稳定性以及增加业务运行的稳定性,减少集群资源的浪费。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的计算机系统的结构示意图;
图2是本申请一个示例性实施例提供的Kubernetes管理节点的示意图;
图3是本申请一个示例性实施例提供的集群资源的管理方法的流程示意图;
图4是本申请一个示例性实施例提供的获取方法的示意图;
图5是本申请一个示例性实施例提供的集群资源的管理装置的结构示意图;
图6是本申请一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行介绍:
集群资源:指计算机集群的资源。计算机集群是一种计算机系统,计算机集群通过一组松散集成的计算机软件或硬件连接起来高度紧密地协作完成计算工作。
容器(Container):是指计算机设备中与系统其他部分隔离的应用进程。容器内的应用进程使用同一个操作系统内核。不同容器的应用进程是相互独立运行的。
Kubernetes:是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制。在Kubernetes中,可以预先创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问。
pod:是在Kubernetes中可创建和管理的最小可部署计算单元。Kubernetes会将一个或多个容器封装到pod中。同一个pod中的所有容器都将共享相同的名称空间和本地网络,使得容器可以很容易地与其他容器在相同的Pod中进行通信。
CHNA(Cluster Horizontal Node Autoscaler,群集水平节点自动缩放器):在Kubernetes中,CHNA用于动态调整集群中节点的规模,CHNA可以实现集群整体扩缩容,评估计算扩容节点,模拟调度,计算缩容节点,节点的增删操作等。
Prometheus:是一个开源系统监控和警报工具包,可以实现网络监控、服务监控、中间件监控和应用程序监控中的至少一种。
VM(Virtual Machine,虚拟机):通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。
图1示出了本申请实施例提供的计算机系统的结构示意图。计算机系统100包括:Kubernetes平台101、Iaas API(Infrastructure as a Service ApplicationProgramming Interface,基础设施即服务应用接口)102、CHNA(Cluster Horizontal NodeAutoscaler,群集水平节点自动缩放)控制器103和API(Application ProgrammingInterface,应用程序接口服务器)服务器104。
Kubernetes平台101用于管理集群资源中的节点。可选地,集群资源中的节点是由虚拟机构成的,每个节点包括一个或多个容器,每个容器内运行有一个或多个程序。
Iaas API102用于创建或删除VM105。
CHAN控制器103用于创建或删除集群资源中的节点。当需要在Kubernetes平台101中创建节点时,CHAN控制器103调用Iaas API102,通过Iaas API102创建VM105,在VM104被创建后,CHAN控制器103会对VM105进行配置,配置VM105的中央处理器CPU、内存和硬盘,将VM105作为节点注册到Kubernetes平台101中。当需要删除Kubernetes平台101中的节点时,CHAN控制器103调用Iaas API102,通过Iaas API102删除VM105,并由CHAN控制器103删除Kubernetes平台101中的节点以及相关的节点信息。
API服务器104向CHNA控制器103提供集群资源使用率以及集群资源的相关信息,还会向CHNA控制器103提供集群资源的节点的扩缩容策略,CHNA控制器103根据集群资源使用率、集群资源的相关信息和集群资源的节点的扩缩容策略,确定创建或删除集群资源中的节点。API服务器104包括CRM(Custom Resource Manager,自定义资源管理器)和CHNA,其中,CRM用于存储和管理集群资源使用率以及集群资源的相关信息,CHNA用于制定和存储集群资源的节点的扩缩容策略。
在一个具体的实现方式中,如图2所示,IaaS203向Kubernetes平台101提供节点和节点信息,其中,节点归属包括Azure(Windows Azure Microsoft Azure,是微软基于云计算的操作系统)、VMvare(一种常见的虚拟机)、AWS(Amazon Web Services,亚马逊公司的云计算计算平台服务)和OpenStack(一个开源的云计算管理平台项目,是一系列软件开源项目的组合)中的至少一种。CHNA102从Kubernetes平台101和IaaS203中获取集群资源使用率以及集群资源的相关信息,并制定集群资源的节点的扩缩容策略。
图3示出了本申请一个示例性实施例提供的集群资源的管理方法的流程示意图。该方法可由图1所示的计算机系统100执行,该方法包括以下步骤:
步骤302:获取集群资源的资源理论使用量和资源实际使用量。
资源理论使用量包括请求资源总量和限制资源总量中的至少一种。
在一种可选的实现方式中,从应用程序接口API服务器中获取集群资源中各个节点的静态资源,静态资源包括请求资源和限制资源;计算各个节点的请求资源的和,得到请求资源总量;计算各个节点的限制资源的和,得到限制资源总量。
请求资源总量指集群资源的容器预期所需要的资源量。请求资源总量包括CPU请求总量、内存请求总量和硬盘请求总量中的至少一种。可选地,获取集群资源中各个节点的CPU请求量;计算各个节点的CPU请求量的和,得到CPU请求总量。可选地,获取集群资源中各个节点的内存请求量;计算各个节点的内存请求量的和,得到内存请求总量。可选地,获取集群资源中各个节点的硬盘请求量;计算各个节点的硬盘请求量的和,得到硬盘请求总量。
限制资源总量指集群资源的容器所需资源量的最大值。其中,请求资源总量包括CPU限制总量、内存限制总量和硬盘限制总量中的至少一种。可选地,获取集群资源中各个节点的CPU限制量;计算各个节点的CPU限制量的和,得到CPU限制总量。可选地,获取集群资源中各个节点的内存限制量;计算各个节点的内存限制量的和,得到内存限制总量。可选地,获取集群资源中各个节点的硬盘限制量;计算各个节点的硬盘限制量的和,得到硬盘限制总量。
示例性的,以CPU为例,CPU请求总量为一核,CPU限制总量为四核,即运行容器A预期运行需要占用一核,而容器A在运行时至多占用四核。
资源实际使用量包括CPU实际使用量、内存实际使用量和硬盘实际使用量中的至少一种。
CPU实际使用量指集群资源实际使用的CPU量。
内存实际使用量指集群资源实际使用的内存量。
硬盘实际使用量指集群资源实际使用的硬盘量。
在本申请的一种可选实现方式中,调用外部监控系统获取集群资源中各个节点的CPU实际使用量、内存实际使用量和硬盘实际使用量;计算各个节点的CPU实际使用量的和,得到CPU实际使用总量;计算各个节点的内存实际使用量的和,得到内存实际使用量;计算各个节点的硬盘实际使用量的和,得到硬盘实际使用总量。
示例性的,如图4所示,CRM控制器401从API服务器404中获取请求资源总量和限制资源总量。CRM控制器401从promtheus403中获取CPU实际使用量、内存实际使用量和硬盘实际使用量。CRM控制器401将获取到的请求资源总量、限制资源总量、CPU实际使用量、内存实际使用量和硬盘实际使用量发送到CRM402中。
可选地,在本步骤之前,设置资源管理控制器和集群扩缩控制器,资源管理控制器用于提供资源集群的查看入口,集群扩缩控制器用于管理集群资源进行自动扩容或自动缩容。
步骤304:根据资源理论使用量,确定集群资源的划分阈值和候选执行策略之间的关系,候选执行策略用于管理集群资源的节点。
划分阈值包括CPU划分阈值、内存划分阈值和硬盘划分阈值。
候选执行策略可由技术人员自行设置。候选执行策略包括增加集群资源的节点数量、减少集群资源的节点数量、修改已有节点的属性中的至少一种。
示例性的,在资源理论使用量包括请求资源总量和限制资源总量的情况下,请求资源总量包括CPU请求总量,限制资源总量包括CPU限制总量。则该步骤包括以下子步骤:
1、根据CPU请求总量,设置集群资源的第一CPU划分阈值和候选执行策略之间的关系。
可选地,第一CPU划分阈值小于CPU请求总量。
示例性的,假设CPU请求总量为一核,则将第一CPU划分阈值设置为0.5核,将候选执行策略设置为减少集群资源的节点。当CPU实际使用量小于第一CPU划分阈值时,说明容器实际需要的CPU量小于CPU请求总量,可以减少集群资源的节点。
2、根据CPU限制总量,设置集群资源的第二CPU划分阈值和候选执行策略之间的关系。
其中,第二CPU划分阈值小于第一CPU划分阈值。
可选地,第二CPU划分阈值小于CPU限制总量。第二CPU划分阈值略小于CPU限制总量。
示例性的,假设CPU限制总量为五核,则将第二CPU划分阈值设置为4.5核,将候选执行策略设置为增加集群资源的节点。当CPU实际使用量大于第二CPU划分阈值时,说明容器需要的CPU量可能不足,需要增加集群资源的节点。
示例性的,在资源理论使用量包括请求资源总量和限制资源总量的情况下,请求资源总量包括内存请求总量,限制资源总量包括内存限制总量。则该步骤包括以下子步骤:
1、根据内存请求总量,设置集群资源的第一内存划分阈值和候选执行策略之间的关系。
其中,第二内存划分阈值小于第一内存划分阈值。
可选地,第一内存划分阈值小于内存请求总量。
示例性的,假设内存请求总量为100MB(Mbyte,兆),则将第一内存划分阈值设置为60MB,将候选执行策略设置为减少集群资源的节点。当内存实际使用量小于第一内存划分阈值时,说明容器实际需要的内存量小于内存请求总量,可以减少集群资源的节点。
2、根据内存限制总量,设置集群资源的第二内存划分阈值和候选执行策略之间的关系。
可选地,第二内存划分阈值小于内存限制总量。第二内存划分阈值略小于内存限制总量。
示例性的,假设内存限制总量为1500MB,则将第二内存划分阈值设置为1400MB,将候选执行策略设置为增加集群资源的节点。当内存实际使用量大于第二内存划分阈值时,说明容器需要的内存量可能不足,需要增加集群资源的节点。
示例性的,在资源理论使用量包括请求资源总量和限制资源总量的情况下,请求资源总量包括硬盘请求总量,限制资源总量包括硬盘限制总量。
1、根据硬盘请求总量,设置集群资源的第一硬盘划分阈值和候选执行策略之间的关系。
其中,第二硬盘划分阈值小于第一硬盘划分阈值。
示例性的,假设硬盘请求总量为2GB(GigaByte,十亿字节),则将第一硬盘划分阈值设置为1GB,将候选执行策略设置为减少集群资源的节点。当内存实际使用量小于第一内存划分阈值时,说明容器实际需要的硬盘量小于硬盘请求总量,可以减少集群资源的节点。
2、根据硬盘限制总量,设置集群资源的第二硬盘划分阈值和候选执行策略之间的关系。
可选地,第二硬盘划分阈值小于硬盘限制总量。第二硬盘划分阈值略小于硬盘限制总量。
示例性的,假设硬盘限制总量为5GB,则将第二硬盘划分阈值设置为4.8GB,将候选执行策略设置为增加集群资源的节点。当硬盘实际使用量大于第二硬盘划分阈值时,说明容器需要的硬盘量可能不足,需要增加集群资源的节点。
步骤306:根据资源实际使用量和划分阈值之间的关系,从候选执行策略中确定与资源实际使用量对应的目标执行策略。
在本申请实施例中,目标执行策略包括调整集群资源的节点数量,则该步骤可替换为根据资源实际使用量和划分阈值之间的关系,调整集群资源的节点数量。
可选地,该方法包括以下子步骤:
1、在CPU实际使用量大于第一CPU划分阈值或内存实际使用量大于第一内存划分阈值或硬盘实际使用量大于第一硬盘划分阈值的情况下,注册新建节点。
示例性的,当新建节点是VM时,CHNA控制器调用IaaS API,在CPU实际使用量大于第一CPU划分阈值或内存实际使用量大于第一内存划分阈值或硬盘实际使用量大于第一硬盘划分阈值的情况下,进行VM的创建。
2、设置新建节点的节点类型、资源大小和节点归属中的至少一种。
可选地,节点类型包括普通节点、计算密集型节点和GPU(Graphics ProcessingUnit,图形处理器)节点中的至少一种。
可选地,资源大小包括CPU数量、内存大小和硬盘大小中的至少一种。
可选地,节点归属包括Azure,VMware和AWS中的至少一种。
3、记录新建节点的新建结果。
示例性的,将新建结果记录在CHNA中,通过Kubernete的接口进行统一管理。
可选地,在CPU实际使用量小于第二CPU划分阈值或内存实际使用量小于第二内存划分阈值或硬盘实际使用量小于第二硬盘划分阈值的情况下,删除多余节点,并删除多余节点对应的节点信息。其中,第二CPU划分阈值小于第一CPU划分阈值,第二内存划分阈值小于第一内存划分阈值,第二硬盘划分阈值小于第一内存划分阈值。
示例性的,当多余节点是VM时,在CPU实际使用量小于第二CPU划分阈值或内存实际使用量小于第二内存划分阈值或硬盘实际使用量小于第二硬盘划分阈值的情况下,CHNA控制器调用IaaS API,实现VM的删除。
综上所述,本实施例通过集群资源的资源理论使用量设置候选执行策略和划分阈值,并由资源实际使用量和划分阈值之间的关系,确定需要执行的目标执行策略,实现对集群资源的管理,可以增加集群资源的稳定性以及增加业务运行的稳定性,减少集群资源的浪费。
下面为本申请的装置实施例,对于装置实施例中未详细描述的细节,可以结合参考上述方法实施例中相应的记载,本文不再赘述。
图5示出了本申请的一个示例性实施例提供的集群资源的管理装置的结构示意图。该装置可以通过软件、硬件或者两者的结合实现成为计算机设备的全部或一部分,该装置500包括:
获取模块501,用于获取所述集群资源的资源理论使用量和资源实际使用量;
确定模块502,用于根据所述资源理论使用量,确定所述集群资源的划分阈值和候选执行策略之间的关系,所述候选执行策略用于管理所述集群资源的节点;
选择模块503,用于根据所述资源实际使用量和所述划分阈值之间的关系,从所述候选执行策略中确定与所述资源实际使用量对应的目标执行策略。
在本申请的一个可选设计中,所述选择模块503,还用于根据所述资源实际使用量和所述划分阈值之间的关系,调整所述集群资源的节点数量。
在本申请的一个可选设计中,所述选择模块503,还用于在所述CPU实际使用量大于第一CPU划分阈值或所述内存实际使用量大于第一内存划分阈值或所述硬盘实际使用量大于第一硬盘划分阈值的情况下,注册所述新建节点;设置所述新建节点的所述节点类型、所述资源大小和所述节点归属中的至少一种;记录所述新建节点的新建结果。
在本申请的一个可选设计中,所述选择模块503,还用于在所述CPU实际使用量小于第二CPU划分阈值或所述内存实际使用量小于第二内存划分阈值或所述硬盘实际使用量小于第二硬盘划分阈值的情况下,删除多余节点,并删除所述多余节点对应的节点信息;其中,所述第二CPU划分阈值小于第一CPU划分阈值,所述第二内存划分阈值小于第一内存划分阈值,所述第二硬盘划分阈值小于第一内存划分阈值。
在本申请的一个可选设计中,所述获取模块501,还用于从应用程序接口API服务器中获取所述集群资源中各个节点的静态资源,所述静态资源包括请求资源和限制资源;计算所述各个节点的请求资源的和,得到所述请求资源总量;计算所述各个节点的限制资源的和,得到所述限制资源总量。
在本申请的一个可选设计中,所述获取模块501,还用于根据所述CPU请求总量,设置所述集群资源的第一CPU划分阈值和所述候选执行策略之间的关系;根据所述CPU限制总量,设置所述集群资源的第二CPU划分阈值和所述候选执行策略之间的关系。
在本申请的一个可选设计中,所述确定模块502,还用于根据所述内存请求总量,设置所述集群资源的第一内存划分阈值和所述候选执行策略之间的关系;根据所述内存限制总量,设置所述集群资源的第二内存划分阈值和所述候选执行策略之间的关系。
在本申请的一个可选设计中,所述确定模块502,还用于根据所述硬盘请求总量,设置所述集群资源的第一硬盘划分阈值和所述候选执行策略之间的关系;根据所述硬盘限制总量,设置所述集群资源的第二硬盘划分阈值和所述候选执行策略之间的关系。
在本申请的一个可选设计中,所述获取模块501,还用于调用外部监控系统获取所述集群资源中各个节点的CPU实际使用量、内存实际使用量和硬盘实际使用量;计算所述各个节点的CPU实际使用量的和,得到所述CPU实际使用总量;计算所述各个节点的内存实际使用量的和,得到所述内存实际使用量;计算所述各个节点的硬盘实际使用量的和,得到所述硬盘实际使用总量。
在本申请的一个可选设计中,所述装置还包括:设置模块504;
所述设置模块504,用于设置资源管理控制器和集群扩缩控制器,所述资源管理控制器用于提供所述资源集群的查看入口,所述集群扩缩控制器用于管理所述集群资源进行自动扩容或自动缩容。
综上所述,本实施例通过集群资源的资源理论使用量设置候选执行策略和划分阈值,并由资源实际使用量和划分阈值之间的关系,确定需要执行的目标执行策略,实现对集群资源的管理,可以增加集群资源的稳定性以及增加业务运行的稳定性,减少集群资源的浪费。
图6是根据一示例性实施例示出的一种计算机设备的结构示意图。所述计算机设备600包括中央处理单元(Central Processing Unit,CPU)601、包括随机存取存储器(Random Access Memory,RAM)602和只读存储器(Read-Only Memory,ROM)603的系统存储器604,以及连接系统存储器604和中央处理单元601的系统总线605。所述计算机设备600还包括帮助计算机设备内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)606,和用于存储操作系统613、应用程序614和其他程序模块615的大容量存储设备607。
所述基本输入/输出系统606包括有用于显示信息的显示器608和用于用户输入信息的诸如鼠标、键盘之类的输入设备609。其中所述显示器608和输入设备609都通过连接到系统总线605的输入输出控制器610连接到中央处理单元601。所述基本输入/输出系统606还可以包括输入输出控制器610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器610还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备607通过连接到系统总线605的大容量存储控制器(未示出)连接到中央处理单元601。所述大容量存储设备607及其相关联的计算机设备可读介质为计算机设备600提供非易失性存储。也就是说,所述大容量存储设备607可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机设备可读介质(未示出)。
不失一般性,所述计算机设备可读介质可以包括计算机设备存储介质和通信介质。计算机设备存储介质包括以用于存储诸如计算机设备可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机设备存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable ReadOnly Memory,EPROM)、带电可擦可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,EEPROM),CD-ROM、数字视频光盘(Digital Video Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机设备存储介质不局限于上述几种。上述的系统存储器604和大容量存储设备607可以统称为存储器。
根据本公开的各种实施例,所述计算机设备600还可以通过诸如因特网等网络连接到网络上的远程计算机设备运行。也即计算机设备600可以通过连接在所述系统总线605上的网络接口单元612连接到网络611,或者说,也可以使用网络接口单元612来连接到其他类型的网络或远程计算机设备系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器601通过执行该一个或一个以上程序来实现上述集群资源的管理方法的全部或者部分步骤。
在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述各个方法实施例提供的集群资源的管理方法。
本申请还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方法实施例提供的集群资源的管理方法。
可选地,本申请还提供了一种包含指令的计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行上述各方面所述的集群资源的管理方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种集群资源的管理方法,其特征在于,所述方法包括:
获取所述集群资源的资源理论使用量和资源实际使用量;
根据所述资源理论使用量,确定所述集群资源的划分阈值和候选执行策略之间的关系,所述候选执行策略用于管理所述集群资源的节点;
根据所述资源实际使用量和所述划分阈值之间的关系,从所述候选执行策略中确定与所述资源实际使用量对应的目标执行策略。
2.根据权利要求1所述的方法,其特征在于,所述目标执行策略包括调整所述集群资源的节点数量;
所述根据所述资源实际使用量和所述划分阈值之间的关系,从所述候选执行策略中确定与所述资源实际使用量对应的目标执行策略,包括:
根据所述资源实际使用量和所述划分阈值之间的关系,调整所述集群资源的节点数量。
3.根据权利要求2所述的方法,其特征在于,所述资源实际使用量包括中央处理器CPU实际使用量、内存实际使用量和硬盘实际使用量中的至少一种;所述划分阈值包括CPU划分阈值、内存划分阈值和硬盘划分阈值;
所述根据所述资源实际使用量和所述划分阈值之间的关系,调整所述集群资源的节点数量,包括:
在所述CPU实际使用量大于第一CPU划分阈值或所述内存实际使用量大于第一内存划分阈值或所述硬盘实际使用量大于第一硬盘划分阈值的情况下,注册所述新建节点;
设置所述新建节点的所述节点类型、所述资源大小和所述节点归属中的至少一种;
记录所述新建节点的新建结果。
4.根据权利要求2所述的方法,其特征在于,所述资源实际使用量包括CPU实际使用量、内存实际使用量和硬盘实际使用量中的至少一种;所述划分阈值包括CPU划分阈值、内存划分阈值和硬盘划分阈值;
所述根据所述资源实际使用量和所述划分阈值之间的关系,调整所述集群资源的节点数量,包括:
在所述CPU实际使用量小于第二CPU划分阈值或所述内存实际使用量小于第二内存划分阈值或所述硬盘实际使用量小于第二硬盘划分阈值的情况下,删除多余节点,并删除所述多余节点对应的节点信息;
其中,所述第二CPU划分阈值小于第一CPU划分阈值,所述第二内存划分阈值小于第一内存划分阈值,所述第二硬盘划分阈值小于第一内存划分阈值。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述资源理论使用量包括请求资源总量和限制资源总量;
所述获取所述集群资源的资源理论使用量,包括:
从应用程序接口API服务器中获取所述集群资源中各个节点的静态资源,所述静态资源包括请求资源和限制资源;
计算所述各个节点的请求资源的和,得到所述请求资源总量;
计算所述各个节点的限制资源的和,得到所述限制资源总量。
6.根据权利要求1至4任一项所述的方法,其特征在于,在所述资源理论使用量包括请求资源总量和限制资源总量的情况下,所述请求资源总量包括CPU请求总量,所述限制资源总量包括CPU限制总量;
所述根据所述资源理论使用量,确定所述集群资源的划分阈值和候选执行策略之间的关系,包括:
根据所述CPU请求总量,设置所述集群资源的第一CPU划分阈值和所述候选执行策略之间的关系;
根据所述CPU限制总量,设置所述集群资源的第二CPU划分阈值和所述候选执行策略之间的关系。
7.根据权利要求1至4任一项所述的方法,其特征在于,在所述资源理论使用量包括请求资源总量和限制资源总量的情况下,所述请求资源总量包括内存请求总量,所述限制资源总量包括内存限制总量;
所述根据所述资源理论使用量,确定所述集群资源的划分阈值和候选执行策略之间的关系,包括:
根据所述内存请求总量,设置所述集群资源的第一内存划分阈值和所述候选执行策略之间的关系;
根据所述内存限制总量,设置所述集群资源的第二内存划分阈值和所述候选执行策略之间的关系。
8.根据权利要求1至4任一项所述的方法,其特征在于,在所述资源理论使用量包括请求资源总量和限制资源总量的情况下,所述请求资源总量包括硬盘请求总量,所述限制资源总量包括硬盘限制总量;
所述根据所述资源理论使用量,确定所述集群资源的划分阈值和候选执行策略之间的关系,包括:
根据所述硬盘请求总量,设置所述集群资源的第一硬盘划分阈值和所述候选执行策略之间的关系;
根据所述硬盘限制总量,设置所述集群资源的第二硬盘划分阈值和所述候选执行策略之间的关系。
9.根据权利要求1至4任一项所述的方法,其特征在于,所述资源实际使用总量包括中央处理器CPU实际使用总量、内存实际使用总量和硬盘实际使用总量;
所述获取所述集群资源的资源实际使用总量,包括:
调用外部监控系统获取所述集群资源中各个节点的CPU实际使用量、内存实际使用量和硬盘实际使用量;
计算所述各个节点的CPU实际使用量的和,得到所述CPU实际使用总量;
计算所述各个节点的内存实际使用量的和,得到所述内存实际使用量;
计算所述各个节点的硬盘实际使用量的和,得到所述硬盘实际使用总量。
10.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
设置资源管理控制器和集群扩缩控制器,所述资源管理控制器用于提供所述资源集群的查看入口,所述集群扩缩控制器用于管理所述集群资源进行自动扩容或自动缩容。
11.一种集群资源的管理装置,其特征在于,所述装置包括:
获取模块,用于获取所述集群资源的资源理论使用量和资源实际使用量;
确定模块,用于根据所述资源理论使用量,确定所述集群资源的划分阈值和候选执行策略之间的关系,所述候选执行策略用于管理所述集群资源的节点;
选择模块,用于根据所述资源实际使用量和所述划分阈值之间的关系,从所述候选执行策略中确定与所述资源实际使用量对应的目标执行策略。
12.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至10中任一项所述的集群资源的管理方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如权利要求1至10中任一项所述的集群资源的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210664286.8A CN115061813A (zh) | 2022-06-13 | 2022-06-13 | 集群资源的管理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210664286.8A CN115061813A (zh) | 2022-06-13 | 2022-06-13 | 集群资源的管理方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115061813A true CN115061813A (zh) | 2022-09-16 |
Family
ID=83200839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210664286.8A Pending CN115061813A (zh) | 2022-06-13 | 2022-06-13 | 集群资源的管理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115061813A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116449935A (zh) * | 2023-06-02 | 2023-07-18 | 工业富联(佛山)创新中心有限公司 | 集群节能管理方法、电子设备及计算机存储介质 |
CN118394622A (zh) * | 2024-07-01 | 2024-07-26 | 浙江大华技术股份有限公司 | 集群负载评价方法及电子设备 |
CN118689662A (zh) * | 2024-08-29 | 2024-09-24 | 浙江大华技术股份有限公司 | 基于分布式的资源调整方法、设备以及存储介质 |
-
2022
- 2022-06-13 CN CN202210664286.8A patent/CN115061813A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116449935A (zh) * | 2023-06-02 | 2023-07-18 | 工业富联(佛山)创新中心有限公司 | 集群节能管理方法、电子设备及计算机存储介质 |
CN116449935B (zh) * | 2023-06-02 | 2023-11-21 | 工业富联(佛山)创新中心有限公司 | 集群节能管理方法、电子设备及计算机存储介质 |
CN118394622A (zh) * | 2024-07-01 | 2024-07-26 | 浙江大华技术股份有限公司 | 集群负载评价方法及电子设备 |
CN118689662A (zh) * | 2024-08-29 | 2024-09-24 | 浙江大华技术股份有限公司 | 基于分布式的资源调整方法、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11425194B1 (en) | Dynamically modifying a cluster of computing nodes used for distributed execution of a program | |
US10922269B2 (en) | Proactive optimizations at multi-tier file systems | |
US11263084B2 (en) | Saving program execution state | |
US8321558B1 (en) | Dynamically monitoring and modifying distributed execution of programs | |
US9276987B1 (en) | Identifying nodes already storing indicated input data to perform distributed execution of an indicated program in a node cluster | |
US9826031B2 (en) | Managing distributed execution of programs | |
CN107430528B (zh) | 机会性资源迁移以优化资源放置 | |
US8260840B1 (en) | Dynamic scaling of a cluster of computing nodes used for distributed execution of a program | |
CN115061813A (zh) | 集群资源的管理方法、装置、设备及介质 | |
US10356150B1 (en) | Automated repartitioning of streaming data | |
US10333859B2 (en) | Multi-tenant resource coordination method | |
US20130339956A1 (en) | Computer system and optimal arrangement method of virtual machine in computer system | |
US9397953B2 (en) | Operation managing method for computer system, computer system and computer-readable storage medium having program thereon | |
US8056084B2 (en) | Method and system for dynamically reallocating a resource among operating systems without rebooting of the computer system | |
US20210389990A1 (en) | Computer system and control method for computer system | |
US11750451B2 (en) | Batch manager for complex workflows | |
CN114816665B (zh) | 混合编排系统及超融合架构下虚拟机容器资源混合编排方法 | |
JP2011192049A (ja) | 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム | |
US20220179693A1 (en) | Estimating attributes of running workloads on platforms in a system of multiple platforms as a service | |
US10423398B1 (en) | Automated firmware settings management | |
US20210389994A1 (en) | Automated performance tuning using workload profiling in a distributed computing environment | |
US9471784B1 (en) | Automated firmware settings verification | |
EP4261682A1 (en) | Just-in-time packager build system | |
US20230106318A1 (en) | Automated methods and systems that provide resource recommendations for virtual machines | |
WO2022116738A1 (en) | Optimizing placements of workloads on multiple platforms as a service based on costs and service levels |
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 |