精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一文帶你掌握Kubernetes VPA(Pod縱向自動擴縮)

云計算 云原生
從根本上來說,VPA 和 HPA 之間的區別在于它們的擴展方式。HPA 通過添加或刪除pod進行擴展,從而水平擴展容量。然而,VPA 通過增加或減少現有 Pod 容器內的 CPU 和內存資源來進行擴展,從而垂直擴展容量。下表更詳細地解釋了 Kubernetes VPA 和 HPA 之間的差異。

簡介

之前的文章我們介紹了HPA(Horizontal Pod Autoscaler)的實現,HPA一般被稱為橫向擴展,與HPA不同的Vertical Pod Autoscaler ( VPA ) 會自動調整 Pod 的 CPU 和內存屬性,被稱為縱向擴展。VPA可以給出服務運行所適合的CPU和內存配置,省去估計服務占用資源的時間,更合理的使用資源。當然,VPA也可根據資源的使用情況“調整”pod的資源。這里的調整我們用了雙引號,因為他的實現機制是重建而不是動態增加。下面是一個實際的例子:假設我的memory limits是100Mi,但是現在已經用到了98Mi,如果再大的話就oom了,此時vpa會在垂直方向上提升你的memory limits的大小。這種vpa比較適合一些資源消耗比較大的應用,例如es,你給大了資源浪費,給小了,又不夠。所以vpa就派上用場了。當然,vpa不像hpa默認集成在k8s里面的,需要你自己去配置的。

VPA 與 HPA

從根本上來說,VPA 和 HPA 之間的區別在于它們的擴展方式。HPA 通過添加或刪除pod進行擴展,從而水平擴展容量。然而,VPA 通過增加或減少現有 Pod 容器內的 CPU 和內存資源來進行擴展,從而垂直擴展容量。下表更詳細地解釋了 Kubernetes VPA 和 HPA 之間的差異。

需要調整容量

水平縮放 (HPA)

垂直縮放 (VPA)

更多資源

添加更多 Pod

增加現有 pod 容器的 CPU 或內存資源

資源較少

刪除 Pod

減少現有 Pod 容器的 CPU 或內存資源

工作原理

圖片圖片

VPA 的組成部分

VPA 部署具有三個主要組件:VPA Recommender、VPA Updater和VPA Admission Controller。讓我們看一下每個組件的作用。VPA Recommender:

  • 監控資源利用率并計算目標值。
  • 查看指標歷史記錄、OOM 事件和 VPA 部署規范并建議公平請求。根據定義的限制請求比例提高/降低限制。

VPA 更新程序:

  • 驅逐那些需要新資源限制的 Pod。
  • 如果定義了“updateMode: Auto”,則實現推薦器建議的任何內容。

VPA 準入控制器:

  • 每當 VPA 更新程序逐出并重新啟動 Pod 時,都會在新 Pod 啟動之前更改 CPU 和內存設置(使用 Webhook)。
  • 當 Vertical Pod Autoscaler 設置為“Auto”的 updateMode 時,如果需要更改 Pod 的資源請求,則驅逐 Pod。由于 Kubernetes 的設計,修改正在運行的 pod 的資源請求的唯一方法是重新創建 pod。

Kubernetes VPA 工作模式

圖片圖片

  1. 用戶配置VPA。
  2. VPA Recommender 從指標服務器讀取 VPA 配置和資源利用率指標。
  3. VPA Recommender 提供 Pod 資源推薦。
  4. VPA Updater 讀取 Pod 資源建議。
  5. VPA Updater 啟動 Pod 終止。
  6. 部署意識到 Pod 已終止,并將重新創建 Pod 以匹配其副本配置。
  7. 當 Pod 處于重新創建過程中時,VPA 準入控制器會獲取 Pod 資源推薦。由于 Kubernetes 不支持動態更改正在運行的 pod 的資源限制,因此 VPA 無法使用新的限制更新現有 pod。它會終止使用過時限制的 pod。當 Pod 的控制器向 Kubernetes API 服務請求替換時,VPA 準入控制器會將更新的資源請求和限制值注入到新 Pod 的規范中。
  8. 最后,VPA 準入控制器會覆蓋對 Pod 的建議。在我們的示例中,VPA 準入控制器向 Pod 添加了一個“250m”CPU。

