CN114327884A - 自动扩缩容方法、装置、设备及可读存储介质 - Google Patents
自动扩缩容方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN114327884A CN114327884A CN202111595247.9A CN202111595247A CN114327884A CN 114327884 A CN114327884 A CN 114327884A CN 202111595247 A CN202111595247 A CN 202111595247A CN 114327884 A CN114327884 A CN 114327884A
- Authority
- CN
- China
- Prior art keywords
- capacity
- expansion
- scheme
- service
- resource allocation
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了自动扩缩容方法、装置、设备及可读存储介质,该方法包括采集容器集群的各机器指标及容器化应用的同一业务的各类型业务指标及为所述容器化应用分配的资源当前分配额度;比较所述各机器指标、所述各类型业务指标与预置的期望指标的大小,并基于比较结果判断是否需要为容器化应用扩容或缩容;当需要扩容或缩容时,基于所述资源当前分配额度及所述比较结果,获取扩容方案或缩容方案,扩容方案或缩容方案包括需要给容器化应用分配的资源;最后,可以执行所述扩容方案或所述缩容方案,即,实现扩容或缩容。可见,本申请可以实现在需要扩容的场景下,自动扩容及在需要缩容的场景下,自动缩容。
Description
技术领域
本申请涉及计算机领域,更具体地说,涉及一种自动扩缩容方法、装置、设备及可读存储介质。
背景技术
容器技术能够有效地将单个操作系统的资源划分到孤立的组中,以便更好地在孤立的组之间平衡有冲突的资源使用需求,因而,基于容器技术本身所能够带来的技术效果,容器技术在计算机领域中得到了广泛地应用。
但在实际应用场景中,我们常常遇到需要扩容的情况,随着规模的增长,需要使用容器技术的应用越来越多,且使用人数越来越多,此时,我们需要扩容;此外,我们也常常遇到需要缩容的情况,随着负载越来越少,使用人数的降低,此时,我们需要缩容。因而,如何在对应的场景下,实现扩容或缩容成为人们关注的重点。
发明内容
有鉴于此,本申请提供了一种自动扩缩容方法、装置、设备及可读存储介质,用于在对应的场景下,实现扩容或缩容。
为了实现上述目的,现提出的方案如下:
一种自动扩缩容方法,包括:
采集容器集群的各机器指标、容器化应用的同一业务的各类型业务指标及为所述容器化应用分配的资源当前分配额度;
比较所述各机器指标、所述各类型业务指标与预置的期望指标的大小,并基于比较结果判断是否需要为容器化应用扩容或缩容;
当需要扩容或缩容时,基于所述资源当前分配额度及所述比较结果,获取扩容方案或缩容方案;
执行所述扩容方案或所述缩容方案。
可选的,比较所述各机器指标及所述各类型业务指标与预置的期望指标的大小,包括:
根据业务对每一类型资源的需求程度,判断需要为所述业务分配的目标资源类型,所述目标资源类型包括以下任意一种或多种:CPU资源、内存资源、网络带宽及容器数;
参考预先设置的各资源类型与指标的对应关系,在采集的各机器指标及业务指标中,确定与每一所述目标资源类型对应的机器指标及业务指标;
计算每一目标资源类型对应的机器指标及业务指标与预置的期望指标之间的比值,作为比较结果;
所述基于比较结果判断是否需要为容器化应用扩容或缩容,包括:
若所述比值大于1,则确定需要为容器化应用扩容;
若所述比值小于1,则确定需要为容器化应用缩容。
可选的,所述基于所述资源当前分配额度及所述比较结果,获取扩容方案或缩容方案,包括:
基于所述资源当前分配额度及所述比值,获取资源目标分配额度;
基于所述资源目标分配额度,获取扩容或缩容方案。
可选的,基于所述资源当前分配额度及所述比值,获取资源目标分配额度,包括:
获取预设的控制扩缩容幅度的修正系数;
将所述比值、所述资源当前分配额度及所述修正系数相乘;
将相乘后的结果进行取整,得到取整后的结果;
基于所述取整后的结果,获取资源目标分配额度。
可选的,基于所述取整后的结果,获取资源目标分配额度,包括:
判断所述取整后的结果是否小于预设的最大资源分配额度,且大于预设的最小资源分配额度,得到判断结果;
当判断结果表明所述取整后的结果小于预设的最大资源分配额度且大于预设的最小资源分配额度时,将所述取整后的结果作为最终的资源目标分配额度。
可选的,在判断所述取整后的结果是否小于预设的最大资源分配额度,且大于预设的最小资源分配额度,得到判断结果之后,还包括:
当判断结果表明所述取整后的结果小于预设的最小资源分配额度时,将所述预设的最小资源分配额度作为最终的资源目标分配额度;
或,
当判断结果表明所述取整后的结果大于预设的最大资源分配额度时,将所述最大资源分配额度作为最终的资源目标分配额度。
可选的,所述执行扩容方案或缩容方案,包括:
采用水平扩缩容和/或垂直扩缩容的方式,执行扩容方案或缩容方案。
一种自动扩缩容装置,包括:
指标采集单元,用于采集容器集群的各机器指标及容器化应用的同一业务的各类型业务指标及为所述容器化应用分配的资源当前分配额度;
扩缩容确认单元,用于比较所述各机器指标、所述各类型业务指标与预置的期望指标的大小,并基于比较结果判断是否需要为容器化应用扩容或缩容;
方案确认单元,用于当需要扩容或缩容时,基于所述资源当前分配额度及所述比较结果,获取扩容方案或缩容方案;
方案执行单元,用于执行所述扩容方案或所述缩容方案。
一种自动扩缩容设备,包括存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现上述的自动扩缩容方法的各个步骤。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述的自动扩缩容方法的各个步骤。
从上述的技术方案可以看出,本申请提供的一种自动扩缩容方法,首先,可以采集容器集群的各机器指标及容器化应用的同一业务的各类型业务指标及为所述容器化应用分配的资源当前分配额度,其中,各类型业务指标对应于该业务,为该业务上报的指标,示例如,每秒查询率及每秒事务数等指标;随后,可以比较所述各机器指标、所述各类型业务指标与预置的期望指标的大小,并基于比较结果判断是否需要为容器化应用扩容或缩容;即,通过比较各机器指标、各类型业务指标与预置的期望指标的大小,判断是否需要给该业务分配更多的资源或给该业务分配更少的资源;随之,当需要扩容或缩容时,基于所述资源当前分配额度及所述比较结果,获取扩容方案或缩容方案,扩容方案或缩容方案包括需要给容器化应用分配的资源;最后,可以执行所述扩容方案或所述缩容方案,即,实现扩容或缩容。可见,本申请可以实现在需要扩容的场景下,自动扩容及在需要缩容的场景下,自动缩容。
除此之外,本申请确认扩容方案及缩容方案的依据,不仅是容器集群的机器指标,还包括各类型业务指标,而各类型业务指标与容器化应用中的某一业务对应,且各类型业务指标为该业务上报的指标,如此,本申请在确认与业务扩容方案及缩容方案时,更加全面、且更能够准确地感知业务扩容或缩容的需求,并更加具有针对性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种自动扩缩容方法流程图;
图2为本申请公开的一种自动扩缩容装置结构框图;
图3为本申请实施例公开的一种自动扩缩容设备的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
接下来结合图1对本申请的自动扩缩容方法进行详细介绍,包括如下步骤:
步骤S110、采集容器集群的各机器指标、容器化应用的同一业务的各类型业务指标及为所述容器化应用分配的资源当前分配额度。
具体地,可以使用指标采集器进行采集容器集群的各机器指标及容器化应用的同一业务的各类型业务指标及为所述容器化应用分配的资源当前分配额度。
其中,机器指标可以包括容器CPU使用率、容器内存使用率、容器挂载磁盘设备IO及网络带宽IO等。
而各类型业务指标为所述容器化应用中任一业务的。示例如,对于容器化的直播app,可以采集给直播主播送礼物这一业务的各类型业务指标。
在一些实施例中,可以是该业务将与容器性能相关的各类型业务指标传输至端口,此时,可以在对应的端口中获取该业务对应的业务指标。因而,各类型业务指标与业务强相关,业务指标可以有多种类型。不同的业务可能对应于不同类型的业务指标,也可能具有相同类型的业务指标。例如,同一容器化应用中,各个业务所对应的业务指标,类型不同;同一容器化应用中,不同的业务含有类型相同的业务指标。
可以将采集容器集群的各机器指标、容器化应用的同一业务的各类型业务指标及为所述容器化应用分配的资源当前分配额度持久化存储于内存中。
步骤S120、比较所述各机器指标、所述各类型业务指标与预置的期望指标的大小,并基于比较结果判断是否需要为容器化应用扩容或缩容。
具体地,预置的期望指标可以为利用历史各类型业务指标得到的峰值、移动平均值、方差、标准差、斜率、余弦距离等数值。示例如,期望指标可以为七天每秒事务数的平均数,也可以将用户自定义的数值与七天每秒事务数的平均数相乘所得到的值作为期望指标。
用户可以根据业务需求直接定义期望指标的数值大小,也可以将期望指标定义为需要调用内存中的数据计算得到,例如,可以使用字段spec直接指代数值,也可以使用字段spec指代一个需要计算的公式,通过计算公式,从而得到期望指标的大小。
其中,可以在策略配置文件中存储各个期望指标与各个业务指标之间的对应关系。可以使用字段scaleTargetRef指代各个容器化应用的名称、应用类型或版本号等,以区分不同的容器化应用。此后,可以用字段metrics指代容器化应用中各个业务所对应的各类型的业务指标,以区分同一容器化应用中的不同业务,可以用字段spec指代同一业务中所对应的预置的期望指标。
步骤S130、当需要扩容或缩容时,基于所述资源当前分配额度及所述比较结果,获取扩容方案或缩容方案。
具体地,当步骤S120中判断结果表明需要为容器化应用扩容或缩容时,可以基于该资源当前分配额度及该比较结果,获取扩容方案或缩容方案。
其中,该扩容方案或该缩容方案可以包括分配资源时,不同类型的资源的分配顺序,不同类型资源的分配额度,及需要执行扩缩容的容器化应用。
步骤S140、执行所述扩容方案或所述缩容方案。
具体地,按照方案执行扩容或缩容,可以按照不同类型的资源的分配顺序及不同类型资源的应分配的额度进行资源分配,从而执行扩容方案或缩容方案。
在一些实施例中,可以通过向容器集群发送变更指令,以实现执行扩容或缩容方案。当容器集群的控制中心接收到变更指令时,可以执行该变更指令,使得各类型业务指标符合预期值。其中,该变更指令包括不同类型的资源的分配顺序及不同类型资源的应分配的额度。
从上述的技术方案可以看出,本申请实施例提供的自动扩缩容方法首先,可以采集容器集群的各机器指标及容器化应用的同一业务的各类型业务指标及为所述容器化应用分配的资源当前分配额度,其中,各类型业务指标对应于该业务,为该业务上报的指标,示例如,每秒查询率及每秒事务数等指标;随后,可以比较所述各机器指标、所述各类型业务指标与预置的期望指标的大小,并基于比较结果判断是否需要为容器化应用扩容或缩容;即,通过比较各机器指标、各类型业务指标与预置的期望指标的大小,判断是否需要给该业务分配更多的资源或给该业务分配更少的资源;随之,当需要扩容或缩容时,基于所述资源当前分配额度及所述比较结果,获取扩容方案或缩容方案,扩容方案或缩容方案包括需要给容器化应用分配的资源;最后,可以执行所述扩容方案或所述缩容方案,即,实现扩容或缩容。可见,本申请可以实现在需要扩容的场景下,自动扩容及在需要缩容的场景下,自动缩容。
除此之外,本申请确认扩容方案及缩容方案的依据,不仅是容器集群的机器指标,还包括各类型业务指标,而各类型业务指标与容器化应用中的某一业务对应,且各类型业务指标为该业务上报的指标,如此,本申请在确认与业务扩容方案及缩容方案时,更加全面、且更能够准确地感知业务扩容或缩容的需求,并更加具有针对性。
在本申请的一些实施例中,对步骤S120、比较所述各机器指标、所述各类型业务指标与预置的期望指标的大小,并基于比较结果判断是否需要为容器化应用扩容或缩容的过程进行详细说明,步骤如下:
S10、根据业务对每一类型资源的需求程度,判断需要为所述业务分配的目标资源类型。
具体地,所述目标资源类型可以包括以下任意一种或多种:CPU资源、内存资源、网络带宽及容器数等。
其中,用户可以预置该业务对每一类型资源的需求程度,即,可以预置业务需要的目标资源类型及其对应的分配顺序。具体地,业务对应的目标资源类型的需求程度可以包括多种情况。接下来,将提供其中两种可选的情况。例如,该业务可以只对其中任意一种类型的资源存在需求,此时,目标资源类型为一种,可以为CPU资源,在分配资源时,可以仅为该容器化应用分配CPU资源;再如,该业务也可以对其中三种类型的资源都存在需求,此时,目标资源类型可以为内存资源、网络带宽及容器数,可以根据需求程度,确定内存资源、网络带宽及容器数的分配顺序。
当该业务对一种类型以上的资源存在需求时,可以事先指定各资源类型的分配顺序,示例如,当该业务对CPU资源及内存资源存在需求时,可以指定先分配CPU资源还是先分配内存资源,同理,也可以同时分配CPU资源及内存资源,具体情况可以由用户根据实际需求设定,本申请并不加以限制。
可以用类型为列表的字段actions存储各业务对每一类型资源的需求程度。
S11、参考预先设置的各资源类型与指标的对应关系,在采集的各机器指标及业务指标中,确定与每一所述目标资源类型对应的机器指标及业务指标。
具体地,可以事先预置各资源类型与指标之间的对应关系,例如,可以预置一个类型的业务指标对应于一个资源类型,还可以与预置多个类型的业务指标对应于同一个资源类型。
同一个业务中,可以设定其中一个类型的业务指标与一个资源类型对应,将其余类型的指标与另一资源类型对应,示例如,各机器指标包括容器CPU使用率及容器内存使用率,各类型业务指标包括每秒事物率、每秒查询率及每秒申请率,目标资源类型包括两种,分别为CPU资源及内存资源。此时,可以设定容器CPU使用率及每秒事物率与CPU资源之间存在对应关系,而容器内存使用率、每秒查询率及每秒申请率与内存资源存在对应关系。
S12、计算每一目标资源类型对应的机器指标及业务指标与预置的期望指标之间的比值,作为比较结果。
具体地,可以计算每一目标资源类型对应的机器指标及业务指标与预置的期望指标之间的比值。
其中,有多种方式可以计算每一目标资源类型对应的机器指标及业务指标与预置的期望指标之间的比值。接下来,将提供其中两种可选的方式。
第一种、
每种类型的指标均可以预先设置有对应的期望指标。在此基础上,计算每一目标资源类型对应的机器指标及业务指标中,各个指标与对应的期望指标之间的比值,随后,计算各个指标对应的比值的平均值,以平均值作为比较结果。示例如,可以预置机器指标中的cpu使用率与第一期望指标0.2对应,且业务指标中的每秒事物率与第二期望指标1500对应;某一时刻,可以采集得到cpu使用率为0.3,每秒事物率为1800。此时,可以计算cpu使用率0.3与第一期望指标0.2之间的比值为1.5,每秒事物率1800与第二期望指标1500之间的比值为1.2,计算1.5与1.2之间的平均值为1.35,以1.35作为比较结果。
第二种、
对目标资源类型所对应的机器指标及业务指标设置一个整体的期望指标,该期望指标用于与目标资源类型所对应的机器指标及业务指标的和值做比较。具体地,可以将每一目标资源类型对应的机器指标及业务指标相加,将相加后的结果与整体的期望指标相除。示例如,可以预置机器指标中的cpu使用率及业务指标中的每秒事物率与一个整体的期望指标1500对应,某一时刻,可以采集得到cpu使用率为0.3,每秒事物率为1800。此时,可以计算cpu使用率为0.3与每秒事物率1800的总和与期望指标1500的比值,即,计算1800.3与1500的比值,为1.2002,以此作为比较结果。
S13、若所述比值大于1,则确定需要为容器化应用扩容。
具体地,当所述比值大于1时,可以认为此时所分配的资源不足以应对业务需求。因而,此时,可以认为需要为容器化应用扩容。
S14、若所述比值小于1,则确定需要为容器化应用缩容。
具体地,当所述比值小于1时,可以认为此时所分配的资源足以应对业务需求,甚至造成资源闲置。因而,此时,可以认为需要为容器化应用缩容。
由上述的技术方案可以看出,相比于上一个实施例,本实施例提供了一种确定是否需要为容器化应用扩容或缩容的可选的方式,具体方式为先确定需要分配的目标资源类型;然后,确定需要分配的目标资源类型对应的机器指标及业务指标与预置的期望指标之间的比值,最后,根据比值确定是否需要扩容或缩容。可见,通过上述步骤可以很好地确定是否需要为容器化应用扩容或缩容。
在本申请的一些实施例中,当计算每一目标资源类型对应的机器指标及业务指标与预置的期望指标之间的比值时,可以利用所述比值,确定扩容方案或缩容方案。基于此,对步骤S130、当需要扩容或缩容时,基于所述资源当前分配额度及所述比较结果,获取扩容方案或缩容方案的过程进行详细说明,步骤如下:
S20、基于所述资源当前分配额度及所述比值,获取资源目标分配额度。
具体地,资源当前分配额度为容器集群为容器化应用所分配的资源额度。
基于此,可以将资源当前分配额度与步骤S12中计算得到的比值相乘,以相乘后的值,作为资源目标分配额度;也可以利用相乘后的值,以得到资源目标分配额度。
S21、基于所述资源目标分配额度,获取扩容或缩容方案。
具体地,资源目标分配额度可以包括多种类型资源的分配额度,可以依据预置的该业务对每一类型资源的需求程度,确定扩容或缩容方案。
由上述的技术方案可以看出,相比于上一个实施例,本实施例提供了一种确定扩容方案或缩容方案的可选的方式,具体方式为可以先利用资源当前分配额度及比值确定资源目标分配额度;最后,基于资源目标分配额度,确定扩容方案或缩容方案。可见,通过上述步骤可以更好有针对性地确定容器化应用的扩容方案或缩容方案。
在本申请的一些实施例中,对步骤S21、基于所述资源目标分配额度,获取扩容或缩容方案的过程进行详细说明,步骤如下:
S210、获取预设的控制扩缩容幅度的修正系数。
具体地,可以预置控制扩缩容幅度的修正系数,且预置的修正系数可以有多种情况,即,对于同一容器集群可以预置同一控制扩缩容幅度的修正系数,也可以同一容器化应用预置同一控制扩缩容幅度的修正系数,但不同的容器化应用的修正系数可以不同。
修正系数的确定是为了控制扩缩容幅度,以免扩容或缩容的范围与当前的资源分配额度相差过大。
S211、将所述比值、所述资源当前分配额度及所述修正系数相乘。
具体地,可以将比值、为容器化应用分配的资源当前分配额度及步骤S210中所得到的修正系数相乘,得到三者相乘后的结果。
S212、将相乘后的结果进行取整,得到取整后的结果。
具体地,可以对相乘后的结果进行取整。其中,取整可以是对资源的最小单位进行取整,示例如,在计算cpu资源的目标分配额度时,相乘后的结果为892.6m,表明该业务需要使用892.6m的cpu资源。而cpu资源的可调整最小单位为1m。基于此,可以对相乘后的结果进行取整,取整后的结果为893m,表明需要为容器化应用分配的cpu资源的额度为893m。
S213、基于所述取整后的结果,获取资源目标分配额度。
具体地,可以通过多种方式基于所述取整后的结果,获取资源目标分配额度,此处提供其中一种可选的方式,例如,可以直接将取整后的结果作为资源目标分配额度。
由上述的技术方案可以看出,相比于上一个实施例,本实施例提供了一种获取扩容或缩容方案的可选的方式,具体方式为可以先获取修正系数,然后,可以将比值、资源当前分配额度及修正系数相乘,随后,可以对相乘后的结果进行取整;最后,基于取整后的结果,得到资源目标分配额度。可见,上述步骤的设定考虑到了扩缩容的幅度及资源分配的最小单位,能够更为全面且更好地确定资源目标分配额度,从而,更好地容器化应用的扩容方案或缩容方案。
在本申请的一些实施例中,对步骤S213、基于所述取整后的结果,获取资源目标分配额度的过程进行详细说明,步骤如下:
S30、判断所述取整后的结果是否小于预设的最大资源分配额度,且大于预设的最小资源分配额度,得到判断结果。当判断结果表明所述取整后的结果小于预设的最大资源分配额度且大于预设的最小资源分配额度时,执行步骤S31;当判断结果表明所述取整后的结果小于预设的最小资源分配额度时,执行步骤S32;当判断结果表明所述取整后的结果大于预设的最大资源分配额度时,执行步骤S33。
具体地,可以对应于每一种资源都预置最大资源分配额度及最小资源分配额度,建立最大资源分配额度及最小资源分配额度于资源类型之间的对应关系,示例如,可以预置cpu资源的最小资源分配额度为500m,最大资源分配额度为1000m。此外,可以按需对最大资源分配额度及最小资源分配额度进行设定,例如,同一类型的容器化应用中同一资源类型的最大资源分配额度及最小资源分配额度可以设定为相同的,也可以设定为不同的。
在一些实施例中,可以用类型为对象的字段值maxResources指代最大的cpu资源,最大的内存资源或最大的带宽资源;可以用类型为对象的字段值minResources指代最小的cpu资源,最小的内存资源或最小的带宽资源;可以用类型为整型的字段值maxReplicas指代最大的容器数;可以用类型为整型的字段值minReplicas指代最小的容器数。
S31、将所述取整后的结果作为最终的资源目标分配额度。
具体地,当取整后的结果小于预设的最大资源分配额度且大于预设的最小资源分配额度时,表明资源目标分配额度并不会过大,可以直接将取整后的结果最终的资源目标分配额度。
S32、将所述预设的最小资源分配额度作为最终的资源目标分配额度。
具体地,当取整后的结果取整后的结果小于预设的最小资源分配额度时,表明资源目标分配额度过小,而资源目标分配额度过小,可能不利于容器化应用处理各类型的业务,基于此,可以将所述预设的最小资源分配额度作为最终的资源目标分配额度。
S33、将所述最大资源分配额度作为最终的资源目标分配额度。
具体地,当取整后的结果取整后的结果小大于预设的最大资源分配额度时,表明资源目标分配额度过大,而资源目标分配额度过大,可能对容器集群中其他容器化应用分配的资源不良影响,不利于其他容器化应用处理业务,基于此,可以将所述最大资源分配额度作为最终的资源目标分配额度。
由上述的技术方案可以看出,本实施例提供了一种确定资源目标分配额度的可选的方式,可以将资源分配额度控制在合适的范围内。可见,上述步骤的设定考虑到了分配的资源应处于一个合理的区间内,不能超过最大值,也不能小于最小值,能够更为全面且更好地确定资源目标分配额度,从而,更好地容器化应用的扩容方案或缩容方案。
在本申请的一些实施例中,对步骤S140、执行所述扩容方案或所述缩容方案的过程进行详细说明。
具体地,可以采用水平扩缩容和/或垂直扩缩容的方式,执行扩容方案或缩容方案。
其中,可以使用水平扩缩容的方式,对为容器化应用分配的容器数量进行调整,从而实现扩容或缩容。
同理,也可以采用垂直扩缩容的方式,对为容器化应用分配的cpu资源及内存资源进行调整,从而实现扩容或缩容。
在一些实施例中,可以根据容器化应用扩容或缩容的需求,采用水平扩缩容和/或垂直扩缩容的方式进行扩容或缩容。
例如,当一个容器化应用既需要调整使用的容器数量,又需要调整cpu资源及内存资源时,可以基于该容器化应用对资源类型的需求,执行扩容方案或缩容方案。当该容器化应用对容器数量的增多比较迫切时,可以使用水平扩缩容的方式进行容器数量的增多,再使用垂直扩缩容的方式,为容器化应用分配cpu资源及内存资源。
其中,水平扩缩容和垂直扩缩容是两个不同的维度的扩缩容方式,可以通过设置编排顺序,让一次扩缩容同时兼容这两种方法,如果用户只设置一种,就可以变为传统的单个水平扩缩容或垂直扩缩容的形式。
下面对本申请提供的自动扩缩容装置进行描述,下文描述的自动扩缩容装置与上文描述的自动扩缩容方法可相互对应参照。
首先,结合图2,对自动扩缩容装置进行介绍,如图2所示,该自动扩缩容装置可以包括:
指标采集单元100,用于采集容器集群的各机器指标及容器化应用的同一业务的各类型业务指标及为所述容器化应用分配的资源当前分配额度;
扩缩容确认单元110,用于比较所述各机器指标、所述各类型业务指标与预置的期望指标的大小,并基于比较结果判断是否需要为容器化应用扩容或缩容;
方案确认单元120,用于当需要扩容或缩容时,基于所述资源当前分配额度及所述比较结果,获取扩容方案或缩容方案;
方案执行单元130,用于执行所述扩容方案或所述缩容方案。
进一步地,所述扩缩容确认单元,可以包括:
类型判断单元,用于根据业务对每一类型资源的需求程度,判断需要为所述业务分配的目标资源类型,所述目标资源类型包括以下任意一种或多种:CPU资源、内存资源、网络带宽及容器数;
指标确定单元,用于参考预先设置的各资源类型与指标的对应关系,在采集的各机器指标及业务指标中,确定与每一所述目标资源类型对应的机器指标及业务指标;
比值计算单元,用于计算每一目标资源类型对应的机器指标及业务指标与预置的期望指标之间的比值,作为比较结果;
扩缩容确定单元,用于当每一目标资源类型对应的机器指标及业务指标与预置的期望指标之间的比值大于1时,则确定需要为容器化应用扩容;当每一目标资源类型对应的机器指标及业务指标与预置的期望指标之间的比值小于1时,则确定需要为容器化应用缩容。
进一步地,所述扩缩容确定单元,可以包括:
分配额度确定单元,用于基于所述资源当前分配额度及所述比值,获取资源目标分配额度;
方案获取单元,用于基于所述资源目标分配额度,获取扩容或缩容方案。
进一步地,所述分配额度确定单元,可以包括:
系数获取单元,用于获取预设的控制扩缩容幅度的修正系数;
数值相乘单元,用于将所述比值、所述资源当前分配额度及所述修正系数相乘;
取整获取单元,用于将相乘后的结果进行取整,得到取整后的结果;
额度获取单元,用于基于所述取整后的结果,获取资源目标分配额度。
进一步地,所述额度获取单元,可以包括:
第一额度获取单元,用于判断所述取整后的结果是否小于预设的最大资源分配额度,且大于预设的最小资源分配额度,得到判断结果;
第二额度获取单元,用于当判断结果表明所述取整后的结果小于预设的最大资源分配额度且大于预设的最小资源分配额度时,将所述取整后的结果作为最终的资源目标分配额度;
第三额度获取单元,用于当判断结果表明所述取整后的结果小于预设的最小资源分配额度时,将所述预设的最小资源分配额度作为最终的资源目标分配额度;
第四额度获取单元,用于当判断结果表明所述取整后的结果大于预设的最大资源分配额度时,将所述最大资源分配额度作为最终的资源目标分配额度。
进一步地,所述方案执行单元,可以包括:
方式采用单元,用于采用水平扩缩容和/或垂直扩缩容的方式,执行扩容方案或缩容方案。
本申请提供的自动扩缩容装置可应用于自动扩缩容设备,如服务器、PC终端等。可选的,图3示出了自动扩缩容设备的硬件结构框图,参照图3,自动扩缩容设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
采集容器集群的各机器指标、容器化应用的同一业务的各类型业务指标及为所述容器化应用分配的资源当前分配额度;
比较所述各机器指标、所述各类型业务指标与预置的期望指标的大小,并基于比较结果判断是否需要为容器化应用扩容或缩容;
当需要扩容或缩容时,基于所述资源当前分配额度及所述比较结果,获取扩容方案或缩容方案;
执行所述扩容方案或所述缩容方案。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
采集容器集群的各机器指标、容器化应用的同一业务的各类型业务指标及为所述容器化应用分配的资源当前分配额度;
比较所述各机器指标、所述各类型业务指标与预置的期望指标的大小,并基于比较结果判断是否需要为容器化应用扩容或缩容;
当需要扩容或缩容时,基于所述资源当前分配额度及所述比较结果,获取扩容方案或缩容方案;
执行所述扩容方案或所述缩容方案。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。本申请的各个实施例之间可以相互结合。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种自动扩缩容方法,其特征在于,包括:
采集容器集群的各机器指标、容器化应用的同一业务的各类型业务指标及为所述容器化应用分配的资源当前分配额度;
比较所述各机器指标、所述各类型业务指标与预置的期望指标的大小,并基于比较结果判断是否需要为容器化应用扩容或缩容;
当需要扩容或缩容时,基于所述资源当前分配额度及所述比较结果,获取扩容方案或缩容方案;
执行所述扩容方案或所述缩容方案。
2.根据权利要求1所述的方法,其特征在于,比较所述各机器指标及所述各类型业务指标与预置的期望指标的大小,包括:
根据业务对每一类型资源的需求程度,判断需要为所述业务分配的目标资源类型,所述目标资源类型包括以下任意一种或多种:CPU资源、内存资源、网络带宽及容器数;
参考预先设置的各资源类型与指标的对应关系,在采集的各机器指标及业务指标中,确定与每一所述目标资源类型对应的机器指标及业务指标;
计算每一目标资源类型对应的机器指标及业务指标与预置的期望指标之间的比值,作为比较结果;
所述基于比较结果判断是否需要为容器化应用扩容或缩容,包括:
若所述比值大于1,则确定需要为容器化应用扩容;
若所述比值小于1,则确定需要为容器化应用缩容。
3.根据权利要求2所述的方法,其特征在于,所述基于所述资源当前分配额度及所述比较结果,获取扩容方案或缩容方案,包括:
基于所述资源当前分配额度及所述比值,获取资源目标分配额度;
基于所述资源目标分配额度,获取扩容或缩容方案。
4.根据权利要求3所述的方法,其特征在于,基于所述资源当前分配额度及所述比值,获取资源目标分配额度,包括:
获取预设的控制扩缩容幅度的修正系数;
将所述比值、所述资源当前分配额度及所述修正系数相乘;
将相乘后的结果进行取整,得到取整后的结果;
基于所述取整后的结果,获取资源目标分配额度。
5.根据权利要求4所述的方法,其特征在于,基于所述取整后的结果,获取资源目标分配额度,包括:
判断所述取整后的结果是否小于预设的最大资源分配额度,且大于预设的最小资源分配额度,得到判断结果;
当判断结果表明所述取整后的结果小于预设的最大资源分配额度且大于预设的最小资源分配额度时,将所述取整后的结果作为最终的资源目标分配额度。
6.根据权利要求5所述的方法,其特征在于,在判断所述取整后的结果是否小于预设的最大资源分配额度,且大于预设的最小资源分配额度,得到判断结果之后,还包括:
当判断结果表明所述取整后的结果小于预设的最小资源分配额度时,将所述预设的最小资源分配额度作为最终的资源目标分配额度;
或,
当判断结果表明所述取整后的结果大于预设的最大资源分配额度时,将所述最大资源分配额度作为最终的资源目标分配额度。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述执行扩容方案或缩容方案,包括:
采用水平扩缩容和/或垂直扩缩容的方式,执行扩容方案或缩容方案。
8.一种自动扩缩容装置,其特征在于,包括:
指标采集单元,用于采集容器集群的各机器指标及容器化应用的同一业务的各类型业务指标及为所述容器化应用分配的资源当前分配额度;
扩缩容确认单元,用于比较所述各机器指标、所述各类型业务指标与预置的期望指标的大小,并基于比较结果判断是否需要为容器化应用扩容或缩容;
方案确认单元,用于当需要扩容或缩容时,基于所述资源当前分配额度及所述比较结果,获取扩容方案或缩容方案;
方案执行单元,用于执行所述扩容方案或所述缩容方案。
9.一种自动扩缩容设备,其特征在于,包括存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1-7中任一项所述的自动扩缩容方法的各个步骤。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-7任一项的自动扩缩容方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111595247.9A CN114327884A (zh) | 2021-12-23 | 2021-12-23 | 自动扩缩容方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111595247.9A CN114327884A (zh) | 2021-12-23 | 2021-12-23 | 自动扩缩容方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114327884A true CN114327884A (zh) | 2022-04-12 |
Family
ID=81013158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111595247.9A Pending CN114327884A (zh) | 2021-12-23 | 2021-12-23 | 自动扩缩容方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327884A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979276A (zh) * | 2022-05-13 | 2022-08-30 | 深信服科技股份有限公司 | 一种资源动态调度方法、装置、设备及存储介质 |
CN115174406A (zh) * | 2022-06-16 | 2022-10-11 | 平安银行股份有限公司 | 容器应用的扩缩容方法、装置、计算机设备及存储介质 |
CN118093204A (zh) * | 2024-04-25 | 2024-05-28 | 数据空间研究院 | 一种容器编排的集群扩缩容方法 |
-
2021
- 2021-12-23 CN CN202111595247.9A patent/CN114327884A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979276A (zh) * | 2022-05-13 | 2022-08-30 | 深信服科技股份有限公司 | 一种资源动态调度方法、装置、设备及存储介质 |
CN114979276B (zh) * | 2022-05-13 | 2024-02-23 | 深信服科技股份有限公司 | 一种资源动态调度方法、装置、设备及存储介质 |
CN115174406A (zh) * | 2022-06-16 | 2022-10-11 | 平安银行股份有限公司 | 容器应用的扩缩容方法、装置、计算机设备及存储介质 |
CN115174406B (zh) * | 2022-06-16 | 2024-02-06 | 平安银行股份有限公司 | 容器应用的扩缩容方法、装置、计算机设备及存储介质 |
CN118093204A (zh) * | 2024-04-25 | 2024-05-28 | 数据空间研究院 | 一种容器编排的集群扩缩容方法 |
CN118093204B (zh) * | 2024-04-25 | 2024-07-09 | 数据空间研究院 | 一种容器编排的集群扩缩容方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114327884A (zh) | 自动扩缩容方法、装置、设备及可读存储介质 | |
US10652360B2 (en) | Access scheduling method and apparatus for terminal, and computer storage medium | |
CN109831524B (zh) | 一种负载均衡处理方法及装置 | |
CN110244901B (zh) | 任务分配方法及装置、分布式存储系统 | |
CN113296929A (zh) | 基于云计算的资源匹配方法、装置及系统 | |
CN110636388A (zh) | 一种业务请求分配方法、系统、电子设备及存储介质 | |
CN112053105A (zh) | 划分服务区域的方法和装置 | |
CN112506650A (zh) | 资源分配方法、系统、计算机设备和存储介质 | |
CN113691596A (zh) | 一种网关控制方法、装置、电子设备及存储介质 | |
CN108200185B (zh) | 一种实现负载均衡的方法及装置 | |
CN110995856B (zh) | 一种服务器扩展的方法、装置、设备及存储介质 | |
CN111314234B (zh) | 一种流量分配的方法、装置、存储介质及电子设备 | |
CN109413117B (zh) | 分布式数据计算方法、装置、服务器及计算机存储介质 | |
CN112468573A (zh) | 数据推送方法、装置、设备及存储介质 | |
CN109582829B (zh) | 一种处理方法、装置、设备及可读存储介质 | |
CN115168017B (zh) | 一种任务调度云平台及其任务调度方法 | |
CN112000477B (zh) | 一种pod中负载均衡的方法、装置、设备及介质 | |
CN114745278B (zh) | 一种业务系统扩缩容的方法、装置、电子设备和存储介质 | |
CN112104682A (zh) | 云桌面服务器智能分配方法及系统、存储介质及中控服务器 | |
CN109491794A (zh) | 资源管理方法、装置及电子设备 | |
CN112256420B (zh) | 任务分配方法、装置及电子设备 | |
CN116010019A (zh) | 一种内存资源的分配方法、相关装置及设备 | |
CN110708374B (zh) | 一种边缘节点的分配方法、分配装置及可读存储介质 | |
KR20170002229A (ko) | 자원 제공 시스템 및 방법, 그리고 이의 자원 사용료 결정 방법 | |
CN111061697A (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 |