HPA策略即Horizontal Pod Autoscaling,是Kubernetes中實現POD水平自動伸縮的功能。該策略在kubernetes社區HPA功能的基礎上,增加了應用級別的冷卻時間窗和擴縮容閾值等功能。
若使用系統指標,則需要安裝metrics-server和prometheus插件:
- metrics-server:負責采集kubernetes集群中kubelet的公開指標項,包含CPU利用率、內存利用率。HPA彈性策略如基于CPU/MEM利用率,必須安裝此插件。
- prometheus:負責采集kubernetes集群中kubelet的公開指標項(CPU利用率、內存利用率)。
- HPA策略:僅支持1.13及以上版本的集群創建。
- 每個工作負載只能創建一個策略,即如果您創建了一個HPA策略,則不能再對其創建工作負載彈性伸縮(CustomedHPA)或其他HPA策略,您可以刪除該HPA策略后再創建。
步驟 1 在CCE控制臺中,單擊左側導航欄的“彈性伸縮”,在“工作負載伸縮”頁簽下,單擊“創建HPA策略”。
步驟 2 進入創建工作負載HPA策略頁面,在“插件檢測”步驟中:
- 若插件名稱后方顯示
,請單擊插件后方的“現在安裝”,根據業務需求配置插件參數后單擊“立即安裝”,等待插件安裝完成。 - 若插件名稱后方顯示
,則說明插件已安裝成功。
步驟 3 確認插件已安裝成功后,單擊“下一步:策略配置”。
說明:如果插件已提前安裝成功,單擊“創建HPA策略”后,在“插件檢測”步驟中經過短暫檢測后將直接進入“策略配置”步驟。
步驟 4 在“策略配置”步驟中,參照下表設置策略參數。
表-HPA策略參數配置
參數 | 參數說明 |
策略名稱 | 新建策略的名稱,請自定義。 |
集群名稱 | 請選擇工作負載所在的集群。 |
命名空間 | 請選擇工作負載所在的命名空間。 |
關聯工作負載 | 請選擇要設置HPA策略的工作負載。 |
實例范圍 | 請輸入最小實例數和最大實例數。 策略觸發時,工作負載實例將在此范圍內伸縮。 |
冷卻時間 | 請輸入縮容和擴容的冷卻時間,單位為分鐘,縮容擴容冷卻時間不能小于1分鐘。 該設置僅在1.15及以上版本的集群中顯示,1.13版本的集群不支持該設置。 策略成功觸發后,在此縮容/擴容冷卻時間內,不會再次觸發縮容/擴容,目的是等待伸縮動作完成后在系統穩定且集群正常的情況下進行下一次策略匹配。 |
策略規則 | 策略規則可基于系統指標。 系統指標
說明 利用率 = 工作負載容器組(Pod)的實際使用量 / 申請量。
期望值表示所選指標的期望值,通過向上取整(當前指標值 / 期望值 × 當前實例數)來計算需要伸縮的實例數。
當指標值大于縮容閾值且小于擴容閾值時,不會觸發擴容或縮容。閾值僅在1.15及以上版本的集群中支持。 您可以單擊“添加策略規則”,設置多條伸縮策略。 說明 HPA在計算擴容、縮容實例數時,會選擇最近5分鐘內的最大值。 |
步驟 5 設置完成后,單擊“創建”,在“完成”步驟中若顯示“創建工作負載策略***提交成功”,可單擊“返回工作負載伸縮策略”。
步驟 6 在“工作負載伸縮”頁簽下,可以看到剛剛創建的HPA策略。