真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

k8s群集之動態(tài)擴縮容——HPA

博文大綱:
一、HPA介紹
二、實現(xiàn)pod擴容與縮容的示例

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供東寧企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計制作、成都網(wǎng)站制作、H5場景定制、小程序制作等業(yè)務(wù)。10年已為東寧眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進行中。

一、HPA介紹

HPA的全稱為Horizontal Pod Autoscaling,它可以根據(jù)當前pod資源的使用率(如CPU、磁盤、內(nèi)存等),進行副本數(shù)的動態(tài)的擴容與縮容,以便減輕各個pod的壓力。當pod負載達到一定的閾值后,會根據(jù)擴縮容的策略生成更多新的pod來分擔壓力,當pod的使用比較空閑時,在穩(wěn)定空閑一段時間后,還會自動減少pod的副本數(shù)量。

若要實現(xiàn)自動擴縮容的功能,還需要部署heapster服務(wù),用來收集及統(tǒng)計資源的利用率,支持kubectl top命令,heapster服務(wù)集成在prometheus(普羅米修斯) MertricServer服務(wù)中,所以說,為了方便,我這里基于prometheus服務(wù)的環(huán)境上進行部署HPA(動態(tài)擴縮容)的服務(wù)。

可以參考博文:k8s群集的三種Web-UI界面部署中的第三個部署Prometheus服務(wù),來運行prometheus服務(wù),如果不想部署prometheus,那么可以參考github上來單獨部署heapster服務(wù),

總言而之,要想實現(xiàn)pod副本數(shù)量的一個擴縮容,就必須保證,可以在master上執(zhí)行下面的命令:

[root@master ~]# kubectl top node      #查看節(jié)點的資源使用情況
NAME     CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
master   218m         10%    1362Mi          79%       
node01   113m         5%     1116Mi          64%       
node02   127m         6%     1287Mi          74%       

二、實現(xiàn)pod擴容與縮容的示例

1、生成HPA控制器

#運行這個hpa-example,請求CPU的資源為200m,暴露一個80端口
[root@master ~]# kubectl run php-apache --image=mirrorgooglecontainers/hpa-example --requests=cpu=200m --expose --port=80
#當deployment資源對象的CPU使用率達到50%時,就進行擴容,最多可以擴容到10個
[root@master ~]# kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=10
#上面的命令作用是生成了一個HPA的控制器,用于控制自動擴縮容
[root@master ~]# kubectl get svc | grep php-apache   #查看php-apache對應(yīng)的svc群集IP
php-apache   ClusterIP   10.99.60.48           80/TCP    15m
[root@master ~]# kubectl get pod | grep php-apa    #確定當前的pod數(shù)量
php-apache-867f97c8cb-vw74k      1/1     Running   0          17m

2、模擬消耗php-apache的資源,并驗證pod是否會自動擴容與縮容

新開啟多個終端,對pod進行死循環(huán)請求,如下(如果你的系統(tǒng)資源比較充足,可以選擇開啟多個終端,對pod進行死循環(huán)請求,我這里開啟了三個終端,同時請求php-apache的pod):

[root@master ~]# while true; do wget -q -O- 10.99.60.48; done   #每個終端都執(zhí)行此命令
[root@master ~]# kubectl top pod      #可以通過此命令隨時查看pod的負載情況
NAME                             CPU(cores)   MEMORY(bytes)   
load-generator-7d549cd44-xm98c   0m           1Mi             
php-apache-867f97c8cb-vw74k      208m         20Mi           
#也可以不定時的查看pod的數(shù)量是否有變化
[root@master ~]# kubectl get pod    #在運行死循環(huán)請求一段時間后,查看pod數(shù)量
#可以發(fā)現(xiàn)php-apache的pod數(shù)量變成了10個,并且不會再增加,因為在上面的命令對其限制了最大數(shù)
NAME                             READY   STATUS              RESTARTS   AGE
load-generator-7d549cd44-xm98c   1/1     Running             1          25m
php-apache-867f97c8cb-4r6sk      1/1     Running             0          19m
php-apache-867f97c8cb-4rcpk      1/1     Running             0          13m
php-apache-867f97c8cb-5pbxf      1/1     Running             0          16m
php-apache-867f97c8cb-8htth      1/1     Running             0          13m
php-apache-867f97c8cb-d94h9      0/1     ContainerCreating   0          13m
php-apache-867f97c8cb-drh62      1/1     Running             0          18m
php-apache-867f97c8cb-f67bs      0/1     ContainerCreating   0          17m
php-apache-867f97c8cb-nxc2r      1/1     Running             0          19m
php-apache-867f97c8cb-vw74k      1/1     Running             0          39m
php-apache-867f97c8cb-wb6l5      0/1     ContainerCreating   0          15m

當停止死循環(huán)請求后,也并不會立即減少pod數(shù)量,會等一段時間后減少pod數(shù)量,防止流量再次激增。

至此,pod副本數(shù)量的自動擴縮容就實現(xiàn)了。

———————— 本文至此結(jié)束,感謝閱讀 ————————


當前標題:k8s群集之動態(tài)擴縮容——HPA
網(wǎng)頁路徑:http://weahome.cn/article/ijejgi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部