弹性伸缩支持预测型伸缩规则

简介: 预测型伸缩规则是一种新增的伸缩规则类型,可以利用机器学习的能力,通过分析伸缩组监控数据的历史值,预测未来伸缩组的监控指标值,实现智能配置伸缩组边界值的目的。 背景 弹性伸缩组最大值和最小值通常由用户自己设置,如果用户不清楚实际业务运行情况时,会出现不恰当的设置,过高的伸缩组最小值可能会导致计算资源和金钱的浪费,过低的伸缩组最大值可能会导致服务的不稳定。

预测型伸缩规则是一种新增的伸缩规则类型,可以利用机器学习的能力,通过分析伸缩组监控数据的历史值,预测未来伸缩组的监控指标值,实现智能配置伸缩组边界值的目的。

背景

弹性伸缩组最大值和最小值通常由用户自己设置,如果用户不清楚实际业务运行情况时,会出现不恰当的设置,过高的伸缩组最小值可能会导致计算资源和金钱的浪费,过低的伸缩组最大值可能会导致服务的不稳定。

介绍

预测型伸缩规则通过获取至少24小时的伸缩组历史监控数据,利用机器学习的能力预测未来48小时的伸缩组监控数据值,预测粒度为60分钟。预测监控值经过算法得出伸缩组每小时需要的实例数,称之为预测值。预测结果每天会更新一次,并可生成48个每小时执行的预测任务,预测任务执行后会改变伸缩组的最大值和最小值。

  • 预测指标类型:目前支持CPU(单位:百分比),内网流出量和内网流入量(单位:KB/Min)三个指标。
  • 目标值:想要达到的伸缩组内实例的监控指标值,影响预测值的计算。
  • 预测任务:指定时间执行的定时任务,有最大值和最小值2个属性,其中最小值来源于预测值,即预测伸缩组需要的实例数,最大值会根据用户配置会有不同,在最大值处理方式中会介绍。任务执行后会改变伸缩组的最大值和最小值,可在定时任务列表中查看,执行成功之后会自行删除。
  • 预测任务预启动时间(单位:分钟): 预测任务提前执行的时间,可用于预先准备资源。默认值为0,最大值为60。
  • 初始最大值:用户定义的伸缩组最大值上限,与最大值处理方式结合使用。默认值为当前伸缩组最大值。
  • 最大值处理方式:当预测值大于初始最大值时,预测值的处理方式分为以下三种:

    1. 初始最大值覆盖预测值:预测值大于初始最大值时,预测任务的最大值采用初始最大值。此值为默认值。
    2. 预测值覆盖初始最大值:预测值大于初始最大值时, 预测任务的最大值采用预测值
    3. 预测值按照比例扩大并覆盖初始最大值:预测值会按照一定比例增加,当新预测值大于初始最大值时,预测任务的最大值采用这个新值。
  • 预测值增加比例: 最大值处理方式为预测值按照比例扩大并覆盖初始最大值时生效,默认值为0,最大值为100。
  • 预测模式:分为两种模式,预测并伸缩和只预测不伸缩。 预测并伸缩表示伸缩规则会有预测结果产生,并且产生预测任务;只预测不伸缩表示只会有预测结果产生,不会生成具体的预测任务。用户可以通过伸缩规则详情来查看预测结果。默认值为预测并伸缩模式。

控制台使用介绍

用户可以在控制台直接创建预测型伸缩规则,伸缩规则详情可以查看预测结果。

  • 创建预测型伸缩规则
    新建预测规则.jpg
  • load展示

预测值.jpg

真实load值和预测load值展示,数据点表示监控值1小时的聚合值。
  • 实例数展示
    实例数.png

    组内实例数展示,显示伸缩组历史实例数和预测值。
    
  • 预测任务计划展示
    定时计划.png

用户如果只预测不伸缩,可以在这里查看预测任务计划

  • 预测任务示例
    预测任务示例.png

预测任务名称有固定格式,PredictiveScaling-伸缩规则名-执行时间。

  • 预测任务执行后伸缩活动示例
    伸缩活动.png

