在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Prometheus的全方位監(jiān)控平臺(tái)設(shè)計(jì)

阿銘linux ? 來源:阿銘linux ? 2023-06-29 11:37 ? 次閱讀

一、背景:

Kubernetes集群規(guī)模大、動(dòng)態(tài)變化快,而且容器化應(yīng)用部署和服務(wù)治理機(jī)制的普及,傳統(tǒng)的基礎(chǔ)設(shè)施監(jiān)控方式已經(jīng)無法滿足Kubernetes集群的監(jiān)控需求。

需要使用專門針對(duì)Kubernetes集群設(shè)計(jì)的監(jiān)控工具來監(jiān)控集群的狀態(tài)和服務(wù)質(zhì)量。

Prometheus則是目前Kubernetes集群中最常用的監(jiān)控工具之一,它可以通過Kubernetes API中的 metrics-server 獲取 Kubernetes 集群的指標(biāo)數(shù)據(jù),從而實(shí)現(xiàn)對(duì)Kubernetes集群的應(yīng)用層面監(jiān)控,以及基于它們的水平自動(dòng)伸縮對(duì)象 HorizontalPodAutoscaler。

二、Metrics-server

資源指標(biāo)管道 Metrics API | Kubernetes

Metrics Server 是一個(gè)專門用來收集 Kubernetes 核心資源指標(biāo)(metrics)的工具,它定時(shí)從所有節(jié)點(diǎn)的 kubelet 里采集信息,但是對(duì)集群的整體性能影響極小,每個(gè)節(jié)點(diǎn)只大約會(huì)占用 1m 的 CPU 和 2MB 的內(nèi)存,所以性價(jià)比非常高。

Metrics Server 工作原理

bc3b1c54-162d-11ee-962d-dac502259ad0.png

圖中從右到左的架構(gòu)組件包括以下內(nèi)容:

cAdvisor: 用于收集、聚合和公開 Kubelet 中包含的容器指標(biāo)的守護(hù)程序。

kubelet: 用于管理容器資源的節(jié)點(diǎn)代理。可以使用 /metrics/resource 和 /stats kubelet API 端點(diǎn)訪問資源指標(biāo)。

Summary API: kubelet 提供的 API,用于發(fā)現(xiàn)和檢索可通過 /stats 端點(diǎn)獲得的每個(gè)節(jié)點(diǎn)的匯總統(tǒng)計(jì)信息。

metrics-server: 集群插件組件,用于收集和聚合從每個(gè) kubelet 中提取的資源指標(biāo)。API 服務(wù)器提供 Metrics API 以供 HPA、VPA 和 kubectl top 命令使用。Metrics Server 是 Metrics API 的參考實(shí)現(xiàn)。

Metrics API: Kubernetes API 支持訪問用于工作負(fù)載自動(dòng)縮放的 CPU 和內(nèi)存。要在你的集群中進(jìn)行這項(xiàng)工作,你需要一個(gè)提供 Metrics API 的 API 擴(kuò)展服務(wù)器。

2.1、Metrics-server部署配置

