其他分享
首页 > 其他分享> > AHPA:开启 Kubernetes 弹性预测之门

AHPA:开启 Kubernetes 弹性预测之门

作者:互联网

作者:元毅、子白

导读

在云原生容器时代,用户需要面对不同的业务场景:周期性的业务,Serverless 按需使用等。在使用自动弹性中, 会发现这样或那样的问题,其中最需要关注的是弹性滞后、冷启动问题。阿里巴巴云原生团队和阿里达摩院决策智能时序团队合作开发 AHPA 弹性预测产品,该产品主要出发点是基于检测到的周期做“定时规划”,通过规划实现提前扩容的目的,在保证业务稳定的情况下,让你真正实现按需使用。

背景

用户对云弹性能力的期望越来越高,这个期望主要来自两方面。一是云原生概念的崛起,从 VM 时代到了容器时代,云的使用模式正在发生变化。二是新型业务模式的崛起,这些崛起的新型业务模式在设计之初就是基于云来建构的,天然就有对弹性的诉求。

有了云,用户不再需要自己从物理机、机房搭建基础设施,云给用户提供了非常弹性的基础设施。云的最大优势就是可以给用户提供弹性的资源供给,特别是到了云原生时代,用户对弹性的诉求也越来越强烈。弹性需求强度在 VM 时代还是人工操作分钟级别的,在容器时代,已经达到秒级的要求,用户面对不同的业务场景,对云的期望和要求也正在发生变化:

那么面对上面的场景,当前 Kubernetes 中现有的弹性方案是否可以解呢?

传统弹性方案面临的问题

一般在 Kubernetes 中管理应用实例数有三种方式:固定实例数、HPA 和 CronHPA 。使用最多的是固定实例数,固定实例数最大的问题就是在业务波谷时造成很明显的资源浪费。为了解决资源浪费的问题所以有了 HPA,但 HPA 的弹性触发是滞后的,这就导致资源的供给也会滞后,资源不能及时供给可能会导致业务稳定性下降。CronHPA 可以定时伸缩,看起来可以解决弹性滞后的问题,但具体定时粒度有多细、业务量有变化时需要频繁地手动调节定时弹性策略吗?如果这样做,这就会带来非常繁重的运维复杂度,也很容易出错。

AHPA 弹性预测

AHPA(Advanced Horizontal Pod Autoscaler)弹性预测主要出发点是基于检测到的周期做“定时规划”,通过规划实现提前扩容的目的。但既然是规划就会有疏漏,所以需要对规划的实例数有一个实时调整的能力。所以本方案有两个弹性策略:主动预测和被动预测。主动预测基于达摩院 RobustPeriod 算法[1] 识别周期长度然后利用RobustSTL 算法[2] 提起出周期性趋势,主动预测下个周期应用的实例数量;被动预测基于应用实时数据设定实例数量,可以很好的应对突发流量。此外,AHPA 还增加了兜底保护策略,用户可以设置实例数量的上下界。AHPA 算法中最终生效的实例数是主动预测、被动预测及兜底策略中的最大值。

架构

弹性首先是要在业务稳定的情况下进行的,弹性伸缩的核心目的不仅是帮用户节省成本,更是增强业务的整体稳定性、免运维能力和构建核心竞争力。AHPA 架构设计的基本原则:

架构如下:

适应场景

AHPA 适应场景包括:

预测效果

开启 AHPA 弹性后,我们提供可视化页面,用于查看 AHPA 效果。下面是一个基于 CPU 指标进行预测的示例(与使用 HPA 比较):

说明:

结论:预测结果表明,弹性预测趋势符合预期。

邀测试用

点击​此处​查看阿里云容器服务 AHPA 弹性预测产品文档详情。当前 AHPA 已开启用户邀测,欢迎感兴趣的用户点击文档中“提交工单”位置申请白名单,期待您的试用及反馈。

参考文献

[1] (阿里达摩院决策智能时序团队) Qingsong Wen, Kai He, Liang Sun, Yingying Zhang, Min Ke, and Huan Xu. RobustPeriod: Robust Time-Frequency Mining for Multiple Periodicity Detection,  in Proc. of 2021 ACM SIGMOD/PODS International Conference on Management of Data (SIGMOD 2021), Xi'an, China, Jun. 2021.

[2] (阿里达摩院决策智能时序团队) Qingsong Wen, Jingkun Gao, Xiaomin Song, Liang Sun, Huan Xu, Shenghuo Zhu. RobustSTL: A Robust Seasonal-Trend Decomposition Algorithm for Long Time Series, in Proc. of the 33rd AAAI Conference on Artificial Intelligence (AAAI 2019), 2019, pp. 5409-5416, Honolulu, Hawaii, Jan. 2019.

[3] (阿里达摩院决策智能时序团队) Qingsong Wen, Zhe Zhang, Yan Li and Liang Sun. Fast RobustSTL: Efficient and Robust Seasonal-Trend Decomposition for Time Series with Complex Patterns, in Proc. of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD 2020), San Diego, CA, Aug. 2020.

标签:预测,Kubernetes,开启,弹性,用户,实例,AHPA,HPA
来源: https://www.cnblogs.com/alisystemsoftware/p/15988383.html