demoyuw / k8s

微服務Kubernetes與Docker開發實務班
18 stars 25 forks source link

Auto Scaling 實作問題? #14

Open demoyuw opened 4 years ago

demoyuw commented 4 years ago

原範例command因k8s版本升級不支援,後續改用yaml腳本部署受測端即測試端

假如使用Rancher 部署出來的kubernets,需要安裝 metrics-server https://github.com/kubernetes-sigs/metrics-server

下面使用GKE示範

使用k8s/deployment/autoscaling/php-apache-deploy.yaml 部署被壓測deployment php-apache. image image

使用k8s/deployment/autoscaling/php-apache-service.yaml 部署被壓測service php-apache. image

使用k8s/deployment/autoscaling/busybox.yaml 部署一個壓測pod busybox image

設定autoscaling 特別注意,如果max數量設定超過worker node可建立上限,會造成之後pod數量縮減時會出現無法縮減問題 kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=4 image

進入busybox pod 中,對php-apahce進行壓測 kubectl exec -it busybox -- /bin/sh image

對php-apache Service的 web進行壓測 while true; do wget -q -O- http://php-apache; done image

開另一個terminal,監控hpa AutoScaling即會依設定,產生對應數量的pod image image

image

當停止壓測,pod數量即回縮回。 image

demoyuw commented 4 years ago

無法縮減pod問題可參照 #12