使用须知

  • 需要至少24小时数据的伸缩组监控数据才会有预测结果产生。
  • 当修改目标值后,现存预测任务会被清空,新的预测任务会在一小时内生成。
  • 预测型伸缩规则会自动的修改伸缩组最大值最小值,可以与目标追踪模式或其他伸缩规则同时使用。
  • 当与目标追踪模式一起使用时,推荐设置相同的监控项和目标值,防止因为目标不一致导致出现伸缩组实例数抖动的问题。
  • 可以先创建预测模式为只预测不伸缩的伸缩规则,如果预测效果符合预期,再将预测模式改为预测并伸缩。
相关文章
|
弹性计算 开发者
通过伸缩规则创建弹性伸缩方案-操作演示|学习笔记
快速学习通过伸缩规则创建弹性伸缩方案-操作演示
94 0
通过伸缩规则创建弹性伸缩方案-操作演示|学习笔记
|
弹性计算 运维 Kubernetes
Kubernetes弹性伸缩全场景解读(八) - 定时伸缩组件支持运维模式
## 前言 定时伸缩(cronhpa)是很多开发者在解决负载周期性时最常用的方法,通过类似crontab的语法可以在一个时间点定时触发伸缩活动。crontab的语义表达是很强大的,但是也存在语法复杂,执行计划容易被打断等问题。为了解决上述的问题,定时伸缩(cronhpa)提供了运维模式,支持通过运维页面来查看底层排队的定时任务,同时也提供了API接口用于开发者自研的平台接入与集成。 #
672 0
Kubernetes弹性伸缩全场景解读(八) - 定时伸缩组件支持运维模式
|
弹性计算 Kubernetes 监控
Kubernetes弹性伸缩全场景解读(八) - 定时伸缩组件支持HPA兼容
在之前的文章中,我们介绍了kubernetes-cronhpa-controller是如何通过设置定时的方式触发容器的水平副本伸缩,但是在实际的场景下,虽然定时伸缩对于负载有规律的应用比较友好,但是应用为了防止突发的流量冲击,还是会配置HPA来做最后的保障的。
4152 0
|
容器 Kubernetes 弹性计算
Kubernetes弹性伸缩全场景解读(七) - 定时伸缩组件发布日期过滤等功能
kubernetes-cronhpa-controller是容器服务开源的一款面向Pod水平定时伸缩场景的CRD controller。在本系列的之前文章中已经向大家介绍了kubernetes-cronhpa-controller的基本用法了,今天我们来看下近期kubernetes-cronhpa-controller又增加了哪些新的功能。
2807 0
|
API 开发工具 git
Kubernetes 弹性伸缩全场景解读(五) - 定时伸缩组件发布与开源
前言 容器技术的发展让软件交付和运维变得更加标准化、轻量化、自动化。这使得动态调整负载的容量变成一件非常简单的事情。在 Kubernetes 中,通常只需要修改对应的 replicas 数目即可完成。
|
弹性计算 API 开发工具
Kubernetes弹性伸缩全场景解读(五) - 定时伸缩组件发布与开源
容器技术的发展让软件交付和运维变得更加标准化、轻量化、自动化。这使得动态调整负载的容量变成一件非常简单的事情,在kubernetes中,通常只需要调整对应的replicas数目即可完成。当负载的容量调整变得如何简单后,我们再回过头来看下应用的资源画像。
4738 0
|
弹性计算 负载均衡
【产品功能】ESS控制台发布新功能:伸缩实例支持standby的操作
原弹性伸缩ESS服务限定,由伸缩组弹出的ECS机器的生命周期完全由伸缩组管理,而伸缩组会时刻对机器做健康检查,如果检测到伸缩组下的机器为不健康状态,便会释放该机器。所以弹性伸缩ESS新支持了standby状态,处于此状态的机器不会进行健康检查以及释放操作。
6668 0
|
弹性计算 网络安全 开发工具
ESS控制台发布新功能:创建多实例规格的伸缩配置
背景 原弹性伸缩ESS服务限定,生效的伸缩配置中只能对应一种实例规格,这样就会存在如果生效的配置中的实例规格的库存不足(高配实例规格通常更容易出现库存不足的情况)时, 用户配置好的伸缩规则以及伸缩组对应的报警任务或者定时任务都会失效。
2535 0

热门文章

最新文章