欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

k8s監(jiān)控數(shù)據(jù)組件Pod自動化進行擴縮容HPA

 更新時間:2022年03月18日 16:44:47   作者:、重明  
這篇文章主要為大家介紹了監(jiān)控數(shù)據(jù)組件Pod自動化進行擴縮容-HPA的全面講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步

自動擴縮容HPA:全稱是Horizontal Pod Autoscaler

我們安裝k8s集群的時候,安裝過一個metrics-server的組件,這是一個監(jiān)控數(shù)據(jù)組件,提供HPA和基礎資源監(jiān)控的能力。就是這面這個Pod:

[root@k8s-master01 ~]# kubectl get pod -n kube-system 
metrics-server-6bf7dcd649-5fhrw            1/1     Running   2 (3d5h ago)   8d

通過這個組件可以看到節(jié)點或者Pod的內存和CPU的使用率:

[root@k8s-master01 ~]# kubectl top pod -A
NAMESPACE              NAME                                         CPU(cores)   MEMORY(bytes)   
default                busybox                                      0m           0Mi             
kube-system            calico-kube-controllers-5dffd5886b-4blh6     3m           18Mi            
kube-system            calico-node-fvbdq                            42m          135Mi           
kube-system            calico-node-g8nqd                            52m          73Mi        

除了可以進行簡單的監(jiān)控功能,還可以利用這個監(jiān)控的數(shù)據(jù)做一些其他的操作。

比如我們可以給Pod的資源設定某個值,當資源的使用超過這個值,那么系統(tǒng)就會認為這個Pod當前存在壓力,從而就行擴容。

一般使用CPU和自定義指標進行擴容,內存相對較少。

HPA實踐:

注意事項:要想實現(xiàn)HPA的自動擴容,需要滿足以下幾個條件

  • 必須安裝metrics-server組件或其他自定義版本的metrics-server
  • 必須配置requests參數(shù)
  • 不能擴容無法縮放的對象,如DaemonSet

首先創(chuàng)建一個nginx的yaml文件:

kubectl create deployment hpa-nginx --image=nginx --dry-run=client -o yaml > hpa-nginx.yaml

然后進入yaml文件中進行配置:在配置鏡像那里進行配置,下列代碼的后三行,如果也想對基于內存擴容的話也可以將內存寫上。

resources:是資源的意思

requests:是請求的意思,這里應該是請求資源的意思

    spec:
      containers:
      - image: nginx
        name: nginx
        resources:
          requests:
            cpu: 10m

執(zhí)行yaml文件創(chuàng)建副本:

[root@k8s-master01 ~]# kubectl create -f hpa-nginx.yaml 
deployment.apps/hpa-nginx created

暴露出一個service端口:

[root@k8s-master01 ~]# kubectl expose deployment hpa-nginx --port=80
[root@k8s-master01 ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
hpa-nginx    ClusterIP   10.98.236.134   <none>        80/TCP    3m17s
kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP   8d

訪問測試一下:證明這個Pod可以用了

[root@k8s-master01 ~]# curl 10.98.236.134
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a  rel="external nofollow"   >nginx.org</a>.<br/>
Commercial support is available at
<a  rel="external nofollow"   >nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

配置Hpa自動擴縮容的規(guī)則:這條命令是說當hpa-nginx這個Pod的cpu值達到10的時候,將進行自動擴容,最小擴容1個,最大擴容10個。

[root@k8s-master01 ~]# kubectl autoscale deployment hpa-nginx --cpu-percent=10 --min=1 --max=10
horizontalpodautoscaler.autoscaling/hpa-nginx autoscaled

看一下hpa的規(guī)則情況:

[root@k8s-master01 ~]# kubectl get hpa
NAME        REFERENCE              TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
hpa-nginx   Deployment/hpa-nginx   0%/10%    1         10        1          2m38s

下面進行一個循環(huán)訪問hpa-nginx:觀察hpa的cpu值會不會上升

[root@k8s-master01 ~]# while true; do wget -q -O- http://10.98.236.134 >/dev/null; done

觀察是否已經進行擴容:可以看到hpa-nginx的副本數(shù)已經進行了自動擴容

[root@k8s-master01 ~]# kubectl get hpa
NAME        REFERENCE              TARGETS    MINPODS   MAXPODS   REPLICAS   AGE
hpa-nginx   Deployment/hpa-nginx   640%/10%   1         10        1          7m14s
[root@k8s-master01 ~]# kubectl top pod 
NAME                        CPU(cores)   MEMORY(bytes)   
busybox                     0m           0Mi             
hpa-nginx-bd88bdd8f-7gdwq   1m           3Mi             
hpa-nginx-bd88bdd8f-8c6j6   1m           3Mi             
hpa-nginx-bd88bdd8f-cfcjs   1m           7Mi             
hpa-nginx-bd88bdd8f-h8vx7   74m          7Mi             
hpa-nginx-bd88bdd8f-kpgl8   2m           3Mi             
hpa-nginx-bd88bdd8f-lpf45   1m           3Mi             
hpa-nginx-bd88bdd8f-lwc2h   1m           3Mi             
hpa-nginx-bd88bdd8f-qkgfd   1m           3Mi             
hpa-nginx-bd88bdd8f-t9fj9   1m           3Mi             
hpa-nginx-bd88bdd8f-tbrl4   1m           7Mi   

那么,接下來將訪問測試停下,看副本是否會自動縮容到最初;等待一會發(fā)現(xiàn)副本回到了最原始的一個。注意這個時間可能會有點慢,稍微等一會,不是報錯了。

[root@k8s-master01 ~]# kubectl get hpa
NAME        REFERENCE              TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
hpa-nginx   Deployment/hpa-nginx   2%/10%    1         10        10         11m
[root@k8s-master01 ~]# kubectl get pod
NAME                        READY   STATUS    RESTARTS       AGE
busybox                     1/1     Running   26 (46m ago)   8d
hpa-nginx-bd88bdd8f-h8vx7   1/1     Running   0              27m

這個功能雖然好用,但在實際生成中一定要結合實際的情況使用?。?!

以上就是監(jiān)控數(shù)據(jù)組件Pod自動化進行擴縮容-HPA的詳細內容,更多關于Pod自動化擴縮容HPA的資料請關注腳本之家其它相關文章!

相關文章

  • 用 Win2003 架設郵件服務器 圖文詳解

    用 Win2003 架設郵件服務器 圖文詳解

    很多企業(yè)局域網(wǎng)內都架設了郵件服務器,用于進行公文發(fā)送和工作交流。但使用專業(yè)的企業(yè)郵件系統(tǒng)軟件需要大量的資金投入,這對于很多企業(yè)來說是無法承受的
    2012-10-10
  • 銀河麒麟V10服務器版安裝達夢DM8數(shù)據(jù)庫的詳細過程

    銀河麒麟V10服務器版安裝達夢DM8數(shù)據(jù)庫的詳細過程

    這篇文章主要介紹了銀河麒麟V10服務器版安裝達夢DM8數(shù)據(jù)庫的詳細過程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-03-03
  • 網(wǎng)站壓力測試工具-ab工具apache?bench使用過程

    網(wǎng)站壓力測試工具-ab工具apache?bench使用過程

    apache?bench是apache自帶的壓力測試工具。ab不僅可以對apache服務器進行網(wǎng)站訪問壓力測試,也可以對或其它類型的服務器進行壓力測試。ab工具上手學習較快,可以提供需要的基本性能指標,但沒有圖形化結果,不能監(jiān)控。因此可以用作臨時緊急任務和簡單測試。
    2022-11-11
  • git創(chuàng)建版本庫_動力節(jié)點Java學院整理

    git創(chuàng)建版本庫_動力節(jié)點Java學院整理

    這篇文章主要為大家詳細介紹了git創(chuàng)建版本庫的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 解決Ubuntu虛擬機NAT不能上網(wǎng)的幾種方法小結

    解決Ubuntu虛擬機NAT不能上網(wǎng)的幾種方法小結

    vmware安裝ubuntu虛擬機后,網(wǎng)絡經常抽風,也不知道具體是什么原因導致的,有時候開機就不能上網(wǎng),有時候,是突然不能上網(wǎng),這個時候,嘗試重啟虛擬機后者電腦,看看能否解決,或者使用下面的方法看看
    2023-12-12
  • dell 服務器安裝 centos 7.9 系統(tǒng)的方法

    dell 服務器安裝 centos 7.9 系統(tǒng)的方法

    本文介紹了在Dell服務器上安裝CentOS 7.9系統(tǒng)的步驟,包括查看系統(tǒng)版本、設置靜態(tài)IP地址、重啟網(wǎng)絡服務等,文章還提到了如何為系統(tǒng)生成新的UUID,這些步驟為用戶提供了在Dell服務器上安裝和配置CentOS 7.9系統(tǒng)的基礎知識
    2024-11-11
  • 詳解linux命令查看服務器上的實時日志

    詳解linux命令查看服務器上的實時日志

    在項目開發(fā)過程中,在調試的階段,往往需要debug或者進行查看日志,這篇文章主要介紹了linux命令如何查看服務器上的實時日志,需要的朋友可以參考下
    2022-09-09
  • HTTP-Header中常見字段及含義詳解

    HTTP-Header中常見字段及含義詳解

    這篇文章主要為大家介紹了HTTP-Header中常見字段及含義詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • ipvs模塊的管理工具ipvsadm介紹

    ipvs模塊的管理工具ipvsadm介紹

    對ipvsadm 的命令參考,并根據(jù)自己使用的經驗,進行了一個簡單的翻譯,希望對ipvsadm 的使用者有一定的幫助
    2015-01-01
  • VSCode配置Git的方法步驟隨記

    VSCode配置Git的方法步驟隨記

    這篇文章主要介紹了VSCode配置Git的方法步驟隨記,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11

最新評論