CN111708629A - 一种资源分配方法、装置、电子设备和存储介质 - Google Patents

一种资源分配方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN111708629A
CN111708629A CN202010368086.9A CN202010368086A CN111708629A CN 111708629 A CN111708629 A CN 111708629A CN 202010368086 A CN202010368086 A CN 202010368086A CN 111708629 A CN111708629 A CN 111708629A
Authority
CN
China
Prior art keywords
resource
namespace
cluster
target service
target
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
CN202010368086.9A
Other languages
English (en)
Other versions
CN111708629B (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.)
China Mobile Communications Group Co Ltd
MIGU Culture Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
MIGU Culture 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 China Mobile Communications Group Co Ltd, MIGU Culture Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202010368086.9A priority Critical patent/CN111708629B/zh
Publication of CN111708629A publication Critical patent/CN111708629A/zh
Application granted granted Critical
Publication of CN111708629B publication Critical patent/CN111708629B/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
    • 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
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Abstract

本发明实施例提供了一种资源分配方法、装置、电子设备和存储介质,根据划分集群资源得到的命名空间的属性信息,以及目标服务占用所述集群资源的资源占用信息,确定与所述目标服务匹配的目标命名空间;将所述目标服务由当前所在的命名空间迁移到所述目标命名空间;其中,所述命名空间的属性信息用于表征所述命名空间提供的各项集群资源的资源量;所述资源占用信息根据服务对各项集群资源的占用量确定。根据目标服务对集群资源的需求量,对目标服务所在的命名空间进行调整,使得服务对集群资源的需求量与命名空间提供的集群资源相匹配,实现了集群资源的合理分配。

Description