最佳實踐

既然你知道了大致原理,讓我們開始動手操作你吧

克隆代碼
# git clone https://github.com/kubernetes/autoscaler.git

由于某些原因拉不到鏡像,改yaml修改優先使用本地鏡像
# cd autoscaler/vertical-pod-autoscaler/deploy
# sed -i 's/Always/IfNotPresent/g'  recommender-deployment.yaml
# sed -i 's/Always/IfNotPresent/g'  admission-controller-deployment.yaml
# sed -i 's/Always/IfNotPresent/g'  updater-deployment.yaml

# 拉取鏡像
# docker pull giantswarm/vpa-admission-controller:0.14.0
# docker pull giantswarm/vpa-recommender:0.14.0
# docker pull giantswarm/vpa-updater:0.14.0


# 修改tag
# docker tag giantswarm/vpa-updater:0.14.0 registry.k8s.io/autoscaling/vpa-updater:0.14.0
# docker tag giantswarm/vpa-recommender:0.14.0 registry.k8s.io/autoscaling/vpa-recommender:0.14.0
# docker tag giantswarm/vpa-admission-controller:0.14.0 registry.k8s.io/autoscaling/vpa-admission-controller:0.14.0

# cd autoscaler/vertical-pod-autoscaler/hack

# 安裝腳本安裝之前保證你的K8S集群的metrics-server已安裝,并且openssl升級到1.1.1或更高版本
# ./vpa-up.sh

等待安裝完成

# kubectl get pods -n kube-system | grep vpa
kube-system     vpa-admission-controller-75bffbf8d8-6hxqq          1/1     Running     0               5m9s
kube-system     vpa-recommender-748c55b5bf-kqqjc                   1/1     Running     0               4m34s
kube-system     vpa-updater-679d5dcdd6-lslc7                       1/1     Running     0               4m15s

使用VPA,您需要為要自動計算資源需求的每個控制器插入一個Vertical Pod Autoscaler資源。這將是最常見的Deployment。VPA有四種運行模式

  • "Auto":VPA 在創建 pod 時分配資源請求,并使用首選更新機制在現有 pod 上更新它們。目前這相當于"Recreate"(見下文)。一旦 pod 請求的免重啟(“就地”)更新可用,它可能會被該"Auto"模式用作首選的更新機制。注意:VPA 的此功能是實驗性的,可能會導致您的應用程序停機,當目前運行的pod的資源達不到VPA的推薦值,就會執行pod驅逐,重新部署新的足夠資源的服務
  • "Recreate":VPA 在創建 Pod 時分配資源請求,并在現有 Pod 上更新它們,當請求的資源與新建議有很大差異時(尊重 Pod 中斷預算,如果定義)。這種模式應該很少使用,只有當您需要確保在資源請求發生變化時重新啟動 Pod 時。否則,更喜歡這種"Auto"模式,一旦它們可用,就可以利用重新啟動免費更新。注意:VPA 的此功能是實驗性的,可能會導致您的應用程序停機
  • "Initial":VPA 僅在創建 pod 時分配資源請求,以后不會更改它們
  • "Off":VPA 不會自動更改 Pod 的資源需求。這些建議是經過計算的,并且可以在 VPA 對象中進行檢查。這種模式僅獲取資源推薦值,但是不更新Pod

創建一個updateMode: Auto 的VPA

# 將updateMode中的requests 改為 CPU:50m,Memory: 50Mi,同時將updateMode修改為Auto

# 創建一個pod和svc
# kubectl get pods -n vpa
NAME                     READY   STATUS    RESTARTS   AGE
nginx-8454bb78d8-67pth   1/1     Running   0          9s
nginx-8454bb78d8-6efsh   1/1     Running   0          9s
# kubectl get svc -n vpa
NAME    TYPE       CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
nginx   NodePort   10.0.200.5   <none>        80:45425/TCP   15s

# 進行壓測,壓測到一半時,突然連接斷了,說明POD被重新創建了
# ab -c 1000 -n 100000 http://192.168.0.191:45425/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.0.191 (be patient)
apr_socket_recv: Connection reset by peer (104)
Total of 187078 requests completed

