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

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

Kubernetes的HPA自動擴(kuò)容與縮容是什么?-創(chuàng)新互聯(lián)

Kubernetes的HPA自動擴(kuò)容與縮容是什么?相信很多新手小白對HPA的了解處于懵懂狀態(tài),通過這篇文章的總結(jié),希望你能有所收獲。如下資料是關(guān)于HPA的內(nèi)容。

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、洛龍ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的洛龍網(wǎng)站制作公司

HPA介紹

Kubernetes HPA(水平Pod自動縮放)Pod水平自動伸縮,通過此功能,只需簡單的配置,即可便可以利用監(jiān)控指標(biāo)(cpu使用率、磁盤、內(nèi)存等)自動的擴(kuò)容或縮容服務(wù)中Pod數(shù)量,當(dāng)業(yè)務(wù)需求增加時,系統(tǒng)將為您無縫地自動增加適量容器,提高系統(tǒng)穩(wěn)定性。此處將詳細(xì)講解HPA的核心設(shè)計原理和基于Hepaster的使用方法

前提條件

系統(tǒng)應(yīng)該能否獲取到當(dāng)前Pod的資源使用情況 (意思是可以執(zhí)行kubectl top pod命令,并且能夠得到反饋信息)。

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

實驗環(huán)境

主機(jī)IP地址服務(wù)
master192.168.1.21k8s
node01192.168.1.22k8s
node02192.168.1.23k8s

基于[https://blog.51cto.com/14320361/2473879]() 的實驗繼續(xù)進(jìn)行

Kubernetes的HPA自動擴(kuò)容與縮容是什么?

  • heapster:這個組件之前是集成在k8s集群的,不過在1.12版本之后被移除了。如果還想使用此功能,應(yīng)該部署metricServer, 這個k8s集群資源使用情況的聚合器。
  • Cousom:同樣處于beta階段(autoscaling/v2beta1),但是涉及到自定義的REST API的開發(fā),復(fù)雜度會大一些,并且當(dāng)需要從自定義的監(jiān)控中獲取數(shù)據(jù)時,只能設(shè)置絕對值,無法設(shè)置使用率。
自動擴(kuò)展主要分為兩種:
  • 水平擴(kuò)展(scale out),針對于實例數(shù)目的增減。
  • 垂直擴(kuò)展(scal up),即單個實例可以使用的資源的增減, 比如增加cpu和增大內(nèi)存。
    HPA屬于前者。它可以根據(jù)CPU使用率或應(yīng)用自定義metrics自動擴(kuò)展Pod數(shù)量(支持 replication controller、deployment 和 replica set)。

工作流程

  • 創(chuàng)建HPA資源,設(shè)定目標(biāo)CPU使用率限額,以及大/最小實例數(shù),一定要設(shè)置Pod的資源限制參數(shù): request,否則HPA不會工作。
  • 控制管理器每隔30s(在kube-controller-manager.service中可以通過–-horizontal-pod-autoscaler-sync-period修改)查詢metrics的資源使用情況。
  • 然后與創(chuàng)建時設(shè)定的值和指標(biāo)做對比(平均值之和/限額),求出目標(biāo)調(diào)整的實例個數(shù)。
  • 目標(biāo)調(diào)整的實例數(shù)不能超過第一條中設(shè)定的大/最小實例數(shù)。如果沒有超過,則擴(kuò)容;超過,則擴(kuò)容至大的實例個數(shù)。
  • 重復(fù)第2-4步。

這里,我們使用一個測試鏡像, 這個鏡像基于php-apache制作的docker鏡像,包含了一些可以運行cpu密集計算任務(wù)的代碼。

1、創(chuàng)建一個deployment控制器

[root@master ~]#docker pull mirrorgooglecontainers/hpa-example:latest
//下載hpa-example鏡像

[root@master ~]# kubectl run php-apache --image=mirrorgooglecontainers/hpa-example --requests=cpu=200m --expose  --port=80
//基于hpa-example鏡像,運行一個deployment控制器,請求CPU的資源為200m,暴露一個80端口

查看一下

[root@master ~]# kubectl get deployments.

Kubernetes的HPA自動擴(kuò)容與縮容是什么?

2、創(chuàng)建HPA控制器

[root@master ~]# kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=10
//當(dāng)deployment資源對象的CPU使用率達(dá)到50%時,就進(jìn)行擴(kuò)容,最多可以擴(kuò)容到10個

查看一下

[root@master ~]# kubectl get hpa

Kubernetes的HPA自動擴(kuò)容與縮容是什么?

3、測試(master開啟三個端口)

新開啟多個終端,對pod進(jìn)行死循環(huán)請求php-apache的pod

端口一

(1)創(chuàng)建一個應(yīng)用,用來不停的訪問我們剛剛創(chuàng)建的php-apache的svc資源。
[root@master ~]# kubectl run -i --tty load-generator --image=busybox /bin/sh
(2)進(jìn)入Pod內(nèi),執(zhí)行以下這條命令.用來模擬訪問php-apache的svc資源。
[root@master ~]# while true; do wget -q -O- http://php-apache.default.svc.cluster.local ; done
//不停地向php-apache的svc資源,發(fā)送ok

端口二

[root@master ~]# kubectl get hpa -w
//實時查看pod的cpu狀態(tài)

Kubernetes的HPA自動擴(kuò)容與縮容是什么?

可以看到php-apache的cpu使用情況已經(jīng)超過了50%

端口三

[root@master images]# kubectl get pod -w
//實時查看pod的狀態(tài)

Kubernetes的HPA自動擴(kuò)容與縮容是什么?可以看到當(dāng)php-apache的cpu使用情況超過50%后,就會不斷生成新的php-apache來進(jìn)行負(fù)載均衡(目前設(shè)置的上線時10個),當(dāng)然,如果cpu使用情況下降到50%,master就會陸續(xù)地刪除php-apache,這樣的使用可以減少不必要的資源浪費、資源分配不均等情況。

看完上述內(nèi)容,你們對Kubernetes的HPA自動擴(kuò)容與縮容大概了解了嗎?如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


當(dāng)前名稱:Kubernetes的HPA自動擴(kuò)容與縮容是什么?-創(chuàng)新互聯(lián)
文章位置:http://weahome.cn/article/dicgoi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部