【kubernetes】HPA實現自動水平伸縮POD

眾所周知,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了

【kubernetes】HPA實現自動水平伸縮POD

5)自動擴容了一個pod

6)停止curl後,使用率會降下來,pod數量會被縮容到1

TAG: PodHPAVPA