# 查看vpa
# kubectl describe vpa nginx-vpa -n vpa | tail -n 20
  Conditions:
    Last Transition Time:  2023-09-07T15:41:32Z
    Status:                True
    Type:                  RecommendationProvided
  Recommendation:
    Container Recommendations:
      Container Name:  nginx
      Lower Bound:               #容器的最小估計值
        Cpu:     100m
        Memory:  262144k
      Target:                   #目標估計是我們用于設置資源請求的估計
        Cpu:     350m
        Memory:  262144k
      Uncapped Target:          #無上限目標估計是在沒有minAllowed和maxAllowed限制的情況下產生的目標估計
        Cpu:     350m
        Memory:  262144k
      Upper Bound:              #上限是容器的最大建議資源估計
        Cpu:     2
        Memory:  405160855
Events:          <none>

# 查看pod被重新創建了 稍高的配置
# kubectl get pods -n vpa
NAME                     READY   STATUS    RESTARTS   AGE
nginx-daecsfv8d8-see8h   1/1     Running   0          4m
nginx-daecsfv8d8-fsise   1/1     Running   0          3m

已知的限制

  • 每當 VPA 更新 Pod 資源時,都會重新創建 Pod,這會導致重新創建所有正在運行的容器。Pod 可以在不同的節點上重新創建。
  • VPA 無法保證它驅逐或刪除以應用建議(在Auto和Recreate模式下配置時)的 pod 將成功重新創建。通過將 VPA 與Cluster Autoscaler結合使用可以部分解決這個問題。
  • VPA 不會更新不在控制器下運行的 Pod 的資源。
  • 目前,Vertical Pod Autoscaler不應與CPU 或內存上的Horizontal Pod Autoscaler (HPA)一起使用。但是,您可以在自定義和外部指標上將 VPA 與 HPA結合使用。
  • VPA 準入控制器是一個準入 Webhook。如果您將其他準入 Webhook 添加到集群中,則分析它們如何交互以及它們是否可能相互沖突非常重要。準入控制器的順序由 API 服務器上的標志定義。
  • VPA 會對大多數內存不足事件做出反應,但并非在所有情況下都會做出反應。
  • VPA 性能尚未在大型集群中進行測試。
  • VPA 建議可能會超出可用資源(例如節點大小、可用大小、可用配額)并導致Pod 處于掛起狀態。通過將 VPA 與Cluster Autoscaler結合使用可以部分解決這個問題。
  • 與同一 Pod 匹配的多個 VPA 資源具有未定義的行為。

總結

在本文中,我們使用VPA實現了基于POD對配置進行橫向擴展,合理的使用可以提高對K8S的利用率,實現降本增效。但是目前的VPA也存在一些問題,我個人覺得VPA最大的問題是會對服務進行重建,重建過程中可能會有流量損失,但是好消息是從1.27 版本動態調整容器CPU和內存資源限制,無需重啟應用程序,在可見的將來,會實現動態擴容更加順滑,讓我們一起期待~

責任編輯:武曉燕 來源: 云原生運維圈
相關推薦

2022-12-20 07:39:46

2023-12-21 17:11:21

Containerd管理工具命令行

2024-02-23 10:25:33

Kubernetes自動擴縮容工作負載

2024-05-22 09:45:49

2023-12-15 09:45:21

阻塞接口

2021-02-22 09:05:59

Linux字符設備架構

2021-06-04 09:35:05

Linux字符設備架構

2020-12-18 11:54:22

Linux系統架構

2022-09-05 09:25:53

KubernetesService

2022-09-09 10:00:13

KubernetesConfigMap

2025-07-02 09:50:55

2023-11-20 08:18:49

Netty服務器

2022-10-21 17:24:34

契約測試定位

2023-07-31 08:18:50

Docker參數容器

2023-11-06 08:16:19

APM系統運維

2021-05-29 10:11:00

Kafa數據業務

2022-11-11 19:09:13

架構

2021-04-28 08:05:30

SpringCloudEureka服務注冊

2020-06-03 08:19:00

Kubernetes

2021-05-12 18:22:36

