千家信息网

如何结合Kvass与Thanos实现大规模容器集群的监控

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容主要讲解"如何结合Kvass与Thanos实现大规模容器集群的监控",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何结合Kvass与Thanos实
千家信息网最后更新 2026年11月02日如何结合Kvass与Thanos实现大规模容器集群的监控

本篇内容主要讲解"如何结合Kvass与Thanos实现大规模容器集群的监控",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何结合Kvass与Thanos实现大规模容器集群的监控"吧!

有 Thanos 不够吗 ?

有同学可能会问,Thanos 不就是为了解决 Prometheus 的分布式问题么,有了 Thanos 不就可以实现大规模的 Prometheus 监控了吗?为什么还需要个 Kvass? Thanos 解决了 Prometheus 的分布式存储与查询的问题,但没有解决 Prometheus 分布式采集的问题,如果采集的任务和数据过多,还是会使 Prometheus 达到的瓶颈,不过对于这个问题,我们在系列的第一篇 大规模场景下 Prometheus 的优化手段 中就讲了一些优化方法:

  1. 从服务维度拆分采集任务到不同 Prometheus 实例。

  2. 使用 Prometheus 自带的 hashmod 对采集任务做分片。

但是,这些优化方法还是存在一些缺点:

  1. 配置繁琐,每个 Prometheus 实例的采集配置都需要单独配。

  2. 需要提前对数据规模做预估才好配置。

  3. 不同 Prometheus 实例采集任务不同,负载很可能不太均衡,控制不好的话仍然可能存在部分实例负载过高的可能。

  4. 如需对 Prometheus 进行扩缩容,需要手动调整,无法做到自动扩缩容。

Kvass 就是为了解决这些问题而生,也是本文的重点。

什么是 Kvass ?

Kvass 项目是腾讯云开源的轻量级 Prometheus 横向扩缩容方案,其巧妙的将服务发现与采集过程分离,并用 Sidecar 动态给 Prometheus 生成配置文件,从而达到无需手工配置就能实现不同 Prometheus 采集不同任务的效果,并且能够将采集任务进行负载均衡,以避免部分 Prometheus 实例负载过高,即使负载高了也可以自动扩容,再配合 Thanos 的全局视图,就可以轻松构建只使用一份配置文件的超大规模集群监控系统。下面是 Kvass+Thanos 的架构图:

更多关于 Kvass 的详细介绍,请参考 如何用 Prometheus 监控十万 container 的 Kubernetes 集群 ,文章中详细介绍了原理和使用效果。

部署实践

部署准备

首先下载 Kvass 的 repo 并进入 examples 目录:

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

在部署 Kvass 之前我们需要有服务暴露指标以便采集,我们提供了一个 metrics 数据生成器,可以指定生成一定数量的 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: customscrape_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 的启动参数中设置每个分片的最大 head series 数目不超过 30000:

--shard.max-series=30000

然后部署 Prometheus 实例(包含 Thanos Sidecar 与 Kvass Sidecar),一开始可以只需要单个副本:

kubectl create -f prometheus-rep-0.yaml

如果需要将数据存储到对象存储,请参考上一篇 Thanos 部署与实践 对 Thanos Sidecar 的配置进行修改。

部署 thanos-query

为了得到全局数据,我们需要部署一个 thanos-query:

kubectl create -f thanos-query.yaml

根据上述计算,监控目标总计 6 个 target, 60270 series,根据我们设置每个分片不能超过 30000 series,则预期需要 3 个分片。我们发现,Coordinator 成功将 StatefulSet 的副本数改成了 3。

$ kubectl get podsNAME                                READY   STATUS    RESTARTS   AGEkvass-coordinator-c68f445f6-g9q5z   2/2     Running   0          64smetrics-5876dccf65-5cncw            1/1     Running   0          75smetrics-5876dccf65-6tw4b            1/1     Running   0          75smetrics-5876dccf65-dzj2c            1/1     Running   0          75smetrics-5876dccf65-gz9qd            1/1     Running   0          75smetrics-5876dccf65-r25db            1/1     Running   0          75smetrics-5876dccf65-tdqd7            1/1     Running   0          75sprometheus-rep-0-0                  3/3     Running   0          54sprometheus-rep-0-1                  3/3     Running   0          45sprometheus-rep-0-2                  3/3     Running   0          45sthanos-query-69b9cb857-d2b45        1/1     Running   0          49s

我们再通过 thanos-query 来查看全局数据,发现数据是完整的(其中 metrics0 为指标生成器生成的指标名):

如果需要用 Grafana 面板查看监控数据,可以添加 thanos-query 地址作为 Prometheus 数据源: http://thanos-query.default.svc.cluster.local:9090。

到此,相信大家对"如何结合Kvass与Thanos实现大规模容器集群的监控"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

配置 数据 监控 生成 集群 任务 实例 大规模 大规 不同 问题 文件 生成器 容器 全局 分布式 副本 方法 存储 服务 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网是第几次科技革命的成果 云之行互联网科技 互联网科技卖菜 互联网科技公司官网 卓越科技互联网 招聘 农村开互联网科技讲堂 湖南诚度互联网科技有限公司 贵州叶脉互联网科技有限公司所属行业 来此购互联网科技有限公司 链环科技传统企业怎么转型互联网 互联网数据科技专业 保险科技服务互联网营销体系 众安科技工业互联网合作 江苏苏星互联网科技有限公司 互联网科技融合创新 风投北京互联网科技 互联网风格科技公司名称 现代科技的标志之一的互联网 互联网科技创业有什么好项目 小牛互联网科技有限公司地址 港股互联网科技股 中国互联网科技发展 贷财互联网科技 互联网科技大会案例 互联网科技创新企业排名 深圳市运趣互联网科技有限公司 来此购互联网科技有限公司 科技类公司包括互联网吗 区块链结合互联网科技 中国主要互联网科技公司
0