彈性伸縮概述
更新時間 2024-01-05 16:04:25
最近更新時間: 2024-01-05 16:04:25
分享文章
本文主要介紹彈性伸縮概述。
彈性伸縮是根據業務需求和策略,經濟地自動調整彈性計算資源的管理服務。
背景介紹
隨著Kubernetes已經成為云原生應用編排、管理的事實標準,越來越多的應用選擇向Kubernetes遷移,用戶也越來越關心在Kubernetes上應用如何快速擴容面對業務高峰,以及如何在業務低谷時快速縮容節約資源與成本。
在Kubernetes的集群中,“彈性伸縮”一般涉及到擴縮容Pod個數以及Node個數。Pod代表應用的實例數(每個Pod包含一個或多個容器),當業務高峰的時候需要擴容應用的實例個數。所有的Pod都是運行在某一個節點(虛機或裸機)上,當集群中沒有足夠多的節點來調度新擴容的Pod,那么就需要為集群增加節點,從而保證業務能夠正常提供服務。
彈性伸縮在CCE上的使用場景非常廣泛,典型的場景包含在線業務彈性、大規模計算訓練、深度學習GPU或共享GPU的訓練與推理、定時周期性負載變化等。
CCE彈性伸縮
CCE的彈性伸縮能力分為如下兩個維度:
- 工作負載彈性伸縮 : 即調度層彈性,主要是負責修改負載的調度容量變化。例如,HPA是典型的調度層彈性組件,通過HPA可以調整應用的副本數,調整的副本數會改變當前負載占用的調度容量,從而實現調度層的伸縮。
- 節點彈性伸縮 : 即資源層彈性,主要是集群的容量規劃不能滿足集群調度容量時,會通過彈出ECS等資源的方式進行調度容量的補充。
兩個維度的彈性組件與能力可以分開使用,也可以結合在一起使用,并且兩者之間可以通過調度層面的容量狀態進行解耦。
組件介紹

工作負載彈性組件介紹
表 工作負載彈性組件
類型 組件名稱 組件介紹 參考文檔 HPA metrics-server Kubernetes內置組件,實現Pod水平自動伸縮的功能,即Horizontal Pod Autoscaling。在kubernetes社區HPA功能的基礎上,增加了應用級別的冷卻時間窗和擴縮容閾值等功能。 創建工作負載彈性伸縮(HPA) CustomedHPA cce-hpa-controller 自研的彈性伸縮增強能力,主要面向無狀態工作負載進行彈性擴縮容。能夠基于指標(CPU利用率、內存利用率)或周期(每天、每周、每月或每年的具體時間點)。 創建工作負載彈性伸縮(CustomedHPA) prometheus 一套開源的系統監控報警框架,負責采集kubernetes集群中kubelet的公開指標項(CPU利用率、內存利用率)。
節點彈性伸縮組件介紹
表 節點彈性組件
| 組件名稱 | 組件介紹 | 適用場景 | 參考文檔 |
|---|---|---|---|
| autoscaler | Kubernetes社區開源組件,節點水平伸縮組件, 提供了獨有的調度、彈性優化、成本優化的功能。 |
全場景支持,適合在線業務、 深度學習、大規模成本算力交付等。 |
節點自動伸縮 |