Metrics Server 的項(xiàng)目網(wǎng)址(https://github.com/kubernetes-sigs/metrics-server)

$ wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml  && mv components.yaml metrics-server.yaml

修改 YAML 文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: metrics-server
  namespace: kube-system
spec:
  ... ... 
  template:
   spec:
    containers:
    - args:
     - --kubelet-insecure-tls
     ... ...

Metrics Server 默認(rèn)使用 TLS 協(xié)議,要驗(yàn)證證書才能與 kubelet 實(shí)現(xiàn)安全通信,而我們的內(nèi)網(wǎng)環(huán)境里沒有這個(gè)必要。

默認(rèn)鏡像源非國內(nèi),如有下載失敗的小伙伴,更改鏡像為如下阿里云提供的即可:

registry.aliyuncs.com/google_containers/metrics-server:v0.6.1

部署:

$ kubectl apply -f metrics-server.yaml

測試驗(yàn)證:

$ kubectl top node
$ kubectl top pod -n kube-system

三、HorizontalPodAutoscaler

HorizontalPodAutoscaler (HPA)是Kubernetes中的一個(gè)控制器,用于動(dòng)態(tài)地調(diào)整Pod副本的數(shù)量。HPA可以根據(jù)Metrics-server提供的指標(biāo)(如CPU使用率、內(nèi)存使用率等)或內(nèi)部指標(biāo)(如每秒的請(qǐng)求數(shù))來自動(dòng)調(diào)整Pod的副本數(shù)量,以確保應(yīng)用程序具有足夠的資源,并且不會(huì)浪費(fèi)資源。

HPA是Kubernetes擴(kuò)展程序中非常常用的部分,特別是在負(fù)載高峰期自動(dòng)擴(kuò)展應(yīng)用程序時(shí)。

3.1、使用HorizontalPodAutoscaler

創(chuàng)建一個(gè) Nginx 應(yīng)用,定義 Deployment 和 Service,作為自動(dòng)伸縮的目標(biāo)對(duì)象:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: ngx-hpa-dep
spec:
  replicas: 1
  selector:
   matchLabels:
    app: ngx-hpa-dep
  template:
   metadata:
    labels:
     app: ngx-hpa-dep
   spec:
    containers:
    - image: nginx:alpine
     name: nginx
     ports:
     - containerPort: 80
     resources:
      requests:
       cpu: 50m
       memory: 10Mi
      limits:
       cpu: 100m
       memory: 20Mi
---
apiVersion: v1
kind: Service
metadata:
  name: ngx-hpa-svc
spec:
  ports:
  - port: 80
   protocol: TCP
   targetPort: 80
  selector:
   app: ngx-hpa-dep

注意在它的 spec 里一定要用 resources 字段寫清楚資源配額,否則 HorizontalPodAutoscaler 會(huì)無法獲取 Pod 的指標(biāo),也就無法實(shí)現(xiàn)自動(dòng)化擴(kuò)縮容。

接下來我們要用命令 kubectl autoscale 創(chuàng)建一個(gè) HorizontalPodAutoscaler 的樣板 YAML 文件,它有三個(gè)參數(shù):

min,Pod 數(shù)量的最小值,也就是縮容的下限。

max,Pod 數(shù)量的最大值,也就是擴(kuò)容的上限。

cpu-percent,CPU 使用率指標(biāo),當(dāng)大于這個(gè)值時(shí)擴(kuò)容,小于這個(gè)值時(shí)縮容。

現(xiàn)在我們就來為剛才的 Nginx 應(yīng)用創(chuàng)建 HorizontalPodAutoscaler,指定 Pod 數(shù)量最少 2 個(gè),最多 8 個(gè),CPU 使用率指標(biāo)設(shè)置的小一點(diǎn),5%,方便我們觀察擴(kuò)容現(xiàn)象:

$ kubectl autoscale deploy ngx-hpa-dep --min=2 --max=8 --cpu-percent=5 --dry-run=client -o yaml > nginx-demo-hpa.yaml

YAML 描述文件:

apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
  name: ngx-hpa
spec:
  maxReplicas: 8
  minReplicas: 2
  scaleTargetRef:
   apiVersion: apps/v1
   kind: Deployment
   name: ngx-hpa-dep
  targetCPUUtilizationPercentage: 5

通過kubectl apply創(chuàng)建這個(gè) HorizontalPodAutoscaler 后,它會(huì)發(fā)現(xiàn) Deployment 里的實(shí)例只有 1 個(gè),不符合 min 定義的下限的要求,就先擴(kuò)容到 2 個(gè):

# kubectl get deploy
NAME          READY   UP-TO-DATE   AVAILABLE   AGE
ngx-hpa-dep   1/2     2            1           95s

3.2、測試驗(yàn)證

下面我們來給 Nginx 加上壓力流量,運(yùn)行一個(gè)測試 Pod,使用的鏡像是httpd:alpine,它里面有 HTTP 性能測試工具 ab(Apache Bench):

$ kubectl run test -it --image=httpd:alpine -- sh

然后我們向 Nginx 發(fā)送一百萬個(gè)請(qǐng)求,持續(xù) 1 分鐘,再用 kubectl get hpa 來觀察 HorizontalPodAutoscaler 的運(yùn)行狀況:

$ ab -c 10 -t 60 -n 1000000 'http://ngx-hpa-svc/'

Metrics Server 大約每 15 秒采集一次數(shù)據(jù),所以 HorizontalPodAutoscaler 的自動(dòng)化擴(kuò)容和縮容也是按照這個(gè)時(shí)間點(diǎn)來逐步處理的。

當(dāng)它發(fā)現(xiàn)目標(biāo)的 CPU 使用率超過了預(yù)定的 5% 后,就會(huì)以 2 的倍數(shù)開始擴(kuò)容,一直到數(shù)量上限,然后持續(xù)監(jiān)控一段時(shí)間;

如果 CPU 使用率回落,就會(huì)再縮容到最小值 (默認(rèn)會(huì)等待五分鐘如果負(fù)載沒有上去,就會(huì)縮小到最低水平,防止抖動(dòng))。

$ kubectl get po
NAME                           READY   STATUS              RESTARTS   AGE
ngx-hpa-dep-7984687bb9-86cg5   0/1     ContainerCreating   0          14s
ngx-hpa-dep-7984687bb9-9wpr8   1/1     Running             0          29s
ngx-hpa-dep-7984687bb9-gjzwl   0/1     ContainerCreating   0          14s
ngx-hpa-dep-7984687bb9-k4dpj   0/1     ContainerCreating   0          14s
ngx-hpa-dep-7984687bb9-qkhpq   1/1     Running             0          4m45s
ngx-hpa-dep-7984687bb9-sgxtc   0/1     ContainerCreating   0          14s
ngx-hpa-dep-7984687bb9-xq6xk   1/1     Running             0          6m11s
ngx-hpa-dep-7984687bb9-xs9q8   0/1     ContainerCreating   0          29s

四、總結(jié)

1、Metrics Server是Kubernetes中的一個(gè)組件,它可以將集群中的散布的資源使用情況數(shù)據(jù)收集并聚合起來。收集的數(shù)據(jù)包括節(jié)點(diǎn)的CPU和內(nèi)存使用情況等。

2、通過API提供給Kubernetes中的其它組件(如HPA)使用。Metrics Server可以幫助集群管理員和應(yīng)用程序開發(fā)者更好地了解集群中資源的使用情況,并根據(jù)這些數(shù)據(jù)做出合理的決策,例如調(diào)整Pod副本數(shù)、擴(kuò)展集群等。

3、Metrics Server對(duì)于Kubernetes中的資源管理和應(yīng)用程序擴(kuò)展非常重要。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1545

    瀏覽量

    63191
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    503

    瀏覽量

    22297
  • 監(jiān)控平臺(tái)
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    8645
  • Prometheus
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    1814

原文標(biāo)題:基于Prometheus的全方位監(jiān)控平臺(tái)--HPA自動(dòng)伸縮

文章出處:【微信號(hào):aming_linux,微信公眾號(hào):阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Prometheus的架構(gòu)原理從“監(jiān)控”談起

    。 去年10月我們快速落地了一套易用、靈活、有亮點(diǎn)的業(yè)務(wù)監(jiān)控平臺(tái),其中使用到了Prometheus。從技術(shù)選型階段,Pr
    的頭像 發(fā)表于 10-10 15:47 ?4597次閱讀
    <b class='flag-5'>Prometheus</b>的架構(gòu)原理從“<b class='flag-5'>監(jiān)控</b>”談起

    [分享]全方位剖析BGA布線規(guī)則與技巧

     全方位剖析BGA布線規(guī)則與技巧  http://www.weeqoo.com/bbs/bbsdetail-271365-13.html
    發(fā)表于 07-17 10:33

    行車記錄儀全方位錄像

    行車記錄儀全方位錄像
    發(fā)表于 04-17 11:15

    全方位智能小車通訊應(yīng)該使用什么方式?

    全方位智能小車通訊應(yīng)該使用什么方式?此小車輪子位置處在正四邊形的四個(gè)角的位置,可實(shí)現(xiàn)八個(gè)方向移動(dòng),想通過手機(jī)藍(lán)牙控制下車移動(dòng),該如何實(shí)現(xiàn),求大師指導(dǎo)?
    發(fā)表于 05-25 10:51

    全方位距離雷達(dá)動(dòng)態(tài)檢測系統(tǒng)的設(shè)計(jì)怎么設(shè)計(jì)

    具有全方位距離檢測功能,具有全方位距離顯示功能 能夠智能找出距離最短的能力
    發(fā)表于 03-06 15:26

    Glance360全方位智能展示

    `Glance一目了然,免費(fèi)的產(chǎn)品360全方位智能展示方案。支持AI語音互動(dòng),AR增強(qiáng)現(xiàn)實(shí)展示,IOT遠(yuǎn)程協(xié)助等前衛(wèi)功能。可用于產(chǎn)品智能說明書,產(chǎn)品智能展示,廣告宣傳,遠(yuǎn)程控制器等眾多功能。提供免費(fèi)
    發(fā)表于 11-15 11:42

    什么是全方位汽車安全解決方案?

    本文在傳統(tǒng)防盜系統(tǒng)的基礎(chǔ)上采用了嵌入式系統(tǒng)理念,提出了一種新的全方位汽車安全解決方案,在PSoC3硬件開發(fā)平臺(tái)上設(shè)計(jì)出具有遠(yuǎn)程監(jiān)控功能的智能車鎖,為汽車防盜系統(tǒng)的遠(yuǎn)程無線網(wǎng)絡(luò)化發(fā)展提供了良好的應(yīng)用基礎(chǔ)。終端由于安裝方便、靈活性強(qiáng)
    發(fā)表于 11-01 06:36

    關(guān)于全方位立體電容傳感器的設(shè)計(jì)

    本人通過對(duì)學(xué)生電子實(shí)訓(xùn)課中出現(xiàn)的問題進(jìn)行分析和研究,發(fā)明了全方位立體電容傳感器,它解決了傳統(tǒng)傳感器只能單一方向傳感的問題,實(shí)現(xiàn)全方位立體傳感器的目的。
    發(fā)表于 04-29 07:40

    prometheus監(jiān)控服務(wù)的整個(gè)流程介紹

    。MicroMeterSpringBoot本身提供了健康檢查,度量,指標(biāo)收集和監(jiān)控,怎么把這些數(shù)據(jù)暴露給Prometheus,這就要用到Micrometer ,Micrometer為Java平臺(tái)上的性能數(shù)據(jù)收集提供了
    發(fā)表于 12-23 17:34

    介紹一種全方位測量和檢驗(yàn)的軟件

    PC-DMIS.V3.5 全方位測量和檢驗(yàn)的軟件簡體中文完整版.沒有功能限制好用 WaSP.v9.0.0.139(風(fēng)力氣象預(yù)報(bào)和風(fēng)力發(fā)電機(jī)和風(fēng)電場產(chǎn)能預(yù)報(bào)的PC平臺(tái)應(yīng)用工具) h:\31\ ansys CFX 學(xué)習(xí)教程手冊資料.rar Auto CAD R14簡體中文版.
    發(fā)表于 07-12 08:48

    安全監(jiān)控電路提供全方位監(jiān)測,確保系統(tǒng)的安全性

    安全監(jiān)控電路提供全方位監(jiān)測,確保系統(tǒng)的安全性 摘要:本文介紹了DS36xx安全監(jiān)控系列產(chǎn)品在嵌入式安全系統(tǒng)中的應(yīng)用。 概述 傳統(tǒng)設(shè)計(jì)中,往往將防入侵
    發(fā)表于 03-31 10:30 ?702次閱讀

    Prometheus服務(wù)監(jiān)控系統(tǒng)

    prometheus.zip
    發(fā)表于 04-26 10:23 ?3次下載
    <b class='flag-5'>Prometheus</b>服務(wù)<b class='flag-5'>監(jiān)控</b>系統(tǒng)

    prometheus下載安裝教程

    Prometheus 是一個(gè)開放性的監(jiān)控解決方案,用戶可以非常方便的安裝和使用 Prometheus 并且能夠非常方便的對(duì)其進(jìn)行擴(kuò)展。 在Prometheus的架構(gòu)設(shè)計(jì)中,
    的頭像 發(fā)表于 01-13 16:07 ?8497次閱讀
    <b class='flag-5'>prometheus</b>下載安裝教程

    基于kube-prometheus的大數(shù)據(jù)平臺(tái)監(jiān)控系統(tǒng)設(shè)計(jì)

    本文介紹了如何基于 kube-prometheus 設(shè)計(jì)一個(gè)監(jiān)控系統(tǒng), 以靈活簡單的方式對(duì) kubernetes 上的應(yīng)用進(jìn)行指標(biāo)采集,并實(shí)現(xiàn)監(jiān)控報(bào)警功能。
    的頭像 發(fā)表于 05-30 17:02 ?765次閱讀

    基于Prometheus開源的完整監(jiān)控解決方案

    每一個(gè)被 Prometheus 監(jiān)控的服務(wù)都是一個(gè) Job,Prometheus 為這些 Job 提供了官方的 SDK ,利用這個(gè) SDK 可以自定義并導(dǎo)出自己的業(yè)務(wù)指標(biāo),也可以
    發(fā)表于 10-18 09:15 ?694次閱讀
    基于<b class='flag-5'>Prometheus</b>開源的完整<b class='flag-5'>監(jiān)控</b>解決方案
    主站蜘蛛池模板: 国内a级毛片免费··· | 韩国三级理论在线看中文字幕 | 性视频久久 | 人人澡人人射 | 韩国黄色三级视频 | 午夜两性色视频免费网站 | 抽搐一进一出gif免费男男 | 狼狼狼色精品视频在线播放 | 8050午夜| 天堂网在线免费 | 超级狂色而且免费又超好看 | 日本高清视频wwww色 | 激情免费视频 | 日本一本高清 | xx视频在线| xx性欧美| 日本午夜三级 | 色欧美色图 | 99久久99久久久精品齐齐鬼色 | 68日本xxxxxxx18| 欧美一区二区三区四区在线观看 | 国产一区二区三区波多野吉衣 | 色天使在线播放 | 国产巨大bbbb俄罗斯 | 狠狠干狠狠艹 | 欧美成人午夜精品一区二区 | 俺要操| 日本一区二区精品88 | 久久中文字幕综合婷婷 | 就操成人网 | 欧美午夜在线观看 | 久久久久久人精品免费费看 | 午夜黄网站 | 欧洲亚洲国产精华液 | 午夜网站在线播放 | 久久婷婷国产综合精品 | 黄 色 录像成 人播放免费99网 | 最近在线视频免费观看2019 | 亚洲成人免费网站 | 深夜视频在线播放视频在线观看免费观看 | 午夜剧场毛片 |