容器服務ACK支持AHPA(Advanced Horizontal Pod Autoscaler)的彈性能力,滿足在應用具備周期性的情況下,通過彈性預測進行資源預熱,解決您在服務使用中遇到的彈性滯后問題。您可以通過安裝AHPA Controller使用AHPA彈性預測能力。本文介紹AHPA的組件信息、使用說明和變更記錄。
組件介紹
AHPA基于應用歷史指標預測未來Pod實例數量,幫助您解決彈性滯后的問題。AHPA通過主動預測和被動預測相結合,實時調整資源實例數,并且增加了兜底保護策略,通過設置時間區間的實例數上下界值,實現彈性兜底。
工作原理
彈性伸縮可以幫助用戶節省成本,提高業務的整體穩定性、免運維能力和核心競爭力。AHPA架構設計的基本原則如下:
穩定性:在用戶服務穩定的情況下進行彈性伸縮。
免運維:不增加額外的運維負擔。AHPA不需要在用戶側增加新的Controller,且Autoscaler的配置語義比HPA更清晰。
面向Serverless:提供以用戶應用為中心、面向應用Pod維度的設計,不考慮K8s節點的利用率情況。假設用戶使用的都是ECI Pod,考慮在Serverless場景(沒有節點)下的彈性最佳實踐,增強ACK Serverless運行LongRun的能力。
AHPA的架構如下圖所示:
豐富的數據指標:支持CPU、Memory、QPS、RT和外部指標等。
穩定性保障:AHPA的彈性邏輯基于主動預熱、被動兜底的策略,并結合降級保護,保障資源的穩定。
主動預測:基于歷史指標通過達摩院機器學習算法提前預測出未來24小時應用的實例數量,適用于周期性的應用。
被動預測:基于應用實時指標數據計算Pod數,便于應對突發的流量。
降級保護:支持配置多個時間區間范圍最大和最小實例。
多種伸縮方式:AHPA支持伸縮方式包括Knative、HPA和Deployment。
Knative:解決Serverless應用場景下,基于并發數、QPS、RT的彈性冷啟動問題。
HPA:簡化HPA彈性策略配置,降低用戶使用彈性的門檻,解決使用HPA面臨的冷啟動問題。
Deployment:直接使用Deployment,自動擴縮容。
使用說明
關于AHPA的使用說明,請參見AHPA概述。
變更記錄
2024年04月
版本號 | 變更時間 | 變更內容 | 變更影響 |
v2.6.0-aliyun.1 | 2024年04月16日 | 優化通過metrics-server采集指標的鏈路。 | 建議在業務低峰期升級。 |
2024年03月
版本號 | 變更時間 | 變更內容 | 變更影響 |
v2.5.6-aliyun.1 | 2024年03月20日 | 修復自定義指標panic問題。 | 建議在業務低峰期升級。 |
2023年12月
版本號 | 變更時間 | 變更內容 | 變更影響 |
v2.5.0-aliyun.1 | 2023年12月25日 |
| 建議在業務低峰期升級。 |
2023年10月
版本號 | 變更時間 | 變更內容 | 變更影響 |
v2.4.0-aliyun.1 | 2023年10月16日 |
| 建議在業務低峰期升級。 |
2023年07月
版本號 | 變更時間 | 變更內容 | 變更影響 |
v2.3.0-aliyun.1 | 2023年07月12日 |
| 建議在業務低峰期升級。 |
2023年06月
版本號 | 變更時間 | 變更內容 | 變更影響 |
v2.2.0-aliyun.1 | 2023年06月19日 |
| 建議在業務低峰期升級。 |
2023年04月
版本號 | 變更時間 | 變更內容 | 變更影響 |
v2.1.0-aliyun.1 | 2023年04月26日 |
| 建議在業務低峰期升級。 |
2022年07月
版本號 | 變更時間 | 變更內容 | 變更影響 |
v1.0.0-aliyun.1 | 2022年07月13日 |
| 無 |