Linux 內存管理
點贊
收藏

51CTO技術棧公眾號

日本精品久久久久久久久久| 国产精品视频成人| 88av在线播放| 欧美成人黑人| 中文字幕一区二区三区在线播放 | 经典三级久久| 亚洲成国产人片在线观看| 激情五月综合色婷婷一区二区| 久久99国产综合精品免费| 欧美xxxx中国| 亚洲国产另类久久精品| 久久网站免费视频| 欧美成人xxx| 国产传媒欧美日韩成人| 国产成人啪精品视频免费网| 亚洲成人生活片| 久久最新网址| 日韩欧美成人激情| www.精品在线| 国模冰冰炮一区二区| 日韩美女视频一区二区| 欧美高清性xxxxhd| 精品女同一区二区三区| 日本欧美在线看| 久久久久久久久亚洲| 萌白酱视频在线| 日韩大片在线免费观看| 日韩欧美一区二区三区在线| 日本新janpanese乱熟| h片在线观看| 自拍av一区二区三区| 日韩欧美精品一区二区三区经典| 性做久久久久久久久久| 久久av中文字幕片| 日韩av123| 亚州国产精品视频| 最新精品国产| www.日韩系列| 极品蜜桃臀肥臀-x88av| 亚欧洲精品视频在线观看| 精品剧情在线观看| 性生活一级大片| 欧美另类激情| 欧美无乱码久久久免费午夜一区| 日本中文字幕网址| av电影院在线看| 依依成人综合视频| 一级特黄妇女高潮| 快射av在线播放一区| 亚洲国产精品精华液2区45| 欧美成人蜜桃| 欧美性孕妇孕交| 99re这里只有精品视频首页| 99久久免费国| 亚洲成人一二三区| 国产91在线观看丝袜| 97视频资源在线观看| 国产黄色高清视频| 国产成人丝袜美腿| 成人自拍爱视频| 丰满人妻一区二区| 国产成人免费在线视频| 亚洲a在线播放| www.色亚洲| 国产精品一品二品| 国产丝袜不卡| 青青草在线视频免费观看| 久久蜜桃香蕉精品一区二区三区| 你懂的网址一区二区三区| 暖暖视频在线免费观看| 国产午夜亚洲精品午夜鲁丝片| 欧美久久在线| 在线观看麻豆蜜桃| 亚洲欧美一区二区三区久本道91| 在线观看18视频网站| 亚洲性图自拍| 午夜欧美在线一二页| 大陆极品少妇内射aaaaa| 成人直播视频| 欧美男男青年gay1069videost | 久久伊人影院| 日韩女优电影在线观看| 一级特黄a大片免费| 蜜臀av免费一区二区三区| 一区二区日韩精品| 午夜精品福利在线视频| 亚洲午夜一级| 国产精品99久久久久久www| 在线观看中文字幕码| 国产剧情在线观看一区二区| 国产视频一区二区三区四区| 国产尤物视频在线| ●精品国产综合乱码久久久久| 成人在线国产视频| 香蕉成人影院| 欧美xxxx在线观看| 亚洲天堂视频一区| 中文精品久久| 热久久免费视频精品| 国产又粗又黄视频| 不卡的看片网站| 亚洲日本精品| 99riav视频在线观看| 在线精品视频免费播放| 美女流白浆视频| 精品久久综合| 97欧美精品一区二区三区| 中文字幕一区二区三区四区视频| 国产91综合一区在线观看| 视频一区二区三区在线观看| 蜜臀av国内免费精品久久久夜夜| 一本久道久久综合中文字幕| 韩国三级丰满少妇高潮| 最近国产精品视频| 欧美国产精品va在线观看| 国产亚洲欧美日韩高清| 成人晚上爱看视频| 欧美h视频在线观看| 澳门av一区二区三区| 精品播放一区二区| 四虎永久免费在线| 免费观看成人鲁鲁鲁鲁鲁视频| 国产高清不卡av| 黄视频在线观看网站| 91黄色免费看| 免费a在线观看播放| 欧美国产91| 国产精品亚洲美女av网站| 欧美黄色小说| 五月天欧美精品| 色综合久久久无码中文字幕波多| 日韩欧美精品综合| 国产精品1234| 免费在线视频你懂得| 亚洲图片欧美视频| 在线a免费观看| 91一区二区| 国产精品久久久久久av福利软件 | 影音先锋在线国产| 99久久精品国产一区| 99久久免费观看| 日韩免费成人| 久久成人国产精品| 99热这里只有精品66| 国产精品久久久久久久蜜臀 | 正在播放久久| 国模私拍国内精品国内av| 国产亚洲精品91在线| 91video| 久久先锋资源网| 国产精品免费入口| 伊人久久大香线蕉综合网站| 国产91精品高潮白浆喷水| 日韩中文字幕观看| 亚洲成a人v欧美综合天堂下载| 9.1在线观看免费| 欧美日韩p片| 高清免费日韩| 国产传媒在线观看| 精品亚洲一区二区三区在线播放| 日韩三级视频在线| wwwwxxxxx欧美| 麻豆传传媒久久久爱| 精品国产精品| 国产精品视频在线观看| 日本免费在线观看| 欧美福利视频一区| 99热精品免费| 成人av网址在线观看| 日韩a∨精品日韩在线观看| 日本欧美三级| 国产精品久久久久久久久久久久久| 国外av在线| 欧美另类z0zxhd电影| 91高清免费观看| 成人午夜在线免费| 日韩精品视频久久| 欧美一级精品片在线看| 91成人免费观看| 狼人综合视频| 中文字幕亚洲欧美在线| 国产免费高清av| 懂色aⅴ精品一区二区三区蜜月| 白白色免费视频| 韩日精品视频一区| 你真棒插曲来救救我在线观看| 亚洲精品蜜桃乱晃| 国产精品在线看| 黑人极品ⅴideos精品欧美棵| 精品无人区太爽高潮在线播放| 超碰在线免费97| 亚洲一线二线三线视频| www.自拍偷拍| 国产精品1024| 欧美亚洲日本在线观看| 综合激情一区| 欧美精品一区二区三区四区五区| 亚洲国产精选| …久久精品99久久香蕉国产| 在线a人片免费观看视频| 日韩欧美的一区| 在线视频精品免费| 午夜伦欧美伦电影理论片| 日本人亚洲人jjzzjjz| 成人精品免费看| 午夜久久久精品| 亚洲人成免费| 一区二区在线观看免费| 亚洲视频一二区| 成人av资源| 日韩精品影院| 欧美国产日韩免费| 蜜桃成人在线| 亚洲精品电影在线一区| 天堂在线免费观看视频| 国产精品国产a| 超碰影院在线观看| 在线观看黄av| 亚洲精品suv精品一区二区| 亚洲av无码不卡| 亚洲成人av一区二区三区| 成人欧美一区二区三区黑人一 | 偷拍与自拍一区| 91麻豆精品成人一区二区| 国产午夜精品久久久久久久 | 亚洲国产高清aⅴ视频| 熟妇高潮精品一区二区三区| 国产91富婆露脸刺激对白| 国产九九热视频| 日本亚洲视频在线| 国产福利视频在线播放| 国产欧美日韩亚洲一区二区三区| 91网站在线观看免费| 亚洲欧美一区在线| 国产精品88久久久久久妇女| 四虎成人av| 亚洲综合网中心| 日本在线电影一区二区三区| 日韩精品久久一区| 国产精品中文字幕亚洲欧美| 久久精品中文字幕一区二区三区| 999精品视频在这里| αv一区二区三区| 成人av动漫| 精品久久sese| 无码日韩精品一区二区免费| 久久香蕉综合色| 免费成人网www| 日本在线视频不卡| 水蜜桃精品av一区二区| 色中文字幕在线观看| 91精品推荐| 国产在线xxxx| 99国内精品| 久久久免费视频网站| 视频一区免费在线观看| 日本免费观看网站| 麻豆国产精品视频| 日韩av高清在线看片| 在线精品一区| 欧美在线观看成人| 久久国产高清| 黄色手机在线视频| 紧缚奴在线一区二区三区| 亚洲爆乳无码专区| 美女视频一区在线观看| 日本在线观看免费视频| 久久亚洲风情| 国产美女18xxxx免费视频| 韩国视频一区二区| 中文字幕资源在线观看| 成人一区二区三区在线观看| 久久免费精品国产| 99久久er热在这里只有精品66| 黄色国产在线观看| 国产亚洲欧美一级| 蜜桃av免费在线观看| 一区二区三区日韩精品| 久久久精品视频在线| 舔着乳尖日韩一区| 中文在线字幕免费观| 欧美日本免费一区二区三区| 国产精品久久久久久久免费看| 精品国产免费一区二区三区四区| 五月天久久久久久| 亚洲视频在线播放| av网站导航在线观看免费| 久久久久久国产精品美女| 老色鬼在线视频| 国产精品久久久久久久久久99| 亚洲免费av一区二区三区| 91青青草视频| 9l视频自拍蝌蚪9l视频成人| 国内免费久久久久久久久久久| 日本动漫同人动漫在线观看| 91a在线视频| 校园春色亚洲| 成人精品视频久久久久| 57pao国产一区二区| 精品亚洲欧美日韩| 天天久久综合| 亚洲人精品午夜射精日韩| 日韩电影在线观看电影| www.日本久久| 91小视频免费看| 国产1区2区3区4区| 欧美丝袜一区二区三区| 国产精品女同一区二区| 亚洲男人天堂2024| av在线播放国产| 日本成人在线视频网址| 北条麻妃一区二区三区在线| 日本公妇乱淫免费视频一区三区| 中文字幕人成人乱码| 一区二区三区 日韩| 成人91在线观看| 欧美福利第一页| 精品日韩视频在线观看| 国产精品久久久久久免费免熟| 精品无人区太爽高潮在线播放| 久操视频在线免费播放| 69精品小视频| 波多野结衣欧美| 一区二区日本| 美女视频一区免费观看| 国产chinese中国hdxxxx| 亚洲欧洲性图库| 日本欧美www| 国产一区二区三区网站| 国产精品蜜芽在线观看| 国产在线观看不卡| 色一区二区三区四区| 国产超级av在线| 91在线视频18| 国产福利久久久| 69堂成人精品免费视频| 欧美成人二区| 国产精品日韩欧美大师| 蜜臀av一区| 亚洲人精品午夜射精日韩 | 亚洲手机在线观看| 国产午夜精品视频免费不卡69堂| 成人国产电影在线观看| 91在线免费视频| 91精品国产乱码久久久久久久| 另类小说色综合| 日本一区二区免费在线观看视频| 久草国产精品视频| 日韩精品一区在线| 爱福利在线视频| 风间由美久久久| 在线 亚洲欧美在线综合一区| 欧洲熟妇的性久久久久久| 一级精品视频在线观看宜春院 | 欧美情侣在线播放| 91青青在线视频| 国产精品欧美一区二区| 蜜乳av综合| www.这里只有精品| 综合久久久久久| 亚洲国产av一区二区| 日本韩国一区二区三区视频| 国产精品国色综合久久| а√天堂中文在线资源8| **亚洲第一综合导航网站| 一区二区三区在线观看免费| 污污网站免费观看| 中文字幕巨乱亚洲| 亚洲中文一区二区三区| 最近中文字幕日韩精品| 精品国产第一福利网站| 色乱码一区二区三在线看| 蜜臀av性久久久久av蜜臀妖精| 91香蕉国产视频| 欧美日韩国产电影| 巨大荫蒂视频欧美大片| 51国偷自产一区二区三区| 国产一区观看| 中文字字幕码一二三区| 欧美日韩国产另类一区| 成人午夜在线影视| 国产精品免费视频一区二区| 国产欧美69| 国产日韩精品中文字无码| 日韩免费高清av| 日本乱码一区二区三区不卡| 亚洲一区二区精品在线| 国产精品一区二区久激情瑜伽| 538精品在线观看| 亚洲人成网站色ww在线| 精品三级在线| 日韩伦理在线免费观看| 国产欧美一区二区精品秋霞影院 | 欧美熟乱第一页| 免费网站免费进入在线| 91在线精品视频| 三级久久三级久久| 一区二区视频免费看| 亚洲色图激情小说| 91麻豆精品国产综合久久久|