眾所周知,kubernetes一大特色是可以自動對POD進行擴縮容,因為應用的資源使用率通常都有高峰和低谷的時候,如何削峰填谷,提高叢集的整體資源利用率,讓service中的Pod個數自動調整呢?這就有賴於Horizontal Pod Autoscaling了,顧名思義,使Pod水平自動縮放。
而kubernetes實際上是可以支援VPA(垂直)和HPA(水平)兩種擴縮容的方式,通俗的來講,VPA就是堆配置,調整現有的POD資源,而HPA就是增加POD,在實際的生產環境中一般使用HPA就可以了,VPA需要停止POD,因此使用的場景較少。
使用HPA之前,需要安裝metrics-server或者heapster,這樣才可以獲取節點和pod的資源使用情況。檢查metrics-server和heapster是否可用最簡單的辦法是使用top命令,檢視是否可以獲取到pod的資源使用情況。
01 資源準備
1)建立pod,一定要配置resources
2)準備Service
3)應用
4)檢視
02 建立HPA
1)建立HPA
2)應用
3)檢視
4)curl測試,可以看到pods數量已經變為2了
5)自動擴容了一個pod
6)停止curl後,使用率會降下來,pod數量會被縮容到1