CN117573270A - 横向容器组自动扩缩容方法以及可自动扩缩容的容器组 - Google Patents
横向容器组自动扩缩容方法以及可自动扩缩容的容器组 Download PDFInfo
- Publication number
- CN117573270A CN117573270A CN202210942580.0A CN202210942580A CN117573270A CN 117573270 A CN117573270 A CN 117573270A CN 202210942580 A CN202210942580 A CN 202210942580A CN 117573270 A CN117573270 A CN 117573270A
- Authority
- CN
- China
- Prior art keywords
- container
- container group
- index
- containers
- target value
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000008602 contraction Effects 0.000 title claims abstract description 25
- 238000012544 monitoring process Methods 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 6
- 238000005315 distribution function Methods 0.000 claims description 2
- 238000001914 filtration Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 206010026749 Mania Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/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/45591—Monitoring or debugging support
-
- 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/45595—Network integration; Enabling network access in 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于大数据服务技术领域,具体公开了横向容器组自动扩缩容方法以及可自动扩缩容的容器组。横向容器组自动扩缩容方法包括:基于所述容器组的历史数据分析所述容器组的性能,得到指示所述性能的第一指标的目标值,并将所述目标值设置为所述容器组的目标值;监测所述容器组的运行情况,得到所述第一指标的当前值和所述容器组中容器数量的当前值;根据所述第一指标的所述当前值、所述第一指标的所述目标值和容器数量的当前值计算与所述第一指标的所述当前值相匹配的容器数量的期望值,当所述容器数量的期望值与所述容器数量的当前值不符合时,调整所述容器数量的当前值。本发明的优点在于可以节省大量用于观察容器组工作性能的大量人力和时间。
Description
技术领域
本发明涉及大数据服务技术领域,尤其涉及了一种计算集群中横向容器组自动扩缩容方法以及可自动扩缩容的容器组。
背景技术
目前,大多数通过网络推广和应用的应用程序往往都具有海量的用户数量,通常需要计算集群来对其进行技术支撑。用户在使用这些应用程序时往往具有一些特点,例如,面向个人用户的生活类的应用程序,其计算集群的流量普遍具有潮汐性,即在白天和傍晚流量会很高,而在深夜流量并不高。这直接导致了计算集群提供的计算资源是随着时间变化而变化的。
为了提高整体计算集群的利用率,保证服务在流量高峰期平稳的运行,诞生了横向容器组自动扩缩容技术。但目前业界公开的方案里只能手动设置用于衡量是否需要扩缩容的目标值,而靠人工分析是意见经验注意的事,并且极其耗费人力,时间和耐心的。因此需要设定可量化的衡量标准,从而降低人工的参与,提高目标值的可信度。
发明内容
为了解决上述缺陷,进一步提高计算机资源的利用效率,本发明提出了一种计算集群中横向容器组自动扩缩容方法以及可自动扩缩容的容器组。
本发明首先提出了一种计算集群中横向容器组自动扩缩容方法,应用于电子设备,包括:
基于所述容器组的历史数据分析所述容器组的性能,得到指示所述性能的第一指标的目标值,并将所述目标值设置为所述容器组的目标值;
监测所述容器组的运行情况,得到所述第一指标的当前值和所述容器组中容器数量的当前值;
根据所述第一指标的所述当前值、所述第一指标的所述目标值和容器数量的当前值计算与所述第一指标的所述当前值相匹配的容器数量的期望值,当所述容器数量的期望值与所述容器数量的当前值不符合时,调整所述容器数量的当前值。
上述的方法中,所述基于所述容器组的历史数据分析所述容器组的性能,得到指示所述性能的第一指标的目标值,包括:
获取当前时刻之前的第一时间段的所述历史数据,所述历史数据包括所述计算集群中所有容器组的基础指标;
为每一个所述容器组分别计算所述基础指标中的所述第一指标的平均值和方差;
基于所有容器组的所述第一指标的所述平均值和所述方差选定所述目标值。
上述的方法中,还包括过根据所述平均值和所述方差滤除所述历史数据中的异常值。
上述的方法中,所述第一指标包括CPU利用率、内存利用率。
上述的方法中,所述基于所有容器组的所述第一指标的所述平均值和所述方差选定所述目标值,包括采用分布函数来确定所述目标值。
基于同一发明构思,本发明还提供了计算集群中可自动扩缩容的容器组,包括:
服务画像模块,基于所述容器组的历史数据分析所述容器组的性能,得到指示所述性能的第一指标的目标值;
横向扩缩容模块,用于在线监测所述容器组的基础性能,并实时控制所述容器组扩容或缩容,具体包括:
将所述目标值设置为所述容器组的目标值;
监测所述容器组的运行情况,得到所述第一指标的当前值和所述容器组中当前容器数;
根据所述第一指标的所述目标值为所述容器组设置目标容器数量,所述目标容器数量为容器组内与所述第一指标的所述目标值相匹配的最大容器数量;
根据所述第一指标的所述当前值、所述目标容器数量和所述目标值计算与所述第一指标的所述当前值相匹配的容器数量的期望值,当所述容器数量的期望值与所述容器数量的当前值不符合时,调整所述容器数量的当前值。
上述的容器组中,所述服务画像模块进一步包括:
获取当前时刻之前的第一时间段的所述历史数据,所述历史数据包括所述计算集群中所有容器组的基础指标;
为每一个所述容器组分别计算所述基础指标中的所述第一指标的平均值和方差;
基于所有容器组的所述第一指标的所述平均值和所述方差选定所述目标值。
基于同一发明构思,本发明还提供了一种电子设备,包括:
至少一个存储器,用于存储计算机指令;
至少一个处理器,当所述至少一个处理器执行所述计算机指令时,实现上述的显示方法。
基于同一发明构思,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机指令,所述至少一条指令由处理器加载并执行,以实现上述的显示方法。
基于同一发明构思,本发明还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令由处理器执行时,实现上述的显示方法。
与现有技术相比,本申请所提出的技术方案通过数据分析的方法得到性能指标的实时的目标值,也就是说,该目标值是根据容器组的最近一段时间的性能表现而确定的,将其应用于控制是否需要启动自动扩缩容可以更有效、更贴近容器组当下的性能。并且,相对于现有技术中人工凭借经验来设置固定的目标值能节省大量用于观察容器组工作性能的大量人力和时间。
附图说明
图1示出了根据本申请一些实施例提出的应用环境图;
图2示出了根据本申请一些实施例提出的电子设备的基本硬件结构示意图;
图3示出了根据本申请一些实施例提出的模块图;
图4示出了根据本申请一些实施例提出的流程图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点及功效。虽然本发明的描述将结合较佳实施例一起介绍,但这并不代表此发明的特征仅限于该实施方式。恰恰相反,结合实施方式作发明介绍的目的是为了覆盖基于本发明的权利要求而有可能延伸出的其它选择或改造。为了提供对本发明的深度了解,以下描述中将包含许多具体的细节。本发明也可以不使用这些细节实施。此外,为了避免混乱或模糊本发明的重点,有些具体细节将在描述中被省略。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
图1示出了根据本申请一些实施例提出的应用环境图。
图中,用户终端11~13可以是台式终端或移动终端,移动终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等。用户终端11~13还可以安装有可以进行访问远程服务的应用,例如浏览器或者客户端。本申请实施例涉及的应用可以是软件客户端,也可以是网页、小程序等客户端,若应用为网页、小程序等客户端时,后台服务器则是与软件或是网页、小程序等相对应的后台服务器,不限制客户端的具体类型。
服务器14是用户终端11~13上所安装的应用程序的相应后台服务器,该后台服务器可以是独立的物理服务器或者是多个服务器组成的服务器集群或分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。容器组14a、14b是安排在同一服务器14上的容器集合。容器组中的各容器共享生命周期、资源、本地网络和存储卷。
用户终端11~13和服务器14之间通过网络连接,网络包括一个或多个,并且可以包括各种连接类型,例如有线、无线通信链路、云或者光纤电缆等等,上述的网络具体实例可以是为用户终端11~13的通信供应商提供的互联网。
如图1所示,用户终端11~13中安装有应用程序的客户端,服务器14中可以包括一个或多个容器组,例图中所示的容器组14a、14b。多个服务器14构成计算集群,用于向用户终端11~13中的应用程序客户端提供服务。由于一个服务会对应一套容器组,对于用户量很大的应用程序,在计算集群里将存在海量的服务。而这些服务的数量根据正在使用该应用程序的用户数量的变化而变化,也就是说,对容器组的需求量会有变化。明显,当服务的需求量较少而容器组中容器的数量较大的时候,会造成资源的浪费,而当服务的需求量较大而容器数量较少时,则影响使用客户端的用户的使用感受。
HPA(Horizontal Pod Autoscaler,横向容器自动伸缩器)技术通过监测CPU使用率、内存使用率或者其他自定义的度量标准来触发自动扩展或缩容容器的数量。以监测CPU使用率为例,首先需要设定一个合理的CPU使用率的阈值,当实际的CPU使用率与实际使用的容器数量不匹配时,容器组会启动自动扩缩操作,根据当前实际的CPU使用率、CPU使用率的目标值(阈值)以及当前实际使用的容器数量来计算与当前实际的CPU使用率相匹配的容器数量。
本发明所提供的有关横向容器组自动扩缩容的方法的实施例可以在例如服务器的多种电子设备中运行。图2给出了根据本申请一些实施例提出的电子设备100的基本硬件结构示意图。
如图2所示,电子设备100至少包括主处理器101和存储介质103,根据实际使用需求的不同,电子设备100还可以包括协处理器102、I/O单元104、网络通信单元105和一些其他扩展单元106。其中协处理器102、I/O单元104、网络通信单元105和其他扩展单元106的可选择性用虚线体现在图中。
主处理器101和/或协处理器102用于执行存储在存储介质103中的计算机指令,以实现本发明所提出的方法。主处理器101是电子设备100的控制中心,通常为通用处理器(例如,英特尔各系列的CPU),可以较为均衡地实现逻辑处理和算术计算。主处理器101利用各种接口连接整个电子设备100的各个部分,通过运行或执行存储在存储介质103内的软件程序,以及调用存储在存储介质103内的数据,来实现电子设备100的各种功能,从而对电子设备100进行整体监控。
协处理器102通常是专用处理器(例如,用户可编程的嵌入式微处理器),用来实现某一项单一功能。例如,协处理器102可以是图像处理器(GPU,Graphic Process Unit),专用于处理图形图像的处理。主处理器101此时不直接处理有关图形图像的信息,而是向协处理器102提供来自其他单元的数据或者向协处理器102发送管理指令,以指示协处理器102从其他单元获取数据,并且,在协处理器102处理完数据后,主处理器101从协处理器102接收处理结果,以便后续根据该处理结果做出其他判决。对于不同专业领域来说,协处理器102还可以是信号处理器、网络通信处理器、复杂计算处理器等。通常,协处理器102的硬件实现基础是数字信号处理(DSP,Digital Signal Process)芯片,或者复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)等专用集成电路(ASIC,Application Specific IntegratedCircuit)。
存储介质103可以包括内部存储器和外部存储器,或者还可以包括易失性存储器和非易失性存储器,或者还可以包括磁性存储装置、固态存储器、闪存、软盘和硬盘等。存储介质103可用于存储操作系统(例如,可以由主处理器101来执行)及该操作系统在运行过程中产生的数据、应用软件的软件程序及该应用软件在运行过程中产生的数据、专用模块的软件程序(例如,可以由某一协处理器102来执行)及该程序在运行过程中产生的数据。例如,本发明的一个实施例中,主处理器101通过运行存储在存储介质103内的监测程序,来执行各种功能应用以及数据处理。在一些实施例中,存储介质103还可以是相对于主处理器101远程设置的远程存储器(相对通常意义上的存储器而言),这些远程存储器可以通过网络连接的方式(例如通过网络通信设备105)连接到主处理器101或某一协处理器102。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
I/O(Input/Output,输入输出)单元104包括信息的输入设备和信息的输出设备,其使得用户能够与电子设备100进行交互。输入设备可用于接收输入的数字或字符信息,具体可以包括:键盘、鼠标、操作杆、触摸输入设备或者轨迹球等。输出设备可以用于输出/显示经电子设备100处理的处理结果,该处理结果可以是根据输入设备输入的信息而做出的。具体的,输出设备可以包括:液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等。
网络通信单元105通过有/无线网络的连接来实现电子设备100与远程的各种设备之间的通信,从而使得电子设备100还可以与远程的设备(例如,前文所述的远程存储器)交换数据。或者,电子设备100还可以通过网络通信单元105实现与其他电子设备(例如安装有客户端的电子设备)的连接,从而使得电子设备100可以作为大型系统中的一部分,与其他电子设备进行交互。
其他扩展单元106包括多种外围组件及其接口,从而使得电子设备100可以与多种设备进行交互。例如,通过蓝牙接口,可以与蓝牙耳机连接,从而电子设备100播放的音频可以被蓝牙耳机接收。又如,通过总线接口(例如RS-485总线),电子设备100可以与一些传感器连接,从而获得一些监测数据来辅助电子设备100来实现特定功能。在各种实施例中,其他扩展接口106可以单独存在,也可以与电子设备100的其他组件集成。同时,其他扩展接口106是可选的,其任选性质用虚线表示在图中。
图3示出了根据本申请一些实施例提出的模块图。
历史数据31中保存了计算集群中所有容器组的历史数据。此处所说的历史数据不仅包括了应用程序运行时所产生的数据,还可以包括容器组在过去很长一段时间内运行所述应用程序时的性能指标。性能指标可以包括如CPU利用率、内存的利用率或其他需要关注的性能。
服务画像模块32从历史数据31中获取历史数据,并基于该历史数据分析所述容器组的性能,得到指示所述性能的第一指标的目标值。以下以CPU利用率作为第一指标来进行说明。在其他的实施例中,第一指标也可以是内存利用率,或其他指定的性能指标。
具体的,服务画像模块32可以是数据分析系统中的服务画像服务,服务画像服务实时拉取数据源,从服务链路追踪服务中提取应用程序运行时的CPU利用率(基础指标的一种),将关于CPU利用率的数据存储为一些列数据点。数据点可存储为数组,数组内的元素依次为:容器名-容器所属容器组-数据指标-时间戳。选择时间间隔15s提取一个数据点,则容器组a中的第0个容器的一组数据点将构成如表1所示的数据表:
表1
容器组a | CPU利用率 | 时间戳 | |
1 | 容器a-0 | 20% | 2022/05/01 17:00:00 |
2 | 容器a-0 | 25% | 2022/05/01 17:00:15 |
… | … | … | … |
上表中,容器a-0表示容器组a中的容器0,第一条数据表示在时间戳时间2022年5月1日的17:00:00时,容器组a中的容器0的CPU利用率为20%。第二条数据表示在时间戳时间2022年5月1日的17:00:15时,容器组a中的容器0的CPU利用率为25%。
进一步地,如果选取当前时刻之前的一天时间内的数据,上述关于容器组a中的容器0的数据表中将有5760个数据。如选取当前时刻之前的一周内的数据,上表将包含4万多个数据。
一个容器组中可以包括不止一个容器,例如,容器组a中还可以包括容器1。以与容器0相同的方式提取容器1的CPU利用率数据,得到如表2所示的数据表:
表2
容器组a | CPU利用率 | 时间戳 | |
1 | 容器a-1 | 20% | 2022/05/01 17:00:00 |
2 | 容器a-1 | 25% | 2022/05/01 17:00:15 |
… | … | … | … |
基于表1和表2所示的数据的出现是随机事件(即在一个时刻出现多少用户来访问或使用应用程序是一个随机时间),其基本满足正态分布的规律,将表1和表2中的所有CPU利用率(不管是哪个容器的利用率)按正态分布的规律计算平均值和方差,得到容器组a的平均CPU利用率,即,可以得到一条关于容器组a的数据。如果有容器组b,则采用相同的方法可以得到容器组b的平均CPU利用率数据,如表3所示。
表3
容器组名 | 时间窗 | 平均CPU利用率 | CPU利用率方差 |
容器组a | 过去一天 | 30% | 0.813 |
容器组b | 过去一天 | 25% | 0.692 |
基于服务器(也可以说是容器组,因为容器组依托于服务器而存在)所在物理环境的影响,服务器运行的稳定度会受到影响,会出现明显不符合正常情况的离散的异常值,有时需要对这些异常值进行去毛刺处理,才能获得比较真实的数据。去除毛刺数据的方法可以是删除平均值附近大于2倍方差的数据。对于容器组a中的所有CPU利用率数据(例如表1和表2所示的数据)来说,可以依次遍历一遍所有数据,将其中CPU利用率大于(30%+2*0.813)的数据都删除。
删除毛刺数据后,可以通过统计学的方法为CPU利用率选定一个目标值,该目标值可以与一个容器数量相匹配,也就是说,当CPU利用率为目标值时,容器组a中的容器数量应当时与CPU利用率相匹配的,如果不匹配,则说明应该调整容器数量,即应该执行扩缩容操作。同理,容器的实际CPU利用率也应该与一个特定的容器数量相匹配。如果不匹配,则说明应该调整容器数量,即应该执行扩缩容操作。
以上所述的CPU利用率的目标值可以通过Quantile90来确定。Quantile函数是用来表征随机变量的累计分布情况的函数。Quantile90是取其中的90分位,也就是返回90%处的CPU利用率的数值。该数值指示了,根据容器组的历史表现,该容器组中曾经出现过的平均CPU利用率中处于较高水平的利用率,从而能够反映出该容器组中绝大多数的容器最常达到的CPU利用率。
横向扩缩容模块33一方面接收服务画像模块32给出的CPU利用率的目标值及与其相匹配的容器数量目标值,另一方面通过监测集群容器组34(例如,上述的容器组a和/或b)来获得当前的CPU利用率和容器数量的当前值。
然后,横向扩缩容模块33以CPU利用率的目标值和容器数量的目标值为标准值,与当前的CPU利用率和当前的容器数量进行比较,若当前的容器数量与当前的CPU利用率不匹配,则集群容器组34在横向扩缩容模块33的控制下,执行扩缩容的操作。
具体的,利用以下的公式(1)计算与当前的CPU利用率相匹配的容器数量的期望值:
例如,设当前的CPU利用率是200%,而CPU利用率的目标值设置为50%,若容器数量的当前值为4,则通过计算可知,容器数量的期望值为16。也就是说当前需要将实例数扩容到16个,横向扩缩容模块33根据这一数值来启动扩缩容操作。图4示出了上述的服务画像模块32和横向扩缩容模块33实施一个具体实施例时的具体流程图。
S1,服务画像模块32基于容器组的历史数据(即历史数据31中的数据)分析所述容器组的性能,得到指示所述性能的第一指标(例如上文实施例中所使用的CPU使用率这个指标)的目标值,并将所述目标值设置为所述容器组的目标值。其中,具体的步骤和过程可以参考上文中关于服务画像模块32的说明,此处不再赘述。
S2,横向扩缩容模块33监测所述容器组的运行情况,得到所述第一指标的当前值和所述容器组中当前容器数。具体的,横向扩缩容模块33可以通过计算集群中的服务链路追踪服务来获取容器组当前的CPU利用率、内存利用率和容器数量等参数。
S3,根据所述第一指标的所述当前值、所述目标容器数量和所述目标值计算与所述第一指标的所述当前值相匹配的容器数量的期望值,当所述容器数量的期望值与所述容器数量的当前值不符合时,调整所述容器数量的当前值。其中,具体的步骤和细节可以参考上文中关于横向扩缩容模块33部分的说明。
S3中,调整容器组中容器数量的方法可以是现有或将来可能出现的任意方法,本申请对该部分内容不做限定。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机指令,所述至少一条指令由处理器加载并执行,以实现上述的方法。
本发明还公开了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令由处理器执行时,实现上述的方法。
综上,本发明通过对计算集群的历史数据的分析,针对某一个或多个性能指标计算出容器组可有效工作的阈值(或称目标水位线),然后将改阈值与容器组当前的性能指标值相比较,实时判断是否需要对容器组进行扩缩容操作。此处的阈值是根据历史数据获得的,相对现有技术中使用经验值的做法要更符合该容器组的实际情况,阈值设置得更为准确,符合容器组实际的性能。并且,对于历史数据的选取可以是进行分析的时刻之前的一天或一周,那样将更符合容器组当前的工作状态,有利于计算出符合实际情况狂的阈值。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
需要说明的是,上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
Claims (10)
1.一种计算集群中的横向容器组自动扩缩容方法,应用于电子设备,其特征在于,包括:
基于所述容器组的历史数据分析所述容器组的性能,得到指示所述性能的第一指标的目标值,并将所述目标值设置为所述容器组的目标值;
监测所述容器组的运行情况,得到所述第一指标的当前值和所述容器组中容器数量的当前值;
根据所述第一指标的所述当前值、所述第一指标的所述目标值和容器数量的当前值计算与所述第一指标的所述当前值相匹配的容器数量的期望值,当所述容器数量的期望值与所述容器数量的当前值不符合时,调整所述容器数量的当前值。
2.如权利要求1所述的方法,其特征在于,所述基于所述容器组的历史数据分析所述容器组的性能,得到指示所述性能的第一指标的目标值,包括:
获取当前时刻之前的第一时间段的所述历史数据,所述历史数据包括所述计算集群中所有容器组的基础指标;
为每一个所述容器组分别计算所述基础指标中的所述第一指标的平均值和方差;
基于所有容器组的所述第一指标的所述平均值和所述方差选定所述目标值。
3.如权利要求2所述的方法,其特征在于,还包括过根据所述平均值和所述方差滤除所述历史数据中的异常值。
4.如权利要求2所述的方法,其特征在于,所述第一指标包括CPU利用率、内存利用率。
5.如权利要求2所述的方法,其特征在于,所述基于所有容器组的所述第一指标的所述平均值和所述方差选定所述目标值,包括采用分布函数来确定所述目标值。
6.一种计算集群中可自动扩缩容的容器组,其特征在于,包括:
服务画像模块,基于所述容器组的历史数据分析所述容器组的性能,得到指示所述性能的第一指标的目标值;
横向扩缩容模块,用于在线监测所述容器组的基础性能,并实时控制所述容器组扩容或缩容,具体包括:
将所述目标值设置为所述容器组的目标值;
监测所述容器组的运行情况,得到所述第一指标的当前值和所述容器组中当前容器数;
根据所述第一指标的所述目标值为所述容器组设置目标容器数量,所述目标容器数量为容器组内与所述第一指标的所述目标值相匹配的最大容器数量;
根据所述第一指标的所述当前值、所述目标容器数量和所述目标值计算与所述第一指标的所述当前值相匹配的容器数量的期望值,当所述容器数量的期望值与所述容器数量的当前值不符合时,调整所述容器数量的当前值。
7.如权利要求6所述的容器组,其特征在于,所述服务画像模块进一步包括:
获取当前时刻之前的第一时间段的所述历史数据,所述历史数据包括所述计算集群中所有容器组的基础指标;
为每一个所述容器组分别计算所述基础指标中的所述第一指标的平均值和方差;
基于所有容器组的所述第一指标的所述平均值和所述方差选定所述目标值。
8.一种电子设备,其特征在于,包括:
至少一个存储器,用于存储计算机指令;
至少一个处理器,当所述至少一个处理器执行所述计算机指令时,实现如权利要求1-5中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机指令,所述至少一条指令由处理器加载并执行,以实现如权利要求1-5中任一项所述的方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令由处理器执行时,实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210942580.0A CN117573270A (zh) | 2022-08-08 | 2022-08-08 | 横向容器组自动扩缩容方法以及可自动扩缩容的容器组 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210942580.0A CN117573270A (zh) | 2022-08-08 | 2022-08-08 | 横向容器组自动扩缩容方法以及可自动扩缩容的容器组 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117573270A true CN117573270A (zh) | 2024-02-20 |
Family
ID=89883116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210942580.0A Pending CN117573270A (zh) | 2022-08-08 | 2022-08-08 | 横向容器组自动扩缩容方法以及可自动扩缩容的容器组 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117573270A (zh) |
-
2022
- 2022-08-08 CN CN202210942580.0A patent/CN117573270A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109345130B (zh) | 商业选址的方法、装置、计算机设备及存储介质 | |
CN109446041B (zh) | 一种服务器压力预警方法、系统及终端设备 | |
CN112668773B (zh) | 一种入库流量的预测方法、装置及电子设备 | |
CN114500339B (zh) | 一种节点带宽监测方法、装置、电子设备及存储介质 | |
CN113837631B (zh) | 员工评价方法、装置、电子设备及可读存储介质 | |
CN112434216A (zh) | 一种投资项目的智能推介方法、装置、存储介质和计算机设备 | |
CN106502875A (zh) | 一种基于云计算的日志生成方法及系统 | |
CN117633571A (zh) | 一种基于多重聚类的异常用户预警方法及装置 | |
CN111309835B (zh) | 一种空间数据可视化的处理方法、系统及设备 | |
CN117573270A (zh) | 横向容器组自动扩缩容方法以及可自动扩缩容的容器组 | |
CN116843395A (zh) | 一种业务系统的告警分级方法、装置、设备及存储介质 | |
CN114116528B (zh) | 一种内存访问地址预测方法、装置、存储介质及电子设备 | |
CN116050159A (zh) | 一种仿真场景集生成方法、装置、设备及介质 | |
CN115481767A (zh) | 面向配电网检修的运行数据处理方法、装置和计算机设备 | |
CN116166427A (zh) | 自动扩缩容方法、装置、设备及存储介质 | |
CN114201369A (zh) | 一种服务器集群管理方法、装置、电子设备及存储介质 | |
CN112860763B (zh) | 实时流数据处理方法、装置、计算机设备和存储介质 | |
CN113835953A (zh) | 作业信息的统计方法、装置、计算机设备和存储介质 | |
CN110570136B (zh) | 配送范围确定方法、装置、电子设备以及存储介质 | |
CN113392131A (zh) | 数据处理方法、装置及计算机设备 | |
CN113220967B (zh) | 互联网环境的生态健康程度衡量方法、装置和电子设备 | |
CN110298742B (zh) | 数据处理方法和装置 | |
CN116401061A (zh) | 资源数据的处理方法、装置、计算机设备及存储介质 | |
CN118213981A (zh) | 一种配电网调度参数确定方法、装置、设备及存储介质 | |
CN116823023A (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 |