一种资源分配方法、装置、电子设备和存储介质
技术领域
本发明涉及计算机技术领域,尤其是涉及一种资源分配方法、装置、电子设备和存储介质。
背景技术
集群资源包括了硬件资源和虚拟资源,各类服务通过分配到的集群资源运行。例如,Kubernetes(简称K8S)是一种开源容器集群分配的项目。它的设计目标是在主机集群之间提供一个能够自动化部署、可拓展、应用容器可运营的平台。Kubernetes通常结合docker容器工具工作,并且整合多个运行着docker容器的主机集群。
Namespace(命名空间)是Kubernetes内的概念,同一Namespace下的Kubenetes对象的Name必须唯一。Namespace的属性信息包括Namespace中各pod(容器)提供的额定资源量(即pod的request值)和pod能提供的最大资源量(即pod的limit值)。
现有的方法中,在对服务分配集群资源时,是按照创建服务时服务对集群资源的需求量进行分配的。然而随着服务的发展,服务对集群资源的需求量会发生变化,这就会导致创建服务时所分配的集群资源与现阶段服务对集群资源的需求量不匹配。
发明内容
本发明实施例提供一种资源分配方法、装置、电子设备和存储介质,用以解决现有技术中创建服务时所分配的集群资源与现阶段服务对集群资源的需求量不匹配的问题。
针对以上技术问题,第一方面,本发明实施例提供一种资源分配方法,其特征在于,包括:
根据划分集群资源得到的命名空间的属性信息,以及目标服务占用所述集群资源的资源占用信息,确定与所述目标服务匹配的目标命名空间;
其中,所述命名空间的属性信息用于表征所述命名空间提供的各项集群资源的资源量;所述资源占用信息根据服务对各项集群资源的占用量确定;
将所述目标服务由当前所在的命名空间迁移到所述目标命名空间。
可选地,在根据划分集群资源得到的命名空间的属性信息,以及目标服务占用所述集群资源的资源占用信息,确定与所述目标服务匹配的目标命名空间之前,所述方法还包括:
按照预设划分规则划分集群资源,得到不同的命名空间;
其中,所述预设划分规则包括:使得此次划分得到的命名空间的额定资源量,比当前最大的额定资源量多预设资源量或者比当前最小的额定资源量少所述预设资源量。
可选地,所述根据划分集群资源得到的命名空间的属性信息,以及目标服务占用所述集群资源的资源占用信息,确定与所述目标服务匹配的目标命名空间,包括:
根据任一命名空间的属性信息和所述目标服务的资源占用信息,确定所述目标服务与所述任一命名空间的匹配度;
根据确定的所述目标服务与各命名空间的匹配度,确定所述目标命名空间。
可选地,所述匹配度根据第一匹配度、第二匹配度和第三匹配度中的至少一个确定:
所述第一匹配度根据所述任一命名空间的各项集群资源对应的最大资源量和所述目标服务在预设时长内对各项集群资源的占用量峰值确定;
所述第二匹配度根据所述任一命名空间的各项集群资源对应的额定资源量和所述目标服务在所述预设时长内对各项集群资源的占用量平均值确定;
所述第三匹配度根据所述任一命名空间的各项集群资源对应的最大资源量和额定资源量差值,以及所述目标服务在所述预设时长内对各项集群资源的占用量的变化量确定。
可选地,在所述确定所述目标命名空间之前,所述方法还包括:
根据任一命名空间中各服务的资源占用信息和所述命名空间的属性信息,判断是否存在满足预设调整条件的服务;
若存在满足所述预设调整条件的服务,则将满足所述预设调整条件的服务作为所述目标服务;
其中,所述预设调整条件包括如下条件中的至少一种:
对任一项集群资源的占用量峰值与第一警戒线的差值小于第一阈值;
对任一项集群资源的占用量峰值与第二警戒线的差值小于第二阈值的次数大于第一预设次数;
对任一项集群资源的占用量平均值小于第三警戒线的次数大于第二预设次数;
其中,所述第一警戒线和所述第二警戒线根据所述命名空间提供的集群资源的最大资源量确定;所述第三警戒线根据所述命名空间提供的集群资源的额定资源量确定。
可选地,所述确定所述目标命名空间之前,还包括:
获取所述目标服务所在的任一容器的容器指标,其中,所述容器指标包括所述目标服务在预设时长内对所述任一容器中各项集群资源的占用量平均值、占用量峰值和占用量的变化量;
根据所述目标服务所在的各容器对应的容器指标,确定所述目标服务的资源占用信息。
可选地,所述将所述目标服务由所在的当前命名空间迁移到所述目标命名空间,包括:
在所述目标命名空间的容器中创建所述目标服务后,在所述目标服务当前所在的命名空间中关闭所述目标服务。
第二方面,本发明实施例提供一种资源分配装置,包括:
确定模块,用于根据划分集群资源得到的命名空间的属性信息,以及目标服务占用所述集群资源的资源占用信息,确定与所述目标服务匹配的目标命名空间;
其中,所述命名空间的属性信息用于表征所述命名空间提供的各项集群资源的资源量;所述资源占用信息根据服务对各项集群资源的占用量确定;
迁移模块,用于将所述目标服务由当前所在的命名空间迁移到所述目标命名空间。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以上所述的资源分配方法的步骤。
第四方面,本发明实施例提供一种非暂态可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以上任一项所述的资源分配方法的步骤。
本发明的实施例提供了一种资源分配方法、装置、电子设备和存储介质,根据目标服务对集群资源的资源占用信息和各命名空间的属性信息,从各命名空间中确定所提供的集群资源与该目标服务对集群资源的需求量匹配的目标命名空间,将该目标服务迁移到该目标命名空间。根据目标服务对集群资源的需求量,对目标服务所在的命名空间进行调整,使得服务对集群资源的需求量与命名空间提供的集群资源相匹配,实现了集群资源的合理分配。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的资源分配方法的流程示意图;
图2是本发明另一实施例提供的对Kubernetes划分的命名空间的示意图;
图3是本发明另一实施例提供的资源分配的过程示意图;
图4是本发明另一实施例提供的资源分配装置的结构框图;
图5是本发明另一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供一种资源分配方法,适用于对集群资源进行分配的设备,具体地,可以由该设备相应的功能组件执行该方法。图1为本实施例提供的资源分配方法的流程示意图,参见图1,该方法包括:
步骤101:根据划分集群资源得到的命名空间的属性信息,以及目标服务占用所述集群资源的资源占用信息,确定与所述目标服务匹配的目标命名空间;
其中,所述命名空间的属性信息可以用于表征所述命名空间提供的各项集群资源的资源量;所述资源占用信息可以根据服务对各项集群资源的占用量确定。
具体地,所述命名空间的属性信息可以包括命名空间中的容器提供各项集群资源的额定资源量(即pod的request值)和最大资源量(即pod的limit值)。
具体地,所述服务对各项集群资源的占用量可以包括:服务在预设时长内对各项集群资源的占用量平均值、占用量峰值和占用量的增长量等。
其中,命名空间中的各项集群资源,例如包括:内存、CPU和硬盘资源等集群资源。
步骤102:将所述目标服务由当前所在的命名空间迁移到所述目标命名空间。
其中,命名空间为预先对集群资源进行划分得到的。图2为本实施例提供的对Kubernetes划分的命名空间的示意图,参见图2,命名空间包括集群中的各容器具有相同的额定资源量和最大资源量的运行命名空间(例如,Namespace 1、Namespace 2……Namespace n等),以及对容器提供的额定资源量和最大资源量均不做现在的临时的命名空间(Temporary namespace)。
在本实施例中,目标服务当前所在的命名空间可以是某一运行命名空间,也可以是临时命名空间。例如,当需要新创建某一服务时,可以在临时命名空间中创建该服务,根据该服务在临时命名空间的资源占用信息确定与该服务匹配的目标命名空间。或者对运行在运行命名空间中的服务进行监控,根据服务在运行命名空间的资源占用信息,确定当前与该服务匹配的目标命名空间。从而能够随着服务对集群资源的需求量的变化及时调整服务所在的命名空间。例如,图3为本实施例提供的资源分配的过程示意图,参见图3,该资源分配方法可以由设备中新增的NSProxy组件执行。NSProxy组件初始化的过程中将集群资源划分为不同的命名空间。用户首次创建的服务运行在临时命名空间(如图3中的Temporarynamespace)中,通过临时命名空间获取服务的资源占用信息进而对服务分配合理的运行命名空间。通过时,对运行命名空间中的各服务的资源占用信息进行监控,以便实时调整服务所在的命名空间。
本实施例提供了一种资源分配方法,根据目标服务对集群资源的资源占用信息和各命名空间的属性信息,从各命名空间中确定所提供的集群资源与该目标服务对集群资源的需求量匹配的目标命名空间,将该目标服务迁移到该目标命名空间。根据目标服务对集群资源的需求量,对目标服务所在的命名空间进行调整,使得服务对集群资源的需求量与命名空间提供的集群资源相匹配,实现了集群资源的合理分配。
关于对集群资源划分命名空间,进一步地,在上述实施例的基础上,在根据划分集群资源得到的命名空间的属性信息,以及目标服务占用所述集群资源的资源占用信息,确定与所述目标服务匹配的目标命名空间之前,所述方法还包括:
按照预设划分规则划分集群资源,得到不同的命名空间;
其中,所述预设划分规则包括:使得此次划分得到的命名空间的额定资源量,比当前最大的额定资源量多预设资源量或者比当前最小的额定资源量少所述预设资源量。
其中,在NSProxy组件初始化时,按照预设划分规则划分集群资源,得到不同的命名空间。
其中,预设资源量可以通过较长的时长内,服务对集群资源的需求量的变化量确定。例如,通过较长的时长内的统计,多数服务对集群资源的需求量每次以占用CPU增加1核,占用内存增加10G的资源量增长,则可以设置预设资源量为CPU增加1核,且内存增加10G。可理解的是,预设资源量越小,对集群资源的划分越越精细,越有利于实现集群资源的合理化分配。
本实施例通过预设资源量使得划分的命名空间提供的资源量呈现层级化的梯度增长,这种划分方式有利于为各类服务确定与资源需求量匹配的命名空间。
关于如何确定与目标服务匹配的目标命名空间,进一步地,在上述各实施例的基础上,所述根据划分集群资源得到的命名空间的属性信息,以及目标服务占用所述集群资源的资源占用信息,确定与所述目标服务匹配的目标命名空间,包括:
根据任一命名空间的属性信息和所述目标服务的资源占用信息,确定所述目标服务与所述任一命名空间的匹配度;
根据确定的所述目标服务与各命名空间的匹配度,确定所述目标命名空间。
具体地:可以根据确定的所述目标服务与各命名空间的匹配度,将匹配度最高的命名空间作为所述目标命名空间。
本实施例通过目标服务与各命名空间的匹配度之间的对比,使得确定的目标命名空间所提供的集群资源的资源量与目标服务对集群资源的需求量具有较高的匹配度。
具体地,进一步地,在上述各实施例的基础上,所述匹配度根据第一匹配度、第二匹配度和第三匹配度中的至少一个确定:
所述第一匹配度根据所述任一命名空间的各项集群资源对应的最大资源量和所述目标服务在预设时长内对各项集群资源的占用量峰值确定;
所述第二匹配度根据所述任一命名空间的各项集群资源对应的额定资源量和所述目标服务在所述预设时长内对各项集群资源的占用量平均值确定;
所述第三匹配度根据所述任一命名空间的各项集群资源对应的最大资源量和额定资源量差值,以及所述目标服务在所述预设时长内对各项集群资源的占用量的变化量确定。
具体地,所述匹配度可以仅根据第一匹配度确定、可以仅根据第二匹配度确定、可以仅根据第三匹配度确定、可以根据第一匹配度和第二匹配度的组合确定、可以根据第一匹配度和第三匹配度的组合确定、可以根据第二匹配度和第三匹配度的组合确定,还可以根据第一匹配度、第二匹配度和第三匹配度的组合确定,本实施例对此不做具体限定。
其中,当所述匹配度根据第一匹配度确定时,所述匹配度score可以根据以下公式确定:
Figure BDA0002477199550000081
(第一匹配度i*ai)
其中,当所述匹配度根据第一匹配度和第二匹配度的组合确定时,所述匹配度score可以根据以下公式确定:
Figure BDA0002477199550000082
(第一匹配度i*ai+第二匹配度i*bi)
其中,当所述匹配度根据第一匹配度、第二匹配度和第三匹配度的组合确定时,所述匹配度score可以根据以下公式确定:
Figure BDA0002477199550000083
(第一匹配度i*ai+第二匹配度i*bi+第三匹配度i*ci)
其中,Ai为第i项集群资源对应的权重,n命名空间提供集群资源的总项数;
第一匹配度i为根据所述任一命名空间的第i项集群资源对应的最大资源量和所述目标服务在预设时长内对第i项集群资源的占用量峰值确定的第一匹配度;
第二匹配度i为根据所述任一命名空间的第i项集群资源对应的额定资源量和所述目标服务在所述预设时长内对第i项集群资源的占用量平均值确定的第二匹配度;
第三匹配度i根据所述任一命名空间的第i项集群资源对应的最大资源量和额定资源量差值,以及所述目标服务在所述预设时长内对第i项集群资源的占用量的变化量确定的第三匹配度;
ai、bi和ci分别为对第一匹配度i、第二匹配度i和第三匹配度i确定的权重。
第一匹配度i根据Pi1确定,其中Pi1=|所述任一命名空间的第i项集群资源对应的最大资源量-目标服务在预设时长内对第i项集群资源的占用量峰值|。第一匹配度i与Pi1的值成反比,即Pi1越小,第一匹配度i越大。
第二匹配度i根据Pi2确定,其中Pi2=|所述任一命名空间的第i项集群资源对应的额定资源量-目标服务在预设时长内对第i项集群资源的占用量平均值|。第二匹配度i与Pi2的值成反比,即Pi2越小,第二匹配度i越大。
第三匹配度i根据Pi3确定,其中Pi3=|(所述任一命名空间的第i项集群资源对应的最大资源量-所述任一命名空间的第i项集群资源对应的额定资源量)-目标服务在预设时长内对第i项集群资源的占用量的变化量|。第三匹配度i与Pi3的值成反比,即Pi3越小,第三匹配度i越大。
本实施例通过命名空间提供集群资源的最大资源量和额定资源量,以及目标服务的资源占用量,实现了目标服务与各命名空间匹配度的计算,为命名空间和目标服务的匹配提供了依据。
在确定目标命名空间之前,需要从众多的服务中确定需要进行命名空间迁移的目标服务,进一步地,在上述各实施例的基础上,在所述确定所述目标命名空间之前,所述方法还包括:
根据任一命名空间中各服务的资源占用信息和所述命名空间的属性信息,判断是否存在满足预设调整条件的服务;
若存在满足所述预设调整条件的服务,则将满足所述预设调整条件的服务作为所述目标服务;
其中,所述预设调整条件包括如下条件中的至少一种:
对任一项集群资源的占用量峰值与第一警戒线的差值小于第一阈值;
对任一项集群资源的占用量峰值与第二警戒线的差值小于第二阈值的次数大于第一预设次数;
对任一项集群资源的占用量平均值小于第三警戒线的次数大于第二预设次数;
其中,所述第一警戒线和所述第二警戒线根据所述命名空间提供的集群资源的最大资源量确定;所述第三警戒线根据所述命名空间提供的集群资源的额定资源量确定。
具体地,所述第一警戒线根据命名空间的最大资源量和第一系数确定,所述第二警戒线根据命名空间的最大资源量和第二系数确定。例如,所述第一警戒线等于命名空间的最大资源量和第一系数的乘积,所述第二警戒线等于命名空间的最大资源量和第二系数的乘积。所述第一系数和所述第二系数均为[0,1]之间的值。其中,所述第一系数为10%,所述第二系数为20%。
所述第三警戒线根据命名空间的额定资源量和第三系数确定。其中,所述第三系数为[0,1]之间的值,具体地,所述第三系数等于1。
所述第一预设次数和所述第二预设次数均为7次。
举例来说,对于包括了cpu和内存两项集群资源资源的情况,预设调整条件可以包括如下条件中的至少一种:目标服务在一周内占用cpu或内存的峰值临近limit*10%的这一警戒线;标服务在预一周内占用cpu或内存峰值超过7次临近limit*20%这一警戒线;cpu或内存均值一周内超过7次低于request。
本实施例通过预设调整条件将服务中需要进行命名空间迁移的服务筛选出来,对这些服务及时进行命名空间的调整,实现集群资源的合理化分配。
对于资源占用信息的确定过程,由于命名空间中通常有多个容器运行某一服务,因此进一步地,在上述各实施例的基础上,所述确定所述目标命名空间之前,还包括:
获取所述目标服务所在的任一容器的容器指标,其中,所述容器指标包括所述目标服务在预设时长内对所述任一容器中各项集群资源的占用量平均值、占用量峰值和占用量的变化量;
根据所述目标服务所在的各容器对应的容器指标,确定所述目标服务的资源占用信息。
具体地,根据所述目标服务所在的各容器对应的容器指标,确定所述目标服务的资源占用信息,包括:
对任一项集群资源,根据各容器指标中所述目标服务在预设时长内对该项集群资源的占用量平均值,确定所述目标服务对该项集群资源的占用量平均值;例如,计算各容器指标中占用量平均值的平均值,得到所述目标服务对该项集群资源的占用量平均值。
对任一项集群资源,根据各容器指标中所述目标服务在预设时长内对该项集群资源的占用量分峰值,确定所述目标服务对该项集群资源的占用量分峰值;例如,计算各容器指标中占用量分峰值的平均值,得到所述目标服务对该项集群资源的占用量分峰值。
对任一项集群资源,根据各容器指标中所述目标服务在预设时长内对该项集群资源的占用量的变化量,确定所述目标服务对该项集群资源的占用量的变化量;例如,计算各容器指标中占用量的变化量的平均值,得到所述目标服务对该项集群资源的占用量的变化量。
本实施例通过对容器指标的采集实现了对各服务的资源占用信息的确定。
为了使得对服务进行命名空间迁移的过程中,用户无感知,进一步地,在上述各实施例的基础上,所述将所述目标服务由所在的当前命名空间迁移到所述目标命名空间,包括:
在所述目标命名空间的容器中创建所述目标服务后,在所述目标服务当前所在的命名空间中关闭所述目标服务。
本实施例中,进行命名空间的迁移过程中,对每一容器中的目标服务,均在目标命名空间中创建了该目标服务后,再将原命名空间中的该目标服务关闭,保证命名空间的迁移过程对用户无感知。
举例来说,NSProxy组件为新增组件,用于执行上述各实施例提供的方法。NSProxy组件部署在Kubernetes管理域中,主要用于namespace(命名空间)管理切换、元数据记录、监控数据采集分析、阈值管理等。新建一个Kubernetes集群时,触发NSProxy组件初始化,初始化主要是通过预置或自定义规则对Kubernetes集群的硬件资源按namespace切分;与prometheus(运维监控模块)建立。用户发起新建服务时,原方案API Server中调用Deployment Controller(部署控制器)的restful接口(业务使能接口)实现容器化部署,本案修改API server中调用deployment controller部分,调用地址修改为NSProxy的地址,NSProxy限制用户自定义pod(容器)的request(额定资源量)和limit值(最大资源量),改为读取所在namespace映射的值,NSProxy会将首次创建的容器namespace默认改为Common-namespace(公共命名空间,即临时命名空间),该命名空间为默认命名空间,无硬件配置属性,但该命名空间内的容器默认只能存放7天。NSProxy组件调用prometheus(运维监控模块)接口实时的获取common-namespace中所有容器的metric(容器指标),包括(cpu和内存使用量的周峰值、周均值、增量率等NSProxy组件预置的各项容器指标),根据指标信息匹配合适的namespace(命名空间),NSProxy组件调用Deployment Controller(部署控制器)发起滚动升级执行容器的迁移。
图4为本实施例提供的资源分配装置的结构框图,参见图4,该装置包括确定模块401和迁移模块402,其中,
确定模块401,用于根据划分集群资源得到的命名空间的属性信息,以及目标服务占用所述集群资源的资源占用信息,确定与所述目标服务匹配的目标命名空间;
其中,所述命名空间的属性信息用于表征所述命名空间提供的各项集群资源的资源量;所述资源占用信息根据服务对各项集群资源的占用量确定;
迁移模块402,用于将所述目标服务由当前所在的命名空间迁移到所述目标命名空间。
本实施例提供的资源分配装置适用于上述各实施例提供的资源分配方法,在此不再赘述。
本实施例一种资源分配装置,根据目标服务对集群资源的资源占用信息和各命名空间的属性信息,从各命名空间中确定所提供的集群资源与该目标服务对集群资源的需求量匹配的目标命名空间,将该目标服务迁移到该目标命名空间。根据目标服务对集群资源的需求量,对目标服务所在的命名空间进行调整,使得服务对集群资源的需求量与命名空间提供的集群资源相匹配,实现了集群资源的合理分配。
可选地,在根据划分集群资源得到的命名空间的属性信息,以及目标服务占用所述集群资源的资源占用信息,确定与所述目标服务匹配的目标命名空间之前,所述方法还包括:
按照预设划分规则划分集群资源,得到不同的命名空间;
其中,所述预设划分规则包括:使得此次划分得到的命名空间的额定资源量,比当前最大的额定资源量多预设资源量或者比当前最小的额定资源量少所述预设资源量。
可选地,所述根据划分集群资源得到的命名空间的属性信息,以及目标服务占用所述集群资源的资源占用信息,确定与所述目标服务匹配的目标命名空间,包括:
根据任一命名空间的属性信息和所述目标服务的资源占用信息,确定所述目标服务与所述任一命名空间的匹配度;
根据确定的所述目标服务与各命名空间的匹配度,确定所述目标命名空间。
可选地,所述匹配度根据第一匹配度、第二匹配度和第三匹配度中的至少一个确定:
所述第一匹配度根据所述任一命名空间的各项集群资源对应的最大资源量和所述目标服务在预设时长内对各项集群资源的占用量峰值确定;
所述第二匹配度根据所述任一命名空间的各项集群资源对应的额定资源量和所述目标服务在所述预设时长内对各项集群资源的占用量平均值确定;
所述第三匹配度根据所述任一命名空间的各项集群资源对应的最大资源量和额定资源量差值,以及所述目标服务在所述预设时长内对各项集群资源的占用量的变化量确定。
可选地,在所述确定所述目标命名空间之前,所述方法还包括:
根据任一命名空间中各服务的资源占用信息和所述命名空间的属性信息,判断是否存在满足预设调整条件的服务;
若存在满足所述预设调整条件的服务,则将满足所述预设调整条件的服务作为所述目标服务;
其中,所述预设调整条件包括如下条件中的至少一种:
对任一项集群资源的占用量峰值与第一警戒线的差值小于第一阈值;
对任一项集群资源的占用量峰值与第二警戒线的差值小于第二阈值的次数大于第一预设次数;
对任一项集群资源的占用量平均值小于第三警戒线的次数大于第二预设次数;
其中,所述第一警戒线和所述第二警戒线根据所述命名空间提供的集群资源的最大资源量确定;所述第三警戒线根据所述命名空间提供的集群资源的额定资源量确定。
可选地,所述确定所述目标命名空间之前,还包括:
获取所述目标服务所在的任一容器的容器指标,其中,所述容器指标包括所述目标服务在预设时长内对所述任一容器中各项集群资源的占用量平均值、占用量峰值和占用量的变化量;
根据所述目标服务所在的各容器对应的容器指标,确定所述目标服务的资源占用信息。
可选地,所述将所述目标服务由所在的当前命名空间迁移到所述目标命名空间,包括:
在所述目标命名空间的容器中创建所述目标服务后,在所述目标服务当前所在的命名空间中关闭所述目标服务。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)501、通信接口(Communications Interface)502、存储器(memory)503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。处理器501可以调用存储器503中的逻辑指令,以执行如下方法:根据划分集群资源得到的命名空间的属性信息,以及目标服务占用所述集群资源的资源占用信息,确定与所述目标服务匹配的目标命名空间;其中,所述命名空间的属性信息用于表征所述命名空间提供的各项集群资源的资源量;所述资源占用信息根据服务对各项集群资源的占用量确定;将所述目标服务由当前所在的命名空间迁移到所述目标命名空间。
此外,上述的存储器503中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
进一步地,本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:根据划分集群资源得到的命名空间的属性信息,以及目标服务占用所述集群资源的资源占用信息,确定与所述目标服务匹配的目标命名空间;其中,所述命名空间的属性信息用于表征所述命名空间提供的各项集群资源的资源量;所述资源占用信息根据服务对各项集群资源的占用量确定;将所述目标服务由当前所在的命名空间迁移到所述目标命名空间。
另一方面,本发明实施例还提供一种非暂态可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:根据划分集群资源得到的命名空间的属性信息,以及目标服务占用所述集群资源的资源占用信息,确定与所述目标服务匹配的目标命名空间;其中,所述命名空间的属性信息用于表征所述命名空间提供的各项集群资源的资源量;所述资源占用信息根据服务对各项集群资源的占用量确定;将所述目标服务由当前所在的命名空间迁移到所述目标命名空间。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种资源分配方法,其特征在于,包括:
根据划分集群资源得到的命名空间的属性信息,以及目标服务占用所述集群资源的资源占用信息,确定与所述目标服务匹配的目标命名空间;
其中,所述命名空间的属性信息用于表征所述命名空间提供的各项集群资源的资源量;所述资源占用信息根据服务对各项集群资源的占用量确定;
将所述目标服务由当前所在的命名空间迁移到所述目标命名空间。
2.根据权利要求1所述的资源分配方法,其特征在于,在根据划分集群资源得到的命名空间的属性信息,以及目标服务占用所述集群资源的资源占用信息,确定与所述目标服务匹配的目标命名空间之前,所述方法还包括:
按照预设划分规则划分集群资源,得到不同的命名空间;
其中,所述预设划分规则包括:使得此次划分得到的命名空间的额定资源量,比当前最大的额定资源量多预设资源量或者比当前最小的额定资源量少所述预设资源量。
3.根据权利要求1所述的资源分配方法,其特征在于,所述根据划分集群资源得到的命名空间的属性信息,以及目标服务占用所述集群资源的资源占用信息,确定与所述目标服务匹配的目标命名空间,包括:
根据任一命名空间的属性信息和所述目标服务的资源占用信息,确定所述目标服务与所述任一命名空间的匹配度;
根据确定的所述目标服务与各命名空间的匹配度,确定所述目标命名空间。
4.根据权利要求3所述的资源分配方法,其特征在于,所述匹配度根据第一匹配度、第二匹配度和第三匹配度中的至少一个确定:
所述第一匹配度根据所述任一命名空间的各项集群资源对应的最大资源量和所述目标服务在预设时长内对各项集群资源的占用量峰值确定;
所述第二匹配度根据所述任一命名空间的各项集群资源对应的额定资源量和所述目标服务在所述预设时长内对各项集群资源的占用量平均值确定;
所述第三匹配度根据所述任一命名空间的各项集群资源对应的最大资源量和额定资源量差值,以及所述目标服务在所述预设时长内对各项集群资源的占用量的变化量确定。
5.根据权利要求1所述的资源分配方法,其特征在于,在所述确定所述目标命名空间之前,所述方法还包括:
根据任一命名空间中各服务的资源占用信息和所述命名空间的属性信息,判断是否存在满足预设调整条件的服务;
若存在满足所述预设调整条件的服务,则将满足所述预设调整条件的服务作为所述目标服务;
其中,所述预设调整条件包括如下条件中的至少一种:
对任一项集群资源的占用量峰值与第一警戒线的差值小于第一阈值;
对任一项集群资源的占用量峰值与第二警戒线的差值小于第二阈值的次数大于第一预设次数;
对任一项集群资源的占用量平均值小于第三警戒线的次数大于第二预设次数;
其中,所述第一警戒线和所述第二警戒线根据所述命名空间提供的集群资源的最大资源量确定;所述第三警戒线根据所述命名空间提供的集群资源的额定资源量确定。
6.根据权利要求1所述的资源分配方法,其特征在于,所述确定所述目标命名空间之前,还包括:
获取所述目标服务所在的任一容器的容器指标,其中,所述容器指标包括所述目标服务在预设时长内对所述任一容器中各项集群资源的占用量平均值、占用量峰值和占用量的变化量;
根据所述目标服务所在的各容器对应的容器指标,确定所述目标服务的资源占用信息。
7.根据权利要求1所述的资源分配方法,其特征在于,所述将所述目标服务由所在的当前命名空间迁移到所述目标命名空间,包括:
在所述目标命名空间的容器中创建所述目标服务后,在所述目标服务当前所在的命名空间中关闭所述目标服务。
8.一种资源分配装置,其特征在于,包括:
确定模块,用于根据划分集群资源得到的命名空间的属性信息,以及目标服务占用所述集群资源的资源占用信息,确定与所述目标服务匹配的目标命名空间;
其中,所述命名空间的属性信息用于表征所述命名空间提供的各项集群资源的资源量;所述资源占用信息根据服务对各项集群资源的占用量确定;
迁移模块,用于将所述目标服务由当前所在的命名空间迁移到所述目标命名空间。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的资源分配方法的步骤。
10.一种非暂态可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述的资源分配方法的步骤。
CN202010368086.9A 2020-04-30 2020-04-30 一种资源分配方法、装置、电子设备和存储介质 Active CN111708629B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010368086.9A CN111708629B (zh) 2020-04-30 2020-04-30 一种资源分配方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010368086.9A CN111708629B (zh) 2020-04-30 2020-04-30 一种资源分配方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN111708629A true CN111708629A (zh) 2020-09-25
CN111708629B CN111708629B (zh) 2023-09-19

