彈性伸縮是根據業務需求和策略,自動調整計算資源的管理服務,典型的場景包含在線業務彈性、大規模計算訓練、深度學習GPU或共享GPU的訓練與推理等。本文介紹ACK Serverless集群支持的彈性伸縮方案。
方案 | 一句話介紹 | 擴縮依據的指標 | 使用場景 | 支持的資源類型 | 相關文檔 |
HPA | 在業務負載上升時快速擴容Pod副本來緩解壓力,在業務負載變小時適當縮容以節省資源,是最常用的應用彈性方案。 |
| 服務波動較大、服務數量多且需要頻繁擴縮容的在線業務場景,例如電商服務、在線教育、金融服務等。 | Deployment、StatefulSet等支持 | |
CronHPA | 類似Crontab的策略定時對Pod進行擴縮容,支持配置時區、執行的日期、跳過執行的日期(例如節假日),支持和HPA協同使用。 | 定時擴縮容 | 業務流量有明顯高峰時段、應用程序需要在特定時間執行任務等場景。 | Deployment、StatefulSet等 | |
VPA | 監控Pod的資源消耗模式,靈活推薦CPU和內存資源分配的配置,并在適當的情況下自動進行調整,而不調整Pod的副本數量。 | 推薦并自動調整Pod中容器的CPU及內存的Request和Limit | 需要穩定資源配置的有狀態應用的擴容、大型單體應用等場景,通常是在Pod出現異常恢復時生效。 | Deployment、DaemonSet、StatefulSet等 | |
AHPA | 根據業務歷史指標,自動、主動識別彈性周期并對容量進行預測,提前進行彈性規劃,解決彈性滯后的問題。 |
| 業務流量有明顯周期性的場景,例如直播、在線教育、游戲服務等。 | Deployment、Knative Service等 |