• Kubernetes 弹性伸缩HPA功能增强Advanced Horizontal Pod Autoscaler -介绍部署篇


    背景

    WHAT(做什么)

    Advanced Horizontal Pod Autoscaler(简称:AHPA)是kubernetes中HPA的功能增强. 在兼容原生HPA功能基础上,增加预测、执行模式配置、缩容控制等功能。用户可以使用AdvancedHorizontalPodAutoscaler对支持scale功能的对象(例如Deployment等)进行弹性伸缩。

    WHY(为什么做)

    HPA在使用方面存在不便之处:

    • 扩缩模式不灵活:创建HPA后,资源真实扩缩后方可验证可用性
    • 扩缩控制存在一定风险,缩容按照目标态单次执行,易造成业务抖动
    • 针对规律性强应用,无法进行特殊处理,比如提前备容,降低扩容效率低带来的风险
    • 支持指标需要自定义扩展,需要一定开发成本

    How(怎么做)

    AHPA功能分为两部分:controller和algorithm。

    • controller部分:HPA功能兼容、阈值触发和预测触发结果处理、扩缩模式功能、缩容控制功能等
    • algorithm部分:提供一个基于STL + auto-arima的预测算法实现功能
    • 整体架构如下:

    使用场景

    周期性规律明显应用成本优化 --提前备容,降低容量风险

    针对规律性明显的应用,一般有如下特征:

    上图中,红线表示应用的入网流量(qps),蓝线表示容器数。从图中蓝色可以看出,在qps到来前一段时间(比如:60min)已经开始备容,在qps达到峰值前资源已经ready,降低流量高峰来临时刻备容应用抖动带来的风险;在qps峰值过后,资源缓慢回收(缩容速率线性递减),避免产生浪费。通过上图可以看出,针对规律性明显应用,提前备容,缓慢缩容,最终能够保证应用稳定性的前提下达到成本优化目的。

    部署

    前置条件

    • helm v2版本大于 v2.11.0+.
    • 预测功能依赖"阿里云云监控",需安装"ack-alibaba-cloud-metrics-adapter"组件.

    安装 && 卸载

    安装chart

    方式一:进入“容器服务”->"市场"->"应用目录"->"ack-advanced-horizontal-pod-autoscaler"进行安装,如下图:

    方式二:

    卸载chart

    helm参数配置

    使用

    运行一个AHPA demo

    AHPA功能增强配置说明 && 指标支持

    功能增强说明

    指标支持

    最后

    Advanced Horizontal Pod Autoscaler可针对周期性规律强的应用进行提前备容,减少扩容资源申请、应用启动耗时带来的容量风险,同时更好的支持扩缩模式和扩缩控制,增加了自动扩缩的业务的可用性。AHPA目前向白名单用户开放,申请地址:https://page.aliyun.com/form/act946163602/index.htm,欢迎大家试用并提新需求。

    iPhone 11 Pro、卫衣、T恤等你来抽,马上来试试手气 https://www.aliyun.com/1111/2019/m-lottery?utm_content=g_1000083877

    本文作者:寒砚

    原文链接

    本文为云栖社区原创内容,未经允许不得转载。

  • 相关阅读:
    使用 ReplicationHandler 设置一个中继器(Repeater)
    SpringSource通过Spring for Android 1.0将Spring Framework引入到Android上
    Lotus Quickr 8.5.1 for Domino 中目录服务的配置详解
    Pdf文件编辑攻略
    Android 4.1最终版SDK和ADT Plugin全线发布
    JXL copySheet 的一个BUG
    Spring Mobile 1.0发布
    jQuery 1.8、1.9与2.0特性概览,2.0将移除对IE6/7/8的支持
    Regsvr32命令修复IE 重装IE
    系统性分析性能问题与调优方法
  • 原文地址:https://www.cnblogs.com/zhaowei121/p/11772354.html
Copyright © 2020-2023  润新知