Family

ID=72536870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010368086.9A Active CN111708629B (zh) 2020-04-30 2020-04-30 一种资源分配方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN111708629B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416593A (zh) * 2020-11-30 2021-02-26 北京百度网讯科技有限公司 资源管理方法及装置、电子设备、计算机可读介质
CN114780170A (zh) * 2022-04-11 2022-07-22 远景智能国际私人投资有限公司 容器资源的配置方法、装置、设备及存储介质
CN114968840A (zh) * 2022-07-29 2022-08-30 北京永洪商智科技有限公司 一种内存使用量控制方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150324337A1 (en) * 2014-05-07 2015-11-12 International Business Machines Corporation Markup language namespace declaration resolution and preservation
US20180121242A1 (en) * 2015-09-30 2018-05-03 Huawei Technologies Co., Ltd. Computer and Quality of Service Control Method and Apparatus
CN109086364A (zh) * 2018-07-19 2018-12-25 深圳市网心科技有限公司 数据管理方法、数据管理设备及存储介质
CN109857518A (zh) * 2019-01-08 2019-06-07 平安科技(深圳)有限公司 一种网络资源的分配方法及设备
CN110221901A (zh) * 2019-06-06 2019-09-10 深圳前海微众银行股份有限公司 容器资源创建方法、装置、设备及计算机可读存储介质
CN110597623A (zh) * 2019-08-13 2019-12-20 平安普惠企业管理有限公司 容器资源分配方法、装置、计算机设备和存储介质
CN111078121A (zh) * 2018-10-18 2020-04-28 深信服科技股份有限公司 一种分布式存储系统数据迁移方法、系统、及相关组件

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150324337A1 (en) * 2014-05-07 2015-11-12 International Business Machines Corporation Markup language namespace declaration resolution and preservation
US20180121242A1 (en) * 2015-09-30 2018-05-03 Huawei Technologies Co., Ltd. Computer and Quality of Service Control Method and Apparatus
CN109086364A (zh) * 2018-07-19 2018-12-25 深圳市网心科技有限公司 数据管理方法、数据管理设备及存储介质
CN111078121A (zh) * 2018-10-18 2020-04-28 深信服科技股份有限公司 一种分布式存储系统数据迁移方法、系统、及相关组件
CN109857518A (zh) * 2019-01-08 2019-06-07 平安科技(深圳)有限公司 一种网络资源的分配方法及设备
CN110221901A (zh) * 2019-06-06 2019-09-10 深圳前海微众银行股份有限公司 容器资源创建方法、装置、设备及计算机可读存储介质
CN110597623A (zh) * 2019-08-13 2019-12-20 平安普惠企业管理有限公司 容器资源分配方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李杰 等: ""Hadoop分布式集群的自动化容器部署研究"", vol. 33, no. 11, pages 3404 - 3407 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416593A (zh) * 2020-11-30 2021-02-26 北京百度网讯科技有限公司 资源管理方法及装置、电子设备、计算机可读介质
CN112416593B (zh) * 2020-11-30 2024-01-12 北京百度网讯科技有限公司 资源管理方法及装置、电子设备、计算机可读介质
CN114780170A (zh) * 2022-04-11 2022-07-22 远景智能国际私人投资有限公司 容器资源的配置方法、装置、设备及存储介质
CN114780170B (zh) * 2022-04-11 2023-07-21 远景智能国际私人投资有限公司 容器资源的配置方法、装置、设备及存储介质
CN114968840A (zh) * 2022-07-29 2022-08-30 北京永洪商智科技有限公司 一种内存使用量控制方法及系统
CN114968840B (zh) * 2022-07-29 2022-11-01 北京永洪商智科技有限公司 一种内存使用量控制方法及系统

