kubernetes實踐之四十一:Pod自動擴容與縮容

百聯達發表於2018-05-14
一:簡介
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檔案建立

點選(此處)摺疊或開啟

  1. apiVersion: autoscaling/v1
  2. kind: HorizontalPodAutoscaler
  3. metadata:
  4.   name: php-apache
  5. spec:
  6.   scaleTargetRef:
  7.     apiVersion: apps/v1beta1
  8.     kind: Deployment
  9.     name: php-apache
  10.   minReplicas: 1
  11.   maxReplicas: 10
  12.   targetCPUUtilizationPercentage: 50

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-2154459/,如需轉載,請註明出處,否則將追究法律責任。

相關文章