Kubernetes 彈性伸縮HPA功能加強Advanced Horizontal Pod Autoscaler -介紹部署篇

背景

WHAT(作什麼)

Advanced Horizontal Pod Autoscaler(簡稱:AHPA)是kubernetes中HPA的功能加強. 在兼容原生HPA功能基礎上,增長預測、執行模式配置、縮容控制等功能。用戶可使用AdvancedHorizontalPodAutoscaler對支持scale功能的對象(例如Deployment等)進行彈性伸縮。git

WHY(爲何作)

HPA在使用方面存在不便之處:github

  • 擴縮模式不靈活:建立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"進行安裝,以下圖:阿里雲

方式二:url

卸載chart

helm參數配置

使用

運行一個AHPA demo

AHPA功能加強配置說明 && 指標支持

功能加強說明

指標支持

最後

Advanced Horizontal Pod Autoscaler可針對週期性規律強的應用進行提早備容,減小擴容資源申請、應用啓動耗時帶來的容量風險,同時更好的支持擴縮模式和擴縮控制,增長了自動擴縮的業務的可用性。AHPA目前向白名單用戶開放,申請地址:https://page.aliyun.com/form/act946163602/index.htm,歡迎你們試用並提新需求。spa

iPhone 11 Pro、衛衣、T恤等你來抽,立刻來試試手氣 https://www.aliyun.com/1111/2019/m-lottery?utm_content=g_1000083877orm


本文做者:寒硯htm

原文連接

本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索