CN116204277A - 业务容器扩缩容调整方法、装置、存储介质及电子设备 - Google Patents
业务容器扩缩容调整方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116204277A CN116204277A CN202310266515.5A CN202310266515A CN116204277A CN 116204277 A CN116204277 A CN 116204277A CN 202310266515 A CN202310266515 A CN 202310266515A CN 116204277 A CN116204277 A CN 116204277A
- Authority
- CN
- China
- Prior art keywords
- expansion
- amount
- capacity
- container
- container arrangement
- 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/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/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
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- 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/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
本申请公开了一种业务容器扩缩容调整方法、装置、存储介质及电子设备。涉及云计算领域,该方法包括:获取服务器集群中的业务负载量;基于业务负载量,检测容器编排引擎是否需要执行扩缩容处理,其中,容器编排引擎包括了N个容器,N个容器用于为服务器集群中对应的服务器提供应用服务,N为大于1的正整数;在检测结果为容器编排引擎需要执行扩缩容处理的情况下,确定容器编排引擎执行扩缩容处理后的冷却时长,其中,容器编排引擎用于分配服务器集群中的服务器与容器编排引擎生成的容器进行交互;基于冷却时长,确定容器编排引擎执行扩缩容处理的扩缩容策略。通过本申请,解决了相关技术中对扩缩容调整灵活性不理想的问题。
Description
技术领域
本申请涉及云计算领域,具体而言,涉及一种业务容器扩缩容调整方法、装置、存储介质及电子设备。
背景技术
目前,容器编排引擎(即Kubernetes,也可简称k8s)是将弹性伸缩划分为保障应用负载处在容量规划之内满足整体容量规划。当需要弹性伸缩时,优先变化的应该是负载的容量规划,通过使用Horizontal Pod Autoscaler(简称HPA)处理容量规划的组件实现实时的弹性。相关技术中,根据k8s中kube-controller(运行控制组件)中已定义的默认指标完成容器编排引擎的扩缩,这些默认指标在设置好后是固定的,无法直接进行修改,调整局限性高,并且难以在业务高峰来临前,为业务做到更多的资源分配,由于容器资源波动导致多余的扩缩容,造成扩缩容调整灵活性不理想的问题
针对相关技术中对扩缩容调整灵活性不理想的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种业务容器扩缩容调整方法、装置、存储介质及电子设备,以解决相关技术中对扩缩容调整灵活性不理想的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种业务容器扩缩容调整方法。该方法包括:获取服务器集群中的业务负载量,其中,所述业务负载量用于表征所述服务器集群为业务请求提供应用服务的负载量;基于所述业务负载量,检测容器编排引擎是否需要执行扩缩容处理,其中,所述容器编排引擎包括了N个容器,所述N个容器用于为所述服务器集群中对应的服务器提供应用服务,N为大于1的正整数;在检测结果为所述容器编排引擎需要执行扩缩容处理的情况下,确定所述容器编排引擎执行扩缩容处理后的冷却时长,其中,所述容器编排引擎用于分配所述服务器集群中的服务器与所述容器编排引擎生成的容器进行交互;基于所述冷却时长,确定所述容器编排引擎执行扩缩容处理的扩缩容策略。
为了实现上述目的,根据本申请的另一方面,提供了一种业务容器扩缩容调整装置。该装置包括:获取模块,用于获取服务器集群中的业务负载量,其中,所述业务负载量用于表征所述服务器集群为业务请求提供应用服务的负载量;检测模块,用于基于所述业务负载量,检测容器编排引擎是否需要执行扩缩容处理,其中,所述容器编排引擎包括了N个容器,所述N个容器用于为所述服务器集群中对应的服务器提供应用服务,N为大于1的正整数;第一确定模块,用于在检测结果为所述容器编排引擎需要执行扩缩容处理的情况下,确定所述容器编排引擎执行扩缩容处理后的冷却时长,其中,所述容器编排引擎用于分配所述服务器集群中的服务器与所述容器编排引擎生成的容器进行交互;第二确定模块,用于基于所述冷却时长,确定所述容器编排引擎执行扩缩容处理的扩缩容策略。
为了实现上述目的,根据本申请的另一方面,提供了一种非易失性存储介质,所述非易失性存储介质存储有多条指令,所述指令适于由处理器加载并执行任意一项所述的业务容器扩缩容调整方法。
为了实现上述目的,根据本申请的另一方面,提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现任意一项所述的业务容器扩缩容调整方法。
通过本申请,采用以下步骤:获取服务器集群中的业务负载量,其中,所述业务负载量用于表征所述服务器集群为业务请求提供应用服务的负载量;基于所述业务负载量,检测容器编排引擎是否需要执行扩缩容处理,其中,所述容器编排引擎包括了N个容器,所述N个容器用于为所述服务器集群中对应的服务器提供应用服务,N为大于1的正整数;在检测结果为所述容器编排引擎需要执行扩缩容处理的情况下,确定所述容器编排引擎执行扩缩容处理后的冷却时长,其中,所述容器编排引擎用于分配所述服务器集群中的服务器与所述容器编排引擎生成的容器进行交互;基于所述冷却时长,确定所述容器编排引擎执行扩缩容处理的扩缩容策略。达到了对容器编排引擎中默认的运行参数进行动态调整的目的,解决了相关技术中对扩缩容调整灵活性不理想的问题。进而达到了减少扩缩容调整局限性的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的业务容器扩缩容调整方法的流程图;
图2是根据本申请实施例提供的业务容器扩缩容调整方法的示意图;
图3是根据本申请实施例提供的业务容器扩缩容调整装置的示意图;以及
图4是根据本发明实施例提供的一种电子设备示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
应用模板(Deployment),作用于一组Pods的创建和运行,其通过副本控制器(ReplicaSet)来控制应用模板中的副本数(Replica)个数来调整Pods个数。
Pods,是k8s中最小的资源管理组件,其中包括的容器之间是具有紧密的耦合协作关系的,k8s直接管理的是Pods而不是其中的容器。
AutoScale(自适应缩放),是云计算中使用的一种动态调整应用模板中的副本数的方法,通常情况下是根据应用模板下Pods的平均资源使用情况(如CPU资源、内存)自动调整,也可以根据用户的定时需求在特定时间点对Pods个数进行缩放。
需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,k8s和相关用户或机构间设置有接口,在获取相关业务请求之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关业务请求。
目前,容器编排引擎是将弹性伸缩划分为保障应用负载处在容量规划之内满足整体容量规划。当需要弹性伸缩时,优先变化的应该是负载的容量规划,通过使用HPA处理容量规划的组件实现实时的弹性。是根据实际工作负载水平伸缩Pod数目的组件,会自动根据业务负载情况来自动调整的应用模板的副本数。相关技术中,根据k8s中kube-controller(运行控制组件)中定义的水平伸缩时间间隔,默认不采集指标时间(Pod初始化时间,以及Pod就绪时间),最小/大数量(扩容上下限),伸缩阈值(譬如CPU使用率60%)、扩缩后冷却时间,根据这些指标完成容器编排引擎对Pod的扩缩。
由于相关技术中依赖固定指标,因此存在着以下问题,定义Pod水平伸缩时间间隔只能使用默认值15s,无法直接进行修改,调整困难。默认不采集指标时间是固定的,该值只能使用Pod初始化时间默认值5分钟,Pod就绪时间30s,无法直接进行修改,调整困难。默认扩缩容的最小/最大数量值是固定,无法根据业务使用情况自行调整最小/最大数量,在业务高峰来临前,无法为业务做到更多的资源分配。并且由于监控周期短且值固定、无法调整,该情况下,往往会由于应用Pod资源波动导致多余的扩缩容,同理地,扩缩后冷却时间固定,无法调整,该情况下,往往会由于应用Pod资源波动导致扩缩容效果不理想。
基于上述问题,本发明实施例提供了一种业务容器扩缩容调整方法,图1是根据本申请实施例提供的业务容器扩缩容调整方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取服务器集群中的业务负载量,其中,上述业务负载量用于表征上述服务器集群为业务请求提供应用服务的负载量;
步骤S104,基于上述业务负载量,检测容器编排引擎是否需要执行扩缩容处理,其中,上述容器编排引擎包括了N个容器,上述N个容器用于为上述服务器集群中对应的服务器提供应用服务,N为大于1的正整数;
步骤S106,在检测结果为上述容器编排引擎需要执行扩缩容处理的情况下,确定上述容器编排引擎执行扩缩容处理后的冷却时长,其中,上述容器编排引擎用于分配上述服务器集群中的服务器与上述容器编排引擎生成的容器进行交互;
步骤S108,基于上述冷却时长,确定上述容器编排引擎执行扩缩容处理的扩缩容策略。
可以理解,服务器集群中随着具体业务量波动的增加和减少,业务负载量随之变化的,容器编排引擎为服务器集群中的业务请求提供了可以动态生成的隔离运行的镜像容器,上述容器编排引擎基于服务器集群获得的业务负载量,对其中的容器资源进行伸缩调整,用以适应不同的业务负载量。基于业务负载量,检测容器编排引擎是否需要执行扩缩容处理,容器编排引擎包括了N个容器,其中的N个容器用于为上述服务器集群中对应的服务器提供应用服务。在检测结果为容器编排引擎需要执行扩缩容处理的情况下,确定容器编排引擎执行扩缩容处理后的冷却时长,上述冷却时长在相关技术中为设置好的预定值,无法进行调整。在容器资源波动频繁的情况下,固定的冷却时长可能造成需要进行扩缩容调整的情况下,尚且处于冷却状态,导致进行需要等待冷却结束,影响处理状态。因此,本发明实施例中的冷却时长并非固定设置值,而是需要进行确定得到的冷却时长,进而确定容器编排引擎执行扩缩容处理的扩缩容策略。通过上述处理,通过动态确定扩缩容后的冷却时长,作为执行扩缩容处理的扩缩容策略,相关技术中常常针对触发扩缩容的时机,以及扩缩容处理的大小进行设计,但是未考虑到对k8s中默认类的设置参数进行动态化的调整。相比相关技术中默认固定的冷却时长,可以达到对业务负载量更好的对应效果。
可选地,上述业务请求可以为多种,例如:用户对服务器集群进行的应用程序执行需求。
可选地,上述应用服务可以为多种,例如:多种应用程序基于用户需求进行的应用进程处理。
本申请实施例提供的业务容器扩缩容调整方法,通过获取服务器集群中的业务负载量,其中,上述业务负载量用于表征上述服务器集群为业务请求提供应用服务的负载量;基于上述业务负载量,检测容器编排引擎是否需要执行扩缩容处理,其中,上述容器编排引擎包括了N个容器,上述N个容器用于为上述服务器集群中对应的服务器提供应用服务,N为大于1的正整数;在检测结果为上述容器编排引擎需要执行扩缩容处理的情况下,确定上述容器编排引擎执行扩缩容处理后的冷却时长,其中,上述容器编排引擎用于分配上述服务器集群中的服务器与上述容器编排引擎生成的容器进行交互;基于上述冷却时长,确定上述容器编排引擎执行扩缩容处理的扩缩容策略。,达到了对容器编排引擎中默认的运行参数进行动态调整的目的,解决了相关技术中对扩缩容调整灵活性不理想的问题。进而达到了减少扩缩容调整局限性的效果。
在一种可选的实施例中,上述基于上述冷却时长,确定上述容器编排引擎执行扩缩容处理后的扩缩容策略,包括:在上述容器编排引擎执行扩容处理的情况下,基于上述业务负载量,确定上述冷却时长的冷却缩短量,检测周期增加量,以及扩容上限提高量,其中,上述检测周期增加量为对上述业务负载量进行检测的周期增加量;基于上述冷却缩短量,上述检测周期增加量,以及上述扩容上限提高量,确定上述容器编排引擎执行扩容处理的扩缩容策略。
可以理解,在触发容器编排引擎执行扩容处理的情况下,为了基于业务负载量进行默认类型参数的动态调整,确定得到冷却时长的冷却缩短量,检测周期增加量,以及扩容上限提高量。通过减少冷却时长,增加检测周期,可以提高在业务高峰期的高波动场景的应对能力,通过增加扩容上限,可以相比相关技术中为业务请求分配更多的资源,保证业务可用性。基于冷却缩短量,检测周期增加量,以及扩容上限提高量,确定容器编排引擎执行扩容处理的扩缩容策略。通过上述处理,及时增加容器编排引擎中的应用模板的资源,有利于实现灵活应对突发的业务负载量。
在一种可选的实施例中,上述在上述容器编排引擎执行扩容处理的情况下,基于上述业务负载量,确定上述容器编排引擎执行扩容处理的上述冷却时长的冷却缩短量,检测周期增加量,以及扩容上限提高量,包括:判断上述业务负载量是否大于预设的第一阈值,其中,上述第一阈值大于预设的高峰阈值,在上述业务负载量大于上述高峰阈值的情况下触发执行扩容处理;在上述业务负载量大于上述第一阈值的情况下,确定上述冷却缩短量,上述检测周期增加量,以及上述扩容上限提高量。
可以理解,由于对默认类的冷却缩短量,检测周期增加量,以及扩容上限提高量进行调整,是在大小调整的扩容处理基础上进行的,可以按照业务负载量进行选择是否执行对冷却缩短量,检测周期增加量,以及扩容上限提高量的调整。需要判断业务负载量是否大于预设的第一阈值,第一阈值大于触发扩容处理的高峰阈值。在业务负载量大于第一阈值的情况下,视为需要对扩容处理上限和资源波动对应进行提升,因此确定得到进行调整的冷却缩短量,检测周期增加量,以及扩容上限提高量。通过上述处理,可以根据当前应用场景选择是否启用对默认类参数的调节,开启后在已有的HPA规则作为扩容的兜底机制,防止有异常场景(譬如应用的CPU或者内存异常)时随意对应用进行扩容,在HPA规则的基础上,本发明实施例对冷却缩短量,检测周期增加量,以及扩容上限提高量作为另一种自适应伸缩设置,提供了相比相关技术中更灵活的应对处理。
作为一种可选的实施例,上述基于上述冷却时长,确定上述容器编排引擎执行扩缩容处理后的扩缩容策略,包括:在上述容器编排引擎执行缩容处理的情况下,基于上述业务负载量,确定上述冷却时长的冷却增长量,检测周期减少量,以及扩容下限降低量,其中,上述检测周期减少量为对上述业务负载量进行检测的周期减少量;基于上述冷却增长量,上述检测周期减少量,以及上述扩容下限降低量,确定上述容器编排引擎执行缩容处理的扩缩容策略。
可以理解,在触发容器编排引擎执行缩容处理的情况下,为了基于业务负载量进行默认类型参数的动态调整,确定得到冷却时长的冷却增长量,检测周期减少量,以及扩容下限降低量。通过增加冷却时长,减少检测周期,可以避免在业务低谷期的不活跃场景下,提高资源的使用率。通过降低扩容下限,可以相比相关技术中更及时地释放掉应用不使用的资源。基于冷却增长量,检测周期减少量,以及扩容下限降低量,确定容器编排引擎执行缩容处理的扩缩容策略。通过上述处理,在业务低峰时段减少了对容器资源的多余占用,提高了资源利用效率,有利于提高对容器资源的灵活应对能力。
作为一种可选的实施例,上述在上述容器编排引擎执行缩容处理的情况下,基于上述业务负载量,确定上述容器编排引擎执行扩容处理的上述冷却时长的冷却增长量,检测周期减少量,以及扩容下限降低量,包括:判断上述业务负载量是否小于预设的第二阈值,其中,上述第二阈值小于预设的低谷阈值,在上述业务负载量大于上述低谷阈值的情况下触发执行缩容处理;在上述业务负载量小于上述第二阈值的情况下,确定上述冷却增长量,上述检测周期减少量,以及上述扩容下限降低量。
可以理解,由于对默认类的冷却增长量,检测周期减少量,以及扩容下限降低量进行调整,是在大小调整的缩容处理基础上进行的,可以按照业务负载量进行选择是否执行对冷却增长量,检测周期减少量,以及扩容下限降低量的调整。需要判断业务负载量是否小于预设的第二阈值,第二阈值小于触发缩容处理的低谷阈值。在业务负载量小于第二阈值的情况下,视为需要对缩容处理下限进行降低,因此确定得到进行调整的冷却增长量,检测周期减少量,以及扩容下限降低量。通过上述处理,可以根据当前应用场景选择是否启用对默认类参数的调节,开启后在已有的HPA规则作为缩容的兜底机制,防止应用的CPU或者内存异常等异常场景,随意对应用进行缩容,在HPA规则的基础上,本发明实施例对冷却增长量,检测周期减少量,以及扩容下限降低量作为另一种自适应伸缩设置,提供了相比相关技术中更灵活的缩容处理,及时释放多余的容器容量,有利于为提高资源利用率提供支持。
作为一种可选的实施例,在上述获取服务器集群中的业务负载量之后,上述方法还包括:检测上述容器编排引擎中的目标应用模板是否处于运行状态,其中,上述目标应用模板用于控制至少一个存在交互关系的容器,为上述服务器集群中对应的服务器进行应用服务;在上述目标应用模板处于运行状态的情况下,激活对上述目标应用模板执行扩缩容处理。
可以理解,目标应用模板用于控制至少一个存在交互关系的容器,为服务器集群中对应的服务器进行应用服务,在基于应用服务选择目标应用模板之后,分配一条线程用于检测容器编排引擎中的目标应用模板是否处于运行状态,上述运行状况可以包括目标应用目标释放运行,运行于哪个容器集群。在目标应用模板处于运行状态的情况下,激活对目标应用模板执行扩缩容处理。通过上述处理,应用服务无需关心目标应用目标的具体运行,在目标应用目标处于运行状态下,可以激活后续伸缩相关动态调整参数的相关操作。
作为一种可选的实施例,在上述检测上述容器编排引擎中的目标应用模板是否处于运行状态之前,上述方法还包括:确定上述业务请求对应的应用模板类型;基于上述应用模板类型,在上述容器编排引擎中存储的至少一个应用模板中确定上述目标应用模板。
可以理解,不同的应用服务对应有着不同的应用模板,上述至少一个应用模板存储在预设数据库中,按照业务请求的应用目标类型,在容器编排引擎中存储的至少一个应用模板中确定目标应用模板。
本发明实施例中提供了一种具体实施方式,图2是根据本申请实施例提供的业务容器扩缩容调整方法的示意图,如图2所示,主要有以下组件构成:HPA弹性伸缩器,具备动态调整规则参数(监控周期、最小扩缩数、冷却时间)的自适应伸缩器,业务指标采集器。需要说明的是,HPA弹性伸缩器为相关技术中已有的伸缩机制,自适应伸缩器为本发明实施例中设置的伸缩机制,业务指标采集器用于获取业务负载量,以下具体说明。
容器编排引擎的数据库中存储由多种应用模板为不同应用服务提供处理支持,在基于业务请求确定完毕目标应用模板之后,自适应伸缩器将将单独分配一条线程任务给目标应用模板,该线程任务会主动去探测目标应用模板的运行状态,确定目标应用模板是否运行,运行于哪种容器集群中,在探测到目标应用模板运行后,将激活后续伸缩相关动态调整参数的相关操作。
在激活扩缩容处理后,采用HPA弹性伸缩器,作为扩缩的兜底机制。防止有异常场景(譬如应用的CPU或者内存异常)时随意对应用进行扩缩。
在HPA弹性伸缩器的基础上,具备动态调整能力的自适应伸缩器,可以依据业务指标采集器获取到的业务负载量,如CPU资源,或是内存等的使用情况,确定自身是否进行对规则参数的调整功能,自适应伸缩器自动调整对应的规则参数,至少包括检测周期,扩缩上下限,冷却时间。
在业务高峰前会根据探测到的业务负载量,提高监控周期、降低冷却时间、调高扩容上限,持续保证业务可用性,及时增加模板的资源,帮助应用灵活应对突发流量。
在业务低峰时,则会降低监控周期、提高冷却时间,降低缩容下限,及时释放掉应用不使用的资源,避免资源浪费,灵活的使用资源。
通过上述处理,本发明实施例提供的具体实施方式可以实现以下效果:拓展了相关技术中已有的HPA机制中的伸缩任务,解除了由于周期、冷却\延迟时间等默认的规则参数无法灵活变化,提升了伸缩调节灵活性,使得扩缩容调整具备轻便,定制化的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种业务容器扩缩容调整装置,需要说明的是,本申请实施例的业务容器扩缩容调整装置可以用于执行本申请实施例所提供的用于业务容器扩缩容调整方法。以下对本申请实施例提供的业务容器扩缩容调整装置进行介绍。
图3是根据本申请实施例的业务容器扩缩容调整装置的示意图。如图3所示,该装置包括:获取模块302,检测模块304,第一确定模块306,第二确定模块308,以下具体说明。
获取模块302,用于获取服务器集群中的业务负载量,其中,上述业务负载量用于表征上述服务器集群为业务请求提供应用服务的负载量;
检测模块304,与获取模块302连接,用于基于上述业务负载量,检测容器编排引擎是否需要执行扩缩容处理,其中,上述容器编排引擎包括了N个容器,上述N个容器用于为上述服务器集群中对应的服务器提供应用服务,N为大于1的正整数;
第一确定模块306,与检测模块304连接,用于在检测结果为上述容器编排引擎需要执行扩缩容处理的情况下,确定上述容器编排引擎执行扩缩容处理后的冷却时长,其中,上述容器编排引擎用于分配上述服务器集群中的服务器与上述容器编排引擎生成的容器进行交互;
第二确定模块308,与第一确定模块306连接,用于基于上述冷却时长,确定上述容器编排引擎执行扩缩容处理的扩缩容策略。
本申请实施例提供的业务容器扩缩容调整装置,通过设置获取模块302,用于获取服务器集群中的业务负载量,其中,上述业务负载量用于表征上述服务器集群为业务请求提供应用服务的负载量;检测模块304,与获取模块302连接,用于基于上述业务负载量,检测容器编排引擎是否需要执行扩缩容处理,其中,上述容器编排引擎包括了N个容器,上述N个容器用于为上述服务器集群中对应的服务器提供应用服务,N为大于1的正整数;第一确定模块306,与检测模块304连接,用于在检测结果为上述容器编排引擎需要执行扩缩容处理的情况下,确定上述容器编排引擎执行扩缩容处理后的冷却时长,其中,上述容器编排引擎用于分配上述服务器集群中的服务器与上述容器编排引擎生成的容器进行交互;第二确定模块308,与第一确定模块306连接,用于基于上述冷却时长,确定上述容器编排引擎执行扩缩容处理的扩缩容策略。达到了对容器编排引擎中默认的运行参数进行动态调整的目的,解决了相关技术中对扩缩容调整灵活性不理想的问题,进而达到了减少扩缩容调整局限性的效果。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
此处需要说明的是,上述获取模块302,检测模块304,第一确定模块306,第二确定模块308对应于实施例中的步骤S102至步骤S108,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例中的相关描述,此处不再赘述。
上述业务容器扩缩容调整装置包括处理器和存储器,上述单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来执行业务容器扩缩容调整。
存储器可能包括计算机可读介质中的非永久存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种非易性存储介质,其上存储有程序,该程序被处理器执行时实现上述业务容器扩缩容调整方法。
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述业务容器扩缩容调整方法。
如图4所示,本发明实施例提供了一种电子设备,该电子设备10包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取服务器集群中的业务负载量,其中,上述业务负载量用于表征上述服务器集群为业务请求提供应用服务的负载量;基于上述业务负载量,检测容器编排引擎是否需要执行扩缩容处理,其中,上述容器编排引擎包括了N个容器,上述N个容器用于为上述服务器集群中对应的服务器提供应用服务,N为大于1的正整数;在检测结果为上述容器编排引擎需要执行扩缩容处理的情况下,确定上述容器编排引擎执行扩缩容处理后的冷却时长,其中,上述容器编排引擎用于分配上述服务器集群中的服务器与上述容器编排引擎生成的容器进行交互;基于上述冷却时长,确定上述容器编排引擎执行扩缩容处理的扩缩容策略。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取服务器集群中的业务负载量,其中,上述业务负载量用于表征上述服务器集群为业务请求提供应用服务的负载量;基于上述业务负载量,检测容器编排引擎是否需要执行扩缩容处理,其中,上述容器编排引擎包括了N个容器,上述N个容器用于为上述服务器集群中对应的服务器提供应用服务,N为大于1的正整数;在检测结果为上述容器编排引擎需要执行扩缩容处理的情况下,确定上述容器编排引擎执行扩缩容处理后的冷却时长,其中,上述容器编排引擎用于分配上述服务器集群中的服务器与上述容器编排引擎生成的容器进行交互;基于上述冷却时长,确定上述容器编排引擎执行扩缩容处理的扩缩容策略。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种业务容器扩缩容调整方法,其特征在于,包括:
获取服务器集群中的业务负载量,其中,所述业务负载量用于表征所述服务器集群为业务请求提供应用服务的负载量;
基于所述业务负载量,检测容器编排引擎是否需要执行扩缩容处理,其中,所述容器编排引擎包括了N个容器,所述N个容器用于为所述服务器集群中对应的服务器提供应用服务,N为大于1的正整数;
在检测结果为所述容器编排引擎需要执行扩缩容处理的情况下,确定所述容器编排引擎执行扩缩容处理后的冷却时长,其中,所述容器编排引擎用于分配所述服务器集群中的服务器与所述容器编排引擎生成的容器进行交互;
基于所述冷却时长,确定所述容器编排引擎执行扩缩容处理的扩缩容策略。
2.根据权利要求1所述的方法,其特征在于,所述基于所述冷却时长,确定所述容器编排引擎执行扩缩容处理后的扩缩容策略,包括:
在所述容器编排引擎执行扩容处理的情况下,基于所述业务负载量,确定所述冷却时长的冷却缩短量,检测周期增加量,以及扩容上限提高量,其中,所述检测周期增加量为对所述业务负载量进行检测的周期增加量;
基于所述冷却缩短量,所述检测周期增加量,以及所述扩容上限提高量,确定所述容器编排引擎执行扩容处理的扩缩容策略。
3.根据权利要求2所述的方法,其特征在于,所述在所述容器编排引擎执行扩容处理的情况下,基于所述业务负载量,确定所述容器编排引擎执行扩容处理的所述冷却时长的冷却缩短量,检测周期增加量,以及扩容上限提高量,包括:
判断所述业务负载量是否大于预设的第一阈值,其中,所述第一阈值大于预设的高峰阈值,在所述业务负载量大于所述高峰阈值的情况下触发执行扩容处理;
在所述业务负载量大于所述第一阈值的情况下,确定所述冷却缩短量,所述检测周期增加量,以及所述扩容上限提高量。
4.根据权利要求1所述的方法,其特征在于,所述基于所述冷却时长,确定所述容器编排引擎执行扩缩容处理后的扩缩容策略,包括:
在所述容器编排引擎执行缩容处理的情况下,基于所述业务负载量,确定所述冷却时长的冷却增长量,检测周期减少量,以及扩容下限降低量,其中,所述检测周期减少量为对所述业务负载量进行检测的周期减少量;
基于所述冷却增长量,所述检测周期减少量,以及所述扩容下限降低量,确定所述容器编排引擎执行缩容处理的扩缩容策略。
5.根据权利要求2所述的方法,其特征在于,所述在所述容器编排引擎执行缩容处理的情况下,基于所述业务负载量,确定所述容器编排引擎执行扩容处理的所述冷却时长的冷却增长量,检测周期减少量,以及扩容下限降低量,包括:
判断所述业务负载量是否小于预设的第二阈值,其中,所述第二阈值小于预设的低谷阈值,在所述业务负载量大于所述低谷阈值的情况下触发执行缩容处理;
在所述业务负载量小于所述第二阈值的情况下,确定所述冷却增长量,所述检测周期减少量,以及所述扩容下限降低量。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,在所述获取服务器集群中的业务负载量之后,所述方法还包括:
检测所述容器编排引擎中的目标应用模板是否处于运行状态,其中,所述目标应用模板用于控制至少一个存在交互关系的容器,为所述服务器集群中对应的服务器进行应用服务;
在所述目标应用模板处于运行状态的情况下,激活对所述目标应用模板执行扩缩容处理。
7.根据权利要求6所述的方法,其特征在于,在所述检测所述容器编排引擎中的目标应用模板是否处于运行状态之前,所述方法还包括:
确定所述业务请求对应的应用模板类型;
基于所述应用模板类型,在所述容器编排引擎中存储的至少一个应用模板中确定所述目标应用模板。
8.一种业务容器扩缩容调整装置,其特征在于,包括:
获取模块,用于获取服务器集群中的业务负载量,其中,所述业务负载量用于表征所述服务器集群为业务请求提供应用服务的负载量;
检测模块,用于基于所述业务负载量,检测容器编排引擎是否需要执行扩缩容处理,其中,所述容器编排引擎包括了N个容器,所述N个容器用于为所述服务器集群中对应的服务器提供应用服务,N为大于1的正整数;
第一确定模块,用于在检测结果为所述容器编排引擎需要执行扩缩容处理的情况下,确定所述容器编排引擎执行扩缩容处理后的冷却时长,其中,所述容器编排引擎用于分配所述服务器集群中的服务器与所述容器编排引擎生成的容器进行交互;
第二确定模块,用于基于所述冷却时长,确定所述容器编排引擎执行扩缩容处理的扩缩容策略。
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质存储有多条指令,所述指令适于由处理器加载并执行权利要求1至7中任意一项所述的业务容器扩缩容调整方法。
10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的业务容器扩缩容调整方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310266515.5A CN116204277A (zh) | 2023-03-13 | 2023-03-13 | 业务容器扩缩容调整方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310266515.5A CN116204277A (zh) | 2023-03-13 | 2023-03-13 | 业务容器扩缩容调整方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116204277A true CN116204277A (zh) | 2023-06-02 |
Family
ID=86519166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310266515.5A Pending CN116204277A (zh) | 2023-03-13 | 2023-03-13 | 业务容器扩缩容调整方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116204277A (zh) |
-
2023
- 2023-03-13 CN CN202310266515.5A patent/CN116204277A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111104208B (zh) | 进程调度管理方法、装置、计算机设备及存储介质 | |
CN109739627B (zh) | 任务的调度方法、电子设备及介质 | |
US10069757B1 (en) | Reserved network device capacity | |
CN106899649B (zh) | 一种任务请求处理方法、装置和用户设备 | |
CN110618869B (zh) | 一种资源管理方法、装置及设备 | |
CN110018781B (zh) | 磁盘流控方法、装置以及电子设备 | |
CN109960591A (zh) | 一种面向租户资源侵占的云应用资源动态调度的方法 | |
CN111858200B (zh) | 系统测试中的吞吐量控制方法、装置及电子设备 | |
US10635501B2 (en) | Adaptive scaling of workloads in a distributed computing environment | |
CN113157428A (zh) | 基于容器的资源调度方法、装置及容器集群管理装置 | |
CN113760549B (zh) | 一种pod部署方法及装置 | |
CN113595773B (zh) | 信息处理方法、装置、电子设备和存储介质 | |
CN114546587A (zh) | 一种在线图像识别服务的扩缩容方法及相关装置 | |
CN113826082A (zh) | 一种用于控制散热装置的方法及其设备 | |
CN111338803B (zh) | 一种线程处理方法和装置 | |
CN110955502B (zh) | 一种任务调度方法及装置 | |
CN111913792A (zh) | 一种业务处理方法和装置 | |
CN116204277A (zh) | 业务容器扩缩容调整方法、装置、存储介质及电子设备 | |
CN116489103A (zh) | 业务限流方法、装置及业务处理系统 | |
CN115048186A (zh) | 业务容器的扩缩容处理方法、装置、存储介质及电子设备 | |
WO2021012974A1 (zh) | 基于云平台的容器化应用网络流控方法、装置、设备及存储介质 | |
CN105763508B (zh) | 一种数据访问方法和应用服务器 | |
CN108270744B (zh) | 媒体数据访问方法及装置 | |
CN108279973B (zh) | 一种信息统计方法、装置及电子设备 | |
CN112579305A (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 |