Also Published As

Publication number Publication date
CN111708629B (zh) 2023-09-19

Similar Documents

Publication Publication Date Title
CN111708629B (zh) 一种资源分配方法、装置、电子设备和存储介质
CN107562531B (zh) 一种数据均衡方法和装置
US10289451B2 (en) Method, apparatus, and system for adjusting deployment location of virtual machine
EP3028406B1 (en) Profile-based sla guarantees under workload migration in a distributed cloud
CN111478857B (zh) 一种接口限流控制方法、装置以及电子设备
CN112703774B (zh) 管理电信网络中的处理资源的方法和电信网络及存储介质
CN109085995B (zh) 数据动态分片的存储方法、装置和系统
EP2898412B1 (en) Adaptive service timeouts
CN108874502B (zh) 云计算集群的资源管理方法、装置及设备
CN106686039B (zh) 一种云计算系统中的资源调度方法及装置
CN111866054A (zh) 一种云主机的搭建方法、装置、电子设备及可读存储介质
WO2020038450A1 (zh) 带宽调整方法、装置、通信设备及计算机可读存储介质
CN111770581B (zh) 一种电力通信网无线资源调度方法和装置
CN114296868B (zh) 一种多云环境下基于用户体验的虚拟机自动迁移决策方法
CN109150686B (zh) Acl表项下发方法、装置及网络设备
EP2866403B1 (en) Resource management method and management server
CN112286930A (zh) redis业务方资源共享的方法、装置、存储介质及电子设备
CN107277143A (zh) 一种资源匹配管理方法及装置
CN110083309B (zh) 共享数据块处理方法、系统及可读存储介质
CN112416517A (zh) 一种虚拟化计算组织控制管理系统及方法
CN113377866A (zh) 一种虚拟化数据库代理服务的负载均衡方法及装置
CN111190728A (zh) 资源调整方法及装置
CN112783637A (zh) 一种资源调控方法和装置
CN111240577A (zh) 基于mpp数据库的数据多分片存储方法及装置
CN116614346B (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