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

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

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

背景

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

介绍

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