kubernetes實踐之四十一:Pod自動擴容與縮容
一:簡介
Kubernetes透過HPA控制器,用於實現基本CPU使用率進行自動Pod擴容和縮容的功能。HAP控制器基於Master的Kube-controller-manager服務啟動引數--horizontal-pod-autoscaler-sync-period定義的時長(預設值為30s),週期性地檢測目標Pod的CPU使用率,並在滿足條件時對ReplicationController或Deployment中的Pod副本數量進行調整,以符合使用者定義的平均Pod CPU使用率。Pod CPU使用率來源於Heapster元件,所有需要預先安裝好Heapster.
二:HPA的建立
建立HPA時可以使用kubectl autoscale命令進行快速建立或者使用Yaml配置檔案進行建立,在建立HPA之前,需要已經存在一個Deployment/RC物件,並且該Deployment/RC中的Pod必須定義resources.requests.cpu的資源請求值,如果不設定該值,則Heapster將無法採集到Pod的CPU使用情況,會導致HPA無法正常工作。
舉例:
1.kubectl autoscale deployment php-apache --min=1 --max=10 --cpu-percent=50
2.透過yaml檔案建立
Kubernetes透過HPA控制器,用於實現基本CPU使用率進行自動Pod擴容和縮容的功能。HAP控制器基於Master的Kube-controller-manager服務啟動引數--horizontal-pod-autoscaler-sync-period定義的時長(預設值為30s),週期性地檢測目標Pod的CPU使用率,並在滿足條件時對ReplicationController或Deployment中的Pod副本數量進行調整,以符合使用者定義的平均Pod CPU使用率。Pod CPU使用率來源於Heapster元件,所有需要預先安裝好Heapster.
二:HPA的建立
建立HPA時可以使用kubectl autoscale命令進行快速建立或者使用Yaml配置檔案進行建立,在建立HPA之前,需要已經存在一個Deployment/RC物件,並且該Deployment/RC中的Pod必須定義resources.requests.cpu的資源請求值,如果不設定該值,則Heapster將無法採集到Pod的CPU使用情況,會導致HPA無法正常工作。
舉例:
1.kubectl autoscale deployment php-apache --min=1 --max=10 --cpu-percent=50
2.透過yaml檔案建立
點選(此處)摺疊或開啟
-
apiVersion: autoscaling/v1
-
kind: HorizontalPodAutoscaler
-
metadata:
-
name: php-apache
-
spec:
-
scaleTargetRef:
-
apiVersion: apps/v1beta1
-
kind: Deployment
-
name: php-apache
-
minReplicas: 1
-
maxReplicas: 10
- targetCPUUtilizationPercentage: 50
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-2154459/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Kubernetes:應用自動擴容、收縮與穩定更新
- Airbnb的動態 Kubernetes 叢集擴縮容AI
- Redis Cluster 叢集搭建與擴容、縮容Redis
- saltstack實現自動化擴容
- minikube metrics-server HPA 自動擴縮容錯誤Server
- Kubernetes+Docker微服務實踐之路--彈性擴容Docker微服務
- Redis—叢集擴縮容Redis
- kubernetes實踐之四十:Pod的升級與回滾
- 在 kubernetes 環境下如何優雅擴縮容 Pulsar
- OceanBase 資料檔案縮容實踐
- 通過一個實際例子理解Kubernetes裡pod的自動scale - 水平自動伸縮
- k8s 自動擴縮容HPA原理及adapter配置詳解?K8SAPT
- 基於Kubernetes的hpa實現pod例項數量的自動伸縮
- 阿里如何將「高峰前擴容、高峰後縮容」的夢想照進現實?阿里
- 阿里如何將“高峰前擴容、高峰後縮容”的夢想照進現實?阿里
- 愛奇藝內容中臺之Serverless應用與實踐Server
- 深入淺出 OceanBase 運維之彈性擴縮容運維
- LVM常規操作記錄梳理(擴容/縮容/快照等)LVM
- 有狀態軟體如何在 k8s 上快速擴容甚至自動擴容K8S
- redis工具擴容收縮運維工具Redis運維
- Redis大叢集擴容效能優化實踐Redis優化
- k8s-hpa自動橫向擴容K8S
- HashMap自動擴容機制原始碼詳解HashMap原始碼
- 乾貨 | 阿里如何將“高峰前擴容、高峰後縮容”的夢想照進現實?阿里
- Redis大叢集擴容效能最佳化實踐Redis
- KVM 虛機映象操作, 擴容和壓縮
- 華納雲:如何配置oracle表空間自動擴容?Oracle
- kubernetes實踐之二十二:Pod
- linux之 LVM擴容LinuxLVM
- k8s 自動伸縮 pod(HPA)K8S
- 用C實現動態擴容的string
- mysql共享表空間擴容,收縮,遷移MySql
- ASM 擴容ASM
- [Redis]擴容Redis
- Vector擴容
- lakka擴容
- kubernetes實踐之三十八:Pod排程
- MinIO線上擴容實戰