CN117632373A - 一种弹性伸缩系统、方法、设备及存储介质 - Google Patents
一种弹性伸缩系统、方法、设备及存储介质 Download PDFInfo
- Publication number
- CN117632373A CN117632373A CN202311661768.9A CN202311661768A CN117632373A CN 117632373 A CN117632373 A CN 117632373A CN 202311661768 A CN202311661768 A CN 202311661768A CN 117632373 A CN117632373 A CN 117632373A
- Authority
- CN
- China
- Prior art keywords
- load prediction
- load
- data
- elastic expansion
- unit
- 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 48
- 238000012544 monitoring process Methods 0.000 claims description 69
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 16
- 230000008602 contraction Effects 0.000 claims description 11
- 238000012549 training Methods 0.000 claims description 11
- 230000003247 decreasing effect Effects 0.000 claims description 5
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 abstract description 15
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004220 aggregation Methods 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006378 damage Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- 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
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种弹性伸缩系统、方法、设备及存储介质,包括:负载预测模块和Kubernetes集群,所述负载预测模块与所述Kubernetes集群通过设定接口连接;所述负载预测模块,用于在满足预测式弹性伸缩触发条件时,获取所述Kubernetes集群的采集数据,根据采集数据进行负载预测,确定所述Kubernetes集群的负载预测结果;所述Kubernetes集群,用于通过设定接口抓取所述负载预测结果,根据所述负载预测结果执行弹性伸缩。上述技术方案,解决了Kubernetes负载资源不足导致的弹性伸缩延迟问题,避免系统出现突发性高负荷运行状态,降低系统响应时延,提高服务质量,保证用户的使用体验感。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种弹性伸缩系统、方法、设备及存储介质。
背景技术
对于在线应用来说,横向扩容能力是衡量系统性能的关键指标之一。目前Docker容器和Kubernetes正处于云计算浪潮的中心,为应用的部署和水平扩展提供了最大化的控制能力和灵活性。
Kubernetes内在的服务弹性扩容机制可以让其部署的系统根据资源使用的情况进行动态负载,应对业务高峰,不需要修改代码,即可从包含几个容器的小集群平滑扩展到拥有上百甚至上千个容器的大规模集群,系统就可以承受大量用户并发访问所带来的巨大压力。但容器的启动和调度需要数秒甚至数分钟的时间,导致弹性伸缩有延迟,在此期间,应用不足以应对负载增加导致的资源需求增加,使得应用的服务变慢,若此时负载持续上升,对资源的需求进一步加剧,应用处于高负荷运行的状态,会进一步影响用户获得响应的时间,致使应用服务质量下降。
发明内容
本发明提供了一种弹性伸缩系统、方法、设备及存储介质,解决了Kubernetes负载资源不足导致的弹性伸缩延迟问题,避免系统出现突发性高负荷运行状态,降低系统响应时延,提高服务质量,保证用户的使用体验感。
第一方面,本公开实施例提供了一种弹性伸缩系统,包括:负载预测模块和Kubernetes集群,所述负载预测模块与所述Kubernetes集群通过设定接口连接;
所述负载预测模块,用于在满足预测式弹性伸缩触发条件时,获取所述Kubernetes集群的采集数据,根据采集数据进行负载预测,确定所述Kubernetes集群的负载预测结果;
所述Kubernetes集群,用于通过设定接口抓取所述负载预测结果,根据所述负载预测结果执行弹性伸缩。
第二方面,本公开实施例提供了一种弹性伸缩方法,应用于弹性伸缩系统,包括:
通过负载预测模块,在满足预测式弹性伸缩触发条件时,获取所述Kubernetes集群的采集数据,根据采集数据进行负载预测,确定所述Kubernetes集群的负载预测结果;
通过Kubernetes集群,通过设定接口抓取所述负载预测结果,根据所述负载预测结果执行弹性伸缩。
第三方面,本公开实施例提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行上述第二方面实施例提供的弹性伸缩方法。
第四方面,本公开实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现上述第二方面实施例提供的弹性伸缩方法。
本发明实施例的一种弹性伸缩系统、方法、设备及存储介质,该系统包括负载预测模块和Kubernetes集群,所述负载预测模块与所述Kubernetes集群通过设定接口连接;所述负载预测模块,用于在满足预测式弹性伸缩触发条件时,获取所述Kubernetes集群的采集数据,根据采集数据进行负载预测,确定所述Kubernetes集群的负载预测结果;所述Kubernetes集群,用于通过设定接口抓取所述负载预测结果,根据所述负载预测结果执行弹性伸缩。上述技术方案,解决了Kubernetes负载资源不足导致的弹性伸缩延迟问题,避免系统出现突发性高负荷运行状态,降低系统响应时延,提高服务质量,保证用户的使用体验感。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种弹性伸缩系统的结构示意图;
图2是本发明实施例一提供的一种弹性伸缩系统中所涉及负载预测模块和Kubernetes集群之间的时序数据交互图;
图3是本发明实施例一提供的一种弹性伸缩系统中的所涉及的数据流图;
图4是本发明实施例二提供的一种弹性伸缩方法的流程图;
图5是本发明实施例三提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”和“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1是本发明实施例一提供的一种弹性伸缩系统的结构示意图,本实施例可适用于对Kubernetes进行负载预测并根据预测结果提前进行弹性伸缩的情形。
随着机器学习技术的兴起,AIOps(Artificial Intelligence for ITOperations,智能运维)随之得到发展,这使得Kubernetes集群的预测式自动弹性伸缩成为可能。这是一种借助人工智能辅助运维工作的方法,提前预测未来负载量,在负载高峰来临之前进行扩容,使应用及时得到资源。四阶段预测式自动弹性伸缩实现的关键点在于如何将负载预测算法的训练和预测过程应用于弹性伸缩的各个环节中。因此,本发明提供一种基于Pod和工作负载多层次聚合转换的Kubernetes预测式弹性伸缩方法来协调监控数据流和预测数据流,由弹性伸缩系统执行。
如图1所示,该系统包括:
负载预测模块11和Kubernetes集群12,负载预测模块11与Kubernetes集群12通过设定接口连接;
负载预测模块11,用于在满足预测式弹性伸缩触发条件时,获取Kubernetes集群12的采集数据,根据采集数据进行负载预测,确定Kubernetes集群12的负载预测结果;
Kubernetes集群12,用于通过设定接口抓取负载预测结果,根据负载预测结果执行弹性伸缩。
在本实施例中,负载预测模块可以理解为用于对相关联的Kubernetes集群进行实时负载情况预测的模块,负载预测模块可以是软件模块,也可以是硬件装置,负载预测模块的软硬件形式与Kubernetes集群的软硬件形式相关,本实施例对此不设限定。Kubernetes是一种开源容器编排工具,为应用程序提供自动部署、升级和回滚、资源调度、服务发现、负载均衡、存储与配置管理、扩容缩容等一系列功能。
Kubernetes集群自己具备一定的弹性自动伸缩组件HPA(Horizontal PodAutoscaler,Pod水平自动伸缩),是Kubernetes中根据实际工作负载水平伸缩容器数目的组件,可以基于CPU(Central Processing Unit,中央处理器)利用率等指标自动扩缩Deployment、ReplicaSet等工作负载中的Pod数量,当Pod中业务负载上升时自动触发创建新的Pod保证业务系统稳定运行,当Pod中业务负载下降时,自动销毁Pod来提高资源利用率。本方案针对Kubernetes的弹性伸缩,通过调整Pod实例的规模实现资源的增加或减少。每个Kubernetes集群中都存在相应的工作负载,工作负载是在Kubernetes上运行的应用程序,在Kubernetes中,工作负载是对一组Pod的抽象模型,可以理解为Pod的聚合载体,用于描述业务的运行载体,包括Deployment、StatefulSet、Daemonset、Job、CronJob等多种类型。其中,Pod是可以在Kubernetes中创建和管理的、最小的可部署的计算单元,是一组容器的集合,在Pod里面的容器共享网络、存储、以及怎样运行这些容器的声明。
可以理解的是,Kubernetes集群的资源监控对象是“动静结合”的,一部分对象是持久存在的,而这部分持久存在的对象下面的一些子项或者二级内容往往是动态的。由于容器轻量级的特性,运行过程中容器的生成、销毁变得快,所以监控指标针对的容器对象上一秒还存在,下一秒就因为容器的更新被销毁了,但是因为应用本身还是存在的,所以应用的各项监控指标还是存在的。此时如果监控数据单单是以容器作为监控对象的话,监控的历史数据一定会不全面,所以本发明根据Kubernetes多维度特性,将对多层次的数据进行聚合。首先采集Kubernetes集群中容器资源的监控指标数据以及集群资源对象的状态信息数据,并将采集的监控数据聚合到工作负载层次。因为工作负载层次的监控数据聚合了当前工作负载下当前时间所有Pod副本的监控数据,能够反映整个应用的负载情况,数据量连续且全面,能够用于机器学习算法的训练过程中。
在本实施例中,预测式弹性伸缩触发条件可以立即为负载预测模块11开启负载预测的触发条件,一般为到达预设时间节点,其中,预设时间节点根据Kubernetes集群在历史时间内的负载高峰时间,例如每天十点。采集数据可以理解为负载预测模块从Kubernetes集群中获取到的数据,包括历史时间内的负载数据和当前时间的负载数据,将历史事件的负载数据确定为样本数据,将当前时间的负载数据确定为当前负载数据。负载预测结果可以理解为根据样本数据和当前负载数据确定出的在未来一段时间内Kubernetes集群的负载情况。可以理解的是,样本数据为历史事件的负载数据、当前负载数据为当前时间的负载数据,负载预测结果为未来时间的负载数据,本质上均为Kubernetes集群12的负载数据,负载数据为Kubernetes集群12上工作负载的时序指标数据和状态信息数据,时序指标数据可以理解为工作负载的CPU利用率,状态信息数据可以理解为工作负载中的Pod数量。
设定接口为负载预测模块与Kubernetes集群之间的API(ApplicationProgramming Interface,应用程序编程接口)接口。弹性伸缩是指部署应用程序的集群根据预先设置的业务需求和伸缩策略,在业务高峰期负载超出现有承载力时,通过增加服务资源提高集群的承载能力,从而保证用户体验和系统服务的稳定性;在业务需求较低时,尽可能的减少闲置资源,以降低应用部署成本。
具体的,负载预测模块11在当前时间已经达到预先设定的时间节点时,确定当前满足预测式弹性伸缩触发条件,通过与Kubernetes集群12之间的设定接口访问Kubernetes集群12,获得Kubernetes集群12反馈的采集数据,根据采集数据中的样本数据构建并训练负载预测模型,根据采集数据中的当前负载数据和训练好的负载预测模型进行负载预测,确定Kubernetes集群12在未来某一段时间内的负载预测结果,将自身与Kubernetes集群12之间的接口暴露,在Kubernetes集群12抓取数据时将负载预测结果发送至Kubernetes集群12。
Kubernetes集群12通过负载预测模块11暴露出来的设定接口抓取负载预测结果,将负载预测结果转换为HPA能够接收的数据格式,在Kubernetes集群12中,HPA将负载预测结果与预先设定的阈值进行比对,判断是否需要执行弹性伸缩,若不需要,无需执行任何动作,若需要,根据负载预测结果中CPU利用率与阈值的比较结果,以及Pod数量与阈值的比较结果,确定需要生成或销毁的Pod,执行相应的生成或销毁动作,完成预测式的弹性伸缩。
本发明实施例所提供的一种弹性伸缩系统,包括:负载预测模块和Kubernetes集群,所述负载预测模块与所述Kubernetes集群通过设定接口连接;所述负载预测模块,用于在满足预测式弹性伸缩触发条件时,获取所述Kubernetes集群的采集数据,根据采集数据进行负载预测,确定所述Kubernetes集群的负载预测结果;所述Kubernetes集群,用于通过设定接口抓取所述负载预测结果,根据所述负载预测结果执行弹性伸缩。上述技术方案,解决了Kubernetes负载资源不足导致的弹性伸缩延迟问题,避免系统出现突发性高负荷运行状态,降低系统响应时延,提高服务质量,保证用户的使用体验感。
可选的,负载预测模块11,包括:
弹性伸缩单元111、负载预测单元112和集群监控单元113,弹性伸缩单元111与负载预测单元112连接,负载预测单元112与集群监控单元113连接,集群监控单元113与弹性伸缩单元111均与Kubernetes集群12连接;
弹性伸缩单元111,用于在满足预测式弹性伸缩触发条件时,通知负载预测单元112开启负载预测,获取负载预测单元112确定的负载预测结果,将负载预测结果进行格式转换并将转换后的负载预测结果传输至Kubernetes集群12;
负载预测单元112,用于在接收到弹性伸缩单元111发送的通知后,通过集群监控单元113获取Kubernetes集群12的样本数据,根据样本数据构建并训练负载预测模型,根据训练完备的负载预测模型进行Kubernetes集群12的负载预测,将负载预测结果发送给弹性伸缩单元111;
集群监控单元113,用于获取负载预测单元112发送的数据获取请求,将数据获取请求进行格式转换发送至Kubernetes集群12,获取Kubernetes集群12反馈的采集数据,将采集数据反馈至负载预测单元112。
在本实施例中,负载预测模型可以理解为用于对Kubernetes集群12在未来一段时间内的负载情况进行预测的模型,是一种基于深度学习的预测模型。数据获取请求可以理解为用于获取Kubernetes集群12的负载数据的请求。
具体的,图2是本发明实施例一提供的一种弹性伸缩系统中所涉及负载预测模块和Kubernetes集群之间的时序数据交互图。如图2所示,弹性伸缩单元111在满足预测式弹性伸缩触发条件时,生成预测式弹性伸缩开启指令,将预测式弹性伸缩开启指令发送至负载预测单元112。负载预测单元112接收弹性伸缩单元111发送的预测式弹性伸缩开启指令,根据预测式弹性伸缩开启指令生成样本数据获取请求;将样本数据获取请求发送至集群监控单元113。
集群监控单元113获取负载预测单元112发送的样本数据获取请求,将样本数据获取请求转换为与Kubernetes集群12对应格式的样本数据获取请求,并格式转换后的样本数据获取请求发送至Kubernetes集群12。Kubernetes集群12响应样本数据获取请求,将样本数据发送至集群监控单元113。集群监控单元113获取Kubernetes集群12反馈的样本数据,将样本数据转换为与负载预测单元112对应格式的样本数据,并将该样本数据发送给负载预测单元112。
负载预测单元112获取集群监控单元113反馈的Kubernetes集群12的样本数据,构建负载预测模型并根据样本数据训练负载预测模型,获得训练完备的负载预测模型;周期性向集群监控单元113发送负载数据获取请求。集群监控单元113获取负载预测单元112发送的负载数据获取请求,根据负载数据获取请求周期性获取Kubernetes集群12所对应各Pod的负载数据信息;将各Pod格式的负载数据信息聚合为负载层格式的当前负载数据,存储当前负载数据并将当前负载数据反馈给负载预测单元112。
负载预测单元112获取集群监控单元113反馈的当前负载数据,其中,当前负载数据为负载层格式的数据;将当前负载数据输入至训练完备的负载预测模型中,获得负载预测结果。弹性伸缩单元111周期性抓取负载预测单元112生成的负载预测结果;负载预测单元112响应弹性伸缩模块的抓取请求,将负载预测结果发送至弹性伸缩单元111。弹性伸缩单元111将抓取到的负载预测结果由负载层格式转换为Pod层格式,并暴露API接口。Kubernetes集群12通过API接口向弹性伸缩单元111抓取负载预测结果。弹性伸缩单元111响应Kubernetes集群12的抓取请求,将Pod层格式的负载预测结果传输至Kubernetes集群12。
Kubernetes集群12通过负载预测模块暴露的设定接口抓取负载预测结果,将负载预测结果由Pod格式转换为与自动伸缩组件相匹配的格式;将格式转换后的负载预测结果与预先设定的负载阈值进行比较,判断当前是否满足弹性伸缩条件;若是,根据负载预测结果与负载阈值的比较结果增加或减少Pod数量。完成弹性伸缩后,将伸缩结果反馈给弹性伸缩单元111。
可选的,弹性伸缩单元111,具体用于:
a1)在满足预测式弹性伸缩触发条件时,生成预测式弹性伸缩开启指令,将预测式弹性伸缩开启指令发送至负载预测单元。
在本实施例中,预测式弹性伸缩开启指令可以理解为用于开始对Kubernetes集群进行负载预测与弹性伸缩的指令,相当于开始节点。
具体的,在当前时间已经达到预先设定的时间节点时,确定当前满足预测式弹性伸缩触发条件,生成相应的预测式弹性伸缩开启指令,并将预测式弹性伸缩开启指令发送至负载预测单元。
b1)周期性抓取负载预测单元生成的负载预测结果,其中,负载预测结果根据预测式弹性伸缩指令生成。
在本实施例中,负载预测单元根据预测式弹性伸缩开启指令进行负载预测模型的构建与训练,基于训练完备的负载预测模型实时地对Kubernetes集群的负载数据进行预测,生成负载预测结果。弹性伸缩单元以设定时间间隔周期性从负载预测单元抓取其生成的负载预测结果。
c1)将负载预测结果由负载层格式转换为Pod层格式。
在本实施例中,负载层格式可以理解为工作负载所对应的数据格式,Pod层格式可以理解为Pod所对应的数据格式。
具体的,由于负载预测模型在训练过程中,是基于负载层格式的样本数据进行训练的,相应的,在应用过程中,模型的输入输出数据也均为负载层格式,因此,需要将负载层格式的负载预测结果转换为与Pod相匹配格式的负载预测结果,将工作负载层次的负载预测结果预测值除以当前Pod副本集的个数,得到的预测值与Kubernetes集群的负载阈值处于同一量级,以便于Kubernetes集群进行是否需要弹性伸缩的判断。
可以理解的是,负载层格式实质意义上为Pod层格式聚合得到。
d1)响应Kubernetes集群的抓取请求,将Pod层格式的负载预测结果传输至Kubernetes集群。
在本实施例中,抓取请求可以理解为数据抓取的请求,在本可选实施例中为Kubernetes集群发出的对负载预测结果的抓取请求。
具体的,将API接口暴露,使得Kubernetes集群能够发现该API接口,向弹性伸缩单元发送抓取请求。弹性伸缩单元响应Kubernetes集群的抓取请求,通过API接口将Pod层格式的负载预测结果发送至Kubernetes集群。
可选的,负载预测单元112,具体用于:
a2)接收弹性伸缩单元发送的预测式弹性伸缩开启指令,根据预测式弹性伸缩开启指令生成样本数据获取请求。
在本实施例中,样本数据获取请求可以理解为用于获取历史时间内的样本数据(负载数据)的请求。
具体的,接收弹性伸缩单元发送的预测式弹性伸缩开启指令,此时,可以准备获取Kubernetes集群在历史时间的样本数据,因此,需要根据预测式弹性伸缩开启指令生成相应的样本数据获取请求。
b2)将样本数据获取请求发送至集群监控单元,并获取集群监控单元反馈的Kubernetes集群的样本数据,其中,样本数据为负载层格式的数据。
在本实施例中,由于负载预测单元所用的数据格式与Kubernetes集群所用的数据格式并不相同或匹配,需要集群监控单元做中间代理,因此,将样本数据获取请求发送至集群监控单元,集群监控单元将该请求转换格式后发送给Kubernetes集群并接收Kubernetes集群反馈的样本数据,将样本数据再做格式转换后反馈给负载预测单元,负载预测单元接收集群监控单元反馈的负载层格式的样本数据。
可以理解的是,样本数据自从Kubernetes集群获取直至负载预测单元接收,在这一过程中自始至终均为负载层格式。
c2)构建负载预测模型并根据样本数据训练负载预测模型,获得训练完备的负载预测模型。
在本实施例中,构建基于深度学习的负载预测模型,基于样本数据不断迭代训练负载预测模型,直至该模型已成为训练完备的负载预测模型。
d2)周期性向集群监控单元发送负载数据获取请求,并获取集群监控单元反馈的当前负载数据,其中,当前负载数据为负载层格式的数据。
在本实施例中,负载数据获取请求可以理解为用于获取当前时间内的样本数据(负载数据)的请求,是一种用于获取实时数据的请求。
具体的,负载预测模型训练完备后,负载预测单元周期性向集群监控单元发送负载数据获取请求,集群监控单元将该请求转换格式后发送给Kubernetes集群并接收Kubernetes集群反馈的当前负载数据,可以理解的是,Kubernetes集群此时反馈的实时性的当前负载数据为Pod层格式,集群监控单元对这些当前负载数据进行聚合,形成负载层格式的当前负载数据反馈给负载预测单元。负载预测单元接收集群监控单元反馈的负载层格式的当前负载数据。
e2)将当前负载数据输入至负载预测模型中,获得负载预测结果,响应弹性伸缩模块的抓取请求,将负载预测结果发送至弹性伸缩单元。
在本实施例中,抓取请求可以理解为数据抓取的请求,在本可选实施例中为弹性伸缩单元发出的对负载预测结果的抓取请求。
具体的,将聚合后负载层格式的当前负载数据输入至训练完备的负载预测模型中,负载预测模型对当前负载数据进行运算处理,生成负载预测结果,预测一段时间后Kubernetes集群的CPU占用率与所需Pod数量。在接收到弹性伸缩模块周期性发送的抓取请求后,响应该抓取请求,将负载预测结果发送给弹性伸缩单元。
本发明采用负载预测模型,用于对工作负载层次的数据生成准确、及时的预测数据。这一阶段首先获取工作负载层次的样本数据用于训练模型,得到训练好的预测模型,然后数据采集器周期性地获取聚合后的实时数据,调用训练好的模型进行实时预测,周期性地生成实时预测值,最后将生成的工作负载层次的预测值提供给弹性伸缩模块进行数据处理。
可选的,集群监控单元113,具体用于:
a3)获取负载预测单元发送的样本数据获取请求,将样本数据获取请求转换为与Kubernetes集群对应格式的样本数据获取请求,并格式转换后的样本数据获取请求发送至Kubernetes集群。
在本实施例中,由于负载预测单元所用的数据格式与Kubernetes集群所用的数据格式并不相同或匹配,需要集群监控单元做中间代理,因此,集群监控单元获取负载预测单元发送的样本数据获取请求并将该请求转换格式后发送给Kubernetes集群。
b3)获取Kubernetes集群反馈的样本数据,将样本数据转换为与负载预测单元对应格式的样本数据。
在本实施例中,接收Kubernetes集群基于样本数据获取请求反馈的样本数据,将样本数据转换为与负载预测单元对应格式的样本数据,再将格式转换后的样本数据反馈给负载预测单元。
c3)获取负载预测单元发送的负载数据获取请求,根据负载数据获取请求周期性获取Kubernetes集群所对应各Pod的负载数据信息。
在本实施例中,上文所提及的负载数据为工作负载的负载数据,为Pod聚合后的负载数据,本实施例所提及的负载数据信息,为工作负载中每一个Pod所对应的负载数据,为各Pod的CPU占用率。
具体的,接收负载预测单元周期性发送的负载数据获取请求,将该请求转换格式后发送给Kubernetes集群并接收Kubernetes集群反馈的各个Pod的负载数据信息。
d3)将各Pod格式的负载数据信息聚合为负载层格式的当前负载数据,存储当前负载数据并将当前负载数据反馈给负载预测单元。
在本实施例中,Kubernetes集群此时反馈的实时性的负载数据信息为各Pod的负载数据,为Pod层格式,集群监控单元对这些负载数据信息进行聚合,形成负载层格式的当前负载数据反馈给负载预测单元。
可选的,该系统还通过集群监控单元112连接客户端,集群监控单元112,具体还用于:
a5)将通过集群监控单元中转的采集数据可视化呈现于客户端。
在本实施例中,集群监控单元具备格式转换的代理功能、数据聚合功能、数据存储功能以及可视化功能。通过与客户端之间的接口,将集群监控单元所中转过的样本数据以及实时的当前负载数据等可视化呈现于客户端。
可选的,Kubernetes集群12,具体用于:
a6)通过负载预测模块暴露的设定接口抓取负载预测结果,将负载预测结果由Pod格式转换为与自动伸缩组件相匹配的格式。
在本实施例中,负载预测模块中弹性伸缩单元将设定API接口暴露,Kubernetes集群能够发现该接口,向弹性伸缩单元发送抓取请求,通过该API接口抓取负载预测结果。
图3是本发明实施例一提供的一种弹性伸缩系统中的所涉及的数据流图。如图3所示,Kubernetes集群中Prometheus抓取的Pod格式的负载预测结果数据流不能直接提供给自动伸缩组件HPA使用,因为两者数据格式不兼容,所以还需要另外的组件Prometheusadpater将数据流再转换为HPA能够接收的API资源数据格式。
其中,Prometheus adpater通过kube-aggregator注册在Kubernetes集群的APIServer中,从而可以通过API/apis/custom.metrics.k8s.io/获取预测指标数据流,最后Kubernetes集群的HPA组件根据此数据流,进行自动伸缩决策、调整容器数量,从而为应用提供智能的弹性伸缩能力。
b6)将格式转换后的负载预测结果与预先设定的负载阈值进行比较,判断当前是否满足弹性伸缩条件。
在本实施例中,预先设定的负载阈值可以理解为预先设定的用于判断是否需要进行弹性伸缩的临界值,包括CPU利用率阈值和Pod数量阈值。弹性伸缩条件可以理解为需要进行弹性伸缩的条件,例如为负载预测结果与负载阈值存在一定差异。
具体的,将负载预测结果中CPU利用率与CPU利用率阈值作比较,将负载预测结果中Pod数量与Pod数量阈值作比较,若负载预测结果中CPU利用率与Pod数量均大于或均小于负载阈值,或者任一与预先设定的负载阈值不同,确定当前满足弹性伸缩条件。
c6)若是,根据负载预测结果与负载阈值的比较结果增加或减少Pod数量。
在本实施例中,若当前满足弹性伸缩条件,且负载预测结果中CPU利用率与Pod数量均大于负载阈值,确定当前满足弹性伸缩条件,需要进行Pod扩张,增加Pod数量;若当前满足弹性伸缩条件,且负载预测结果中CPU利用率与Pod数量均小于负载阈值,确定当前满足弹性伸缩条件,需要进行Pod销毁,减少Pod数量。
完成弹性伸缩后,将伸缩结果反馈给弹性伸缩单元,伸缩结果至少包括增加或减少的Pod的数量、完成伸缩后Pod的数量以及CPU利用率等。
实施例二
图4是本发明实施例二提供的一种弹性伸缩方法的流程图,可适用于对Kubernetes进行负载预测并根据预测结果提前进行弹性伸缩的情形,该方法可以由弹性伸缩系统来执行,该弹性伸缩系统可以采用硬件和/或软件的形式实现。
如图2所示,该方法包括:
S101、通过负载预测模块,在满足预测式弹性伸缩触发条件时,获取Kubernetes集群的采集数据,根据采集数据进行负载预测,确定Kubernetes集群的负载预测结果。
S102、通过Kubernetes集群,通过设定接口抓取负载预测结果,根据负载预测结果执行弹性伸缩。
可选的,负载预测模块包括:弹性伸缩单元、负载预测单元和集群监控单元,相应的,S101具体化为:
S1011、通过弹性伸缩单元,在满足预测式弹性伸缩触发条件时,通知负载预测单元开启负载预测,获取负载预测单元确定的负载预测结果,将负载预测结果进行格式转换并将转换后的负载预测结果传输至Kubernetes集群;
S1012、通过负载预测单元,在接收到弹性伸缩单元发送的通知后,通过集群监控单元获取Kubernetes集群的样本数据,根据样本数据构建并训练负载预测模型,根据训练完备的负载预测模型进行Kubernetes集群的负载预测,将负载预测结果发送给弹性伸缩单元;
S1013、通过集群监控单元,获取负载预测单元发送的数据获取请求,将数据获取请求进行格式转换发送至Kubernetes集群,获取Kubernetes集群反馈的采集数据,将采集数据反馈至负载预测单元。
S102具体化为:
S1021、通过负载预测模块暴露的设定接口抓取负载预测结果,将负载预测结果由Pod格式转换为与自动伸缩组件相匹配的格式;
S1022、将格式转换后的负载预测结果与预先设定的负载阈值进行比较,判断当前是否满足弹性伸缩条件;
S1023、若是,根据负载预测结果与负载阈值的比较结果增加或减少Pod数量。
具体的,如图3所示,弹性伸缩系统执行弹性伸缩方法的整体数据流分为MetricServer采集的核心数据流和Prometheus采集的监控数据流。其中Metric Server从kubelet中检索容器指标数据,然后直接提供给HPA进行响应式自动弹性伸缩。监控数据流中,由kubelet cAdvisor采集容器指标数据、node-expoter采集结点指标数据、kube-state-metric采集资源对象状态数据,由Prometheus提供的发现机制进行周期性的采集,然后将数据持久化到InfluxDB时序数据库中。具体的,Prometheus周期性地抓取接口以获取预测值。并且通过配置Prometheus抓取的频率来协调预测环节和伸缩执行环节的频率,即预测环节每次预测未来若干个数据点的负载情况,而伸缩执行计划由适配器只定时暴露下一个时间点的数据,即5分钟后的数据。当开启预测式弹性伸缩功能后,将数据聚合为工作负载层次的数据,一方面可以通过Grafana(集群监控单元)进行数据可视化、初步了解数据的整体趋势,一方面将聚合后的数据转换为样本数据,用于预测模型的训练。
在本实施例中,通过负载预测模块,在满足预测式弹性伸缩触发条件时,获取所述Kubernetes集群的采集数据,根据采集数据进行负载预测,确定所述Kubernetes集群的负载预测结果;通过Kubernetes集群,通过设定接口抓取所述负载预测结果,根据所述负载预测结果执行弹性伸缩。本方法为解决Kubernetes容器生成销毁快动态对象监控数据不连续的问题,以及与HPA采用Pod层次数据进行弹性伸缩的矛盾,提出一种基于Pod和工作负载多层次聚合转换的Kubernetes预测式弹性伸缩方法,分为资源监控、负载预测、伸缩计划、伸缩控制四个阶段,在每个阶段采用不同层次的监控数据。首先采集资源的时序指标数据以及集群资源对象的状态信息数据,并将监控数据聚合到工作负载层次;然后采用负载预测算法对工作负载层次的数据生成准确、及时的预测数据;其次,在伸缩计划阶段,设计了预测式弹性伸缩策略,分为四步,第一步周期性的获取预测数据,第二步将数据再转换为Pod层次,第三步将数据以接口的形式暴露,第四步由聚合器进行抓取并转换为HPA能够接收的数据格式,以上四步将为Kubernetes伸缩决策提供数据流;最后Kubernetes集群的HPA组件通过比较预先设定的阈值与此预测数据流判断是否需要进行弹性伸缩活动,当预测值大于阈值时,增加Pod数量,反之则减少Pod数量。上述技术方案,工作负载层次的数据连续完整,应用于预测算法后预测精度高;针对Pod启动和销毁频繁导致数据不连续的问题,聚合工作负载层次的数据进行模型训练和预测,数据连续且全面,能够提供大量的数据,有助于模型准确率的提升;工作负载层次的数据应用于负载预测模型后,其在预测精度方面良好,表明本发明能够通过智能化技术更好地辅助运维人员。预测式弹性伸缩策略成本低,有效的降低了高峰期应用响应时间;针对Kubernetes对Pod进行资源限额的现状,在伸缩环节将预测结果转换为Pod层次作为伸缩依据,提出的预测式弹性伸缩策略能够在资源使用量真实值达到阈值之前,根据预测结果提前扩容,相比于响应式扩容策略,能够降低由于Pod未能完成初始化期间引起的响应时间激增的现象,改善了响应式弹性伸缩存在的调度滞后问题,有效改善了应用在流量高峰期的响应延迟,保障了应用平稳运行。此策略借助HPA进行,通过协调监控数据流和预测数据流的频率进行伸缩决策,最大化的利用了Kubernetes内置组件,调用方便、配置少、成本低。
实施例三
图5示出了可以用来实施本发明的实施例的电子设备40的结构示意图。电子设备集成本发明实施例一所述的弹性伸缩系统。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图5所示,电子设备40包括至少一个处理器41,以及与至少一个处理器41通信连接的存储器,如只读存储器(ROM)42、随机访问存储器(RAM)43等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器41可以根据存储在只读存储器(ROM)42中的计算机程序或者从存储单元48加载到随机访问存储器(RAM)43中的计算机程序,来执行各种适当的动作和处理。在RAM 43中,还可存储电子设备40操作所需的各种程序和数据。处理器41、ROM 42以及RAM 43通过总线44彼此相连。输入/输出(I/O)接口45也连接至总线44。
电子设备40中的多个部件连接至I/O接口45,包括:输入单元46,例如键盘、鼠标等;输出单元47,例如各种类型的显示器、扬声器等;存储单元48,例如磁盘、光盘等;以及通信单元49,例如网卡、调制解调器、无线通信收发机等。通信单元49允许电子设备40通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器41可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器41的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器41执行上文所描述的各个方法和处理,例如弹性伸缩方法。
在一些实施例中,弹性伸缩方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元48。在一些实施例中,计算机程序的部分或者全部可以经由ROM 42和/或通信单元49而被载入和/或安装到电子设备40上。当计算机程序加载到RAM 43并由处理器41执行时,可以执行上文描述的弹性伸缩方法的一个或多个步骤。备选地,在其他实施例中,处理器41可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行弹性伸缩方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种弹性伸缩系统,其特征在于,包括:负载预测模块和Kubernetes集群,所述负载预测模块与所述Kubernetes集群通过设定接口连接;
所述负载预测模块,用于在满足预测式弹性伸缩触发条件时,获取所述Kubernetes集群的采集数据,根据采集数据进行负载预测,确定所述Kubernetes集群的负载预测结果;
所述Kubernetes集群,用于通过设定接口抓取所述负载预测结果,根据所述负载预测结果执行弹性伸缩。
2.根据权利要求1所述的系统,其特征在于,所述负载预测模块,包括:弹性伸缩单元、负载预测单元和集群监控单元,所述弹性伸缩单元与所述负载预测单元连接,所述负载预测单元与所述集群监控单元连接,所述集群监控单元与所述弹性伸缩单元均与所述Kubernetes集群连接;
所述弹性伸缩单元,用于在满足预测式弹性伸缩触发条件时,通知所述负载预测单元开启负载预测,获取所述负载预测单元确定的负载预测结果,将所述负载预测结果进行格式转换并将转换后的负载预测结果传输至所述Kubernetes集群;
所述负载预测单元,用于在接收到所述弹性伸缩单元发送的通知后,通过所述集群监控单元获取所述Kubernetes集群的样本数据,根据所述样本数据构建并训练负载预测模型,根据训练完备的负载预测模型进行Kubernetes集群的负载预测,将所述负载预测结果发送给所述弹性伸缩单元;
所述集群监控单元,用于获取所述负载预测单元发送的数据获取请求,将所述数据获取请求进行格式转换发送至所述Kubernetes集群,获取所述Kubernetes集群反馈的采集数据,将所述采集数据反馈至所述负载预测单元。
3.根据权利要求2所述的系统,其特征在于,所述弹性伸缩单元,具体用于:
在满足预测式弹性伸缩触发条件时,生成预测式弹性伸缩开启指令,将所述预测式弹性伸缩开启指令发送至所述负载预测单元;
周期性抓取所述负载预测单元生成的负载预测结果,其中,所述负载预测结果根据所述预测式弹性伸缩指令生成;
将所述负载预测结果由负载层格式转换为Pod层格式;
响应所述Kubernetes集群的抓取请求,将Pod层格式的所述负载预测结果传输至所述Kubernetes集群。
4.根据权利要求2所述的系统,其特征在于,所述负载预测单元,具体用于:
接收所述弹性伸缩单元发送的预测式弹性伸缩开启指令,根据所述预测式弹性伸缩开启指令生成样本数据获取请求;
将所述样本数据获取请求发送至所述集群监控单元,并获取所述集群监控单元反馈的所述Kubernetes集群的样本数据,其中,所述样本数据为负载层格式的数据;
构建负载预测模型并根据所述样本数据训练所述负载预测模型,获得训练完备的负载预测模型;
周期性向所述集群监控单元发送负载数据获取请求,并获取所述集群监控单元反馈的当前负载数据,其中,所述当前负载数据为负载层格式的数据;
将所述当前负载数据输入至所述负载预测模型中,获得负载预测结果,响应所述弹性伸缩模块的抓取请求,将所述负载预测结果发送至所述弹性伸缩单元。
5.根据权利要求2所述的系统,其特征在于,所述集群监控单元,具体用于:
获取所述负载预测单元发送的样本数据获取请求,将所述样本数据获取请求转换为与所述Kubernetes集群对应格式的样本数据获取请求,并格式转换后的所述样本数据获取请求发送至所述Kubernetes集群;
获取所述Kubernetes集群反馈的样本数据,将所述样本数据转换为与所述负载预测单元对应格式的样本数据;
获取所述负载预测单元发送的负载数据获取请求,根据所述负载数据获取请求周期性获取所述Kubernetes集群所对应各Pod的负载数据信息;
将各Pod格式的负载数据信息聚合为负载层格式的当前负载数据,存储所述当前负载数据并将所述当前负载数据反馈给所述负载预测单元。
6.根据权利要求2所述的系统,其特征在于,该系统还通过所述集群监控单元连接客户端,所述集群监控单元,具体还用于:
将通过所述集群监控单元中转的采集数据可视化呈现于所述客户端。
7.根据权利要求1所述的系统,其特征在于,所述Kubernetes集群,具体用于:
通过所述负载预测模块暴露的设定接口抓取所述负载预测结果,将所述负载预测结果由Pod格式转换为与自动伸缩组件相匹配的格式;
将格式转换后的所述负载预测结果与预先设定的负载阈值进行比较,判断当前是否满足弹性伸缩条件;
若是,根据所述负载预测结果与所述负载阈值的比较结果增加或减少Pod数量。
8.一种弹性伸缩方法,其特征在于,应用于弹性伸缩系统,该方法包括:
通过负载预测模块,在满足预测式弹性伸缩触发条件时,获取所述Kubernetes集群的采集数据,根据采集数据进行负载预测,确定所述Kubernetes集群的负载预测结果;
通过Kubernetes集群,通过设定接口抓取所述负载预测结果,根据所述负载预测结果执行弹性伸缩。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求8所述的一种弹性伸缩方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求8所述的一种弹性伸缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311661768.9A CN117632373A (zh) | 2023-12-05 | 2023-12-05 | 一种弹性伸缩系统、方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311661768.9A CN117632373A (zh) | 2023-12-05 | 2023-12-05 | 一种弹性伸缩系统、方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117632373A true CN117632373A (zh) | 2024-03-01 |
Family
ID=90030240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311661768.9A Pending CN117632373A (zh) | 2023-12-05 | 2023-12-05 | 一种弹性伸缩系统、方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117632373A (zh) |
-
2023
- 2023-12-05 CN CN202311661768.9A patent/CN117632373A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106375420B (zh) | 一种基于负载均衡的服务器集群智能监控系统及方法 | |
CN108632365B (zh) | 服务资源调整方法、相关装置和设备 | |
CN102694868B (zh) | 一种集群系统实现及任务动态分配方法 | |
CA3032409C (en) | Distributed resource electrical demand forecasting system and method | |
WO2022016808A1 (zh) | 一种kubernetes集群资源动态调整方法及电子设备 | |
CN110532078A (zh) | 一种边缘计算调度优化方法及系统 | |
CN112615742A (zh) | 用于预警的方法、装置、设备以及存储介质 | |
CN114500339B (zh) | 一种节点带宽监测方法、装置、电子设备及存储介质 | |
KR101055548B1 (ko) | 분산 처리를 위한 시멘틱 컴퓨팅 기반의 동적 작업 스케줄링 시스템 | |
CN111324460B (zh) | 一种基于云计算平台的电力监测控制系统及方法 | |
CN113986534A (zh) | 任务调度方法、装置、计算机设备和计算机可读存储介质 | |
CN110750425A (zh) | 数据库监控方法、装置、系统和存储介质 | |
CN115344207A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN213876703U (zh) | 一种资源池管理系统 | |
JP2016146020A (ja) | データ分析システム及び分析方法 | |
CN117632373A (zh) | 一种弹性伸缩系统、方法、设备及存储介质 | |
CN115168042A (zh) | 监控集群的管理方法及装置、计算机存储介质、电子设备 | |
CN113904940A (zh) | 资源调整方法、装置、电子设备和计算机可读存储介质 | |
CN112565391A (zh) | 调整工业互联网平台中实例的方法、装置、设备和介质 | |
CN113342463B (zh) | 计算机程序模块的容量调整方法、装置、设备和介质 | |
EP4235424A1 (en) | Resource control method for function computing, device, and medium | |
CN114003367B (zh) | 风险监控方法、装置、设备及存储介质 | |
JP4791846B2 (ja) | モバイルエージェント移動の高速化方法、モバイルエージェントの移動の高速化システム | |
CN117370009A (zh) | 用于多集群系统的调度方法、装置、存储介质与电子设备 | |
CN117407464A (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 |