K8S的横向自动扩容的功能Horizontal Pod Autoscaling
K8S 作為一個集群式的管理軟件,自動化、智能化是免不了的功能。Google 在 K8S v1.1 版本中就加入了這個 Pod 橫向自動擴容的功能(Horizontal Pod Autoscaling,簡稱 HPA)。
HPA 與之前的 Deployment、Service 一樣,也屬于一種 K8S 資源對象。
HPA 的目標是希望通過追蹤集群中所有 Pod 的負載變化情況,來自動化地調整 Pod 的副本數,以此來滿足應用的需求和減少資源的浪費。
HAP 度量 Pod 負載變化情況的指標有兩種:
- CPU 利用率(CPUUtilizationPercentage)
- 自定義的度量指標,比如服務在每秒之內的請求數(TPS 或 QPS)
如何統計和查詢這些指標,要依托于一個組件——Heapster。Heapster 會監控一段時間內集群內所有 Pod 的 CPU 利用率的平均值或者其他自定義的值,在滿足條件時(比如 CPU 使用率超過 80% 或 降低到 10%)會將這些信息反饋給 HPA 控制器,HPA 控制器就根據 RC 或者 Deployment 的定義調整 Pod 的數量。
Horizontal Pod Autoscaling可以根據CPU使用率或應用自定義metrics自動擴展Pod數量(支持replication controller、deployment和replica set)。
- 控制管理器每隔30s(可以通過–horizontal-pod-autoscaler-sync-period修改)查詢metrics的資源使用情況
- 支持三種metrics類型
- 預定義metrics(比如Pod的CPU)以利用率的方式計算
- 自定義的Pod metrics,以原始值(raw value)的方式計算
- 自定義的object metrics
- 支持兩種metrics查詢方式:Heapster和自定義的REST API
- 支持多metrics
參考:
https://www.cnblogs.com/bakari/p/10620592.html
https://www.kubernetes.org.cn/horizontal-pod-autoscaling
總結
以上是生活随笔為你收集整理的K8S的横向自动扩容的功能Horizontal Pod Autoscaling的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “前期过已久”下一句是什么
- 下一篇: 你真的掌握了并发编程volatile s