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

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

如何結(jié)合Kvass與Thanos實現(xiàn)大規(guī)模容器集群的監(jiān)控

本篇內(nèi)容主要講解“如何結(jié)合Kvass與Thanos實現(xiàn)大規(guī)模容器集群的監(jiān)控”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何結(jié)合Kvass與Thanos實現(xiàn)大規(guī)模容器集群的監(jiān)控”吧!

在福安等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供網(wǎng)站制作、成都網(wǎng)站制作 網(wǎng)站設計制作按需開發(fā)網(wǎng)站,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,成都品牌網(wǎng)站建設,成都全網(wǎng)營銷,成都外貿(mào)網(wǎng)站制作,福安網(wǎng)站建設費用合理。

有 Thanos 不夠嗎 ?

有同學可能會問,Thanos 不就是為了解決 Prometheus 的分布式問題么,有了 Thanos 不就可以實現(xiàn)大規(guī)模的 Prometheus 監(jiān)控了嗎?為什么還需要個 Kvass? Thanos 解決了 Prometheus 的分布式存儲與查詢的問題,但沒有解決 Prometheus 分布式采集的問題,如果采集的任務和數(shù)據(jù)過多,還是會使 Prometheus 達到的瓶頸,不過對于這個問題,我們在系列的第一篇 大規(guī)模場景下 Prometheus 的優(yōu)化手段 中就講了一些優(yōu)化方法:

  1. 從服務維度拆分采集任務到不同 Prometheus 實例。

  2. 使用 Prometheus 自帶的 hashmod 對采集任務做分片。

但是,這些優(yōu)化方法還是存在一些缺點:

  1. 配置繁瑣,每個 Prometheus 實例的采集配置都需要單獨配。

  2. 需要提前對數(shù)據(jù)規(guī)模做預估才好配置。

  3. 不同 Prometheus 實例采集任務不同,負載很可能不太均衡,控制不好的話仍然可能存在部分實例負載過高的可能。

  4. 如需對 Prometheus 進行擴縮容,需要手動調(diào)整,無法做到自動擴縮容。

Kvass 就是為了解決這些問題而生,也是本文的重點。

什么是 Kvass ?

Kvass 項目是騰訊云開源的輕量級 Prometheus 橫向擴縮容方案,其巧妙的將服務發(fā)現(xiàn)與采集過程分離,并用 Sidecar 動態(tài)給 Prometheus 生成配置文件,從而達到無需手工配置就能實現(xiàn)不同 Prometheus 采集不同任務的效果,并且能夠?qū)⒉杉蝿者M行負載均衡,以避免部分 Prometheus 實例負載過高,即使負載高了也可以自動擴容,再配合 Thanos 的全局視圖,就可以輕松構(gòu)建只使用一份配置文件的超大規(guī)模集群監(jiān)控系統(tǒng)。下面是 Kvass+Thanos 的架構(gòu)圖:

如何結(jié)合Kvass與Thanos實現(xiàn)大規(guī)模容器集群的監(jiān)控

更多關(guān)于 Kvass 的詳細介紹,請參考 如何用 Prometheus 監(jiān)控十萬 container 的 Kubernetes 集群 ,文章中詳細介紹了原理和使用效果。

部署實踐

部署準備

首先下載 Kvass 的 repo 并進入 examples 目錄:

git clone https://github.com/tkestack/kvass.git
cd kvass/examples

在部署 Kvass 之前我們需要有服務暴露指標以便采集,我們提供了一個 metrics 數(shù)據(jù)生成器,可以指定生成一定數(shù)量的 series,在本例子中,我們將部署 6 個 metrics 生成器副本,每個會生成 10045 series,將其一鍵部署到集群:

kubectl create -f  metrics.yaml

部署 Kvass

接著我們來部署 Kvass:

kubectl create -f kvass-rbac.yaml # Kvass 所需的 RBAC 配置
kubectl create -f config.yaml # Prometheus 配置文件
kubectl create -f coordinator.yaml # Kvass coordinator 部署配置

其中,config.yaml 的 Prometheus 配置文件,配了對剛才部署的 metrics 生成器的采集:

global:
  scrape_interval: 15s
  evaluation_interval: 15s
  external_labels:
    cluster: custom
scrape_configs:
- job_name: 'metrics-test'
  kubernetes_sd_configs:
    - role: pod
  relabel_configs:
  - source_labels: [__meta_kubernetes_pod_label_app_kubernetes_io_name]
    regex: metrics
    action: keep
  - source_labels: [__meta_kubernetes_pod_ip]
    action: replace
    regex: (.*)
    replacement: ${1}:9091
    target_label: __address__
  - source_labels:
    - __meta_kubernetes_pod_name
    target_label: pod

coordinator.yaml 我們給 Coordinator 的啟動參數(shù)中設置每個分片的最大 head series 數(shù)目不超過 30000:

--shard.max-series=30000

然后部署 Prometheus 實例(包含 Thanos Sidecar 與 Kvass Sidecar),一開始可以只需要單個副本:

kubectl create -f prometheus-rep-0.yaml

如果需要將數(shù)據(jù)存儲到對象存儲,請參考上一篇 Thanos 部署與實踐 對 Thanos Sidecar 的配置進行修改。

部署 thanos-query

為了得到全局數(shù)據(jù),我們需要部署一個 thanos-query:

kubectl create -f thanos-query.yaml

根據(jù)上述計算,監(jiān)控目標總計 6 個 target, 60270 series,根據(jù)我們設置每個分片不能超過 30000 series,則預期需要 3 個分片。我們發(fā)現(xiàn),Coordinator 成功將 StatefulSet 的副本數(shù)改成了 3。

$ kubectl get pods
NAME                                READY   STATUS    RESTARTS   AGE
kvass-coordinator-c68f445f6-g9q5z   2/2     Running   0          64s
metrics-5876dccf65-5cncw            1/1     Running   0          75s
metrics-5876dccf65-6tw4b            1/1     Running   0          75s
metrics-5876dccf65-dzj2c            1/1     Running   0          75s
metrics-5876dccf65-gz9qd            1/1     Running   0          75s
metrics-5876dccf65-r25db            1/1     Running   0          75s
metrics-5876dccf65-tdqd7            1/1     Running   0          75s
prometheus-rep-0-0                  3/3     Running   0          54s
prometheus-rep-0-1                  3/3     Running   0          45s
prometheus-rep-0-2                  3/3     Running   0          45s
thanos-query-69b9cb857-d2b45        1/1     Running   0          49s

我們再通過 thanos-query 來查看全局數(shù)據(jù),發(fā)現(xiàn)數(shù)據(jù)是完整的(其中 metrics0 為指標生成器生成的指標名):

如何結(jié)合Kvass與Thanos實現(xiàn)大規(guī)模容器集群的監(jiān)控

如何結(jié)合Kvass與Thanos實現(xiàn)大規(guī)模容器集群的監(jiān)控

如果需要用 Grafana 面板查看監(jiān)控數(shù)據(jù),可以添加 thanos-query 地址作為 Prometheus 數(shù)據(jù)源: http://thanos-query.default.svc.cluster.local:9090。

到此,相信大家對“如何結(jié)合Kvass與Thanos實現(xiàn)大規(guī)模容器集群的監(jiān)控”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!


新聞標題:如何結(jié)合Kvass與Thanos實現(xiàn)大規(guī)模容器集群的監(jiān)控
網(wǎng)頁網(wǎng)址:http://weahome.cn/article/gheoji.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部