orcle 删除表报正在使用_[Kubernetes 系列] 使用Prometheus和Thanos监控K8S多集群(一)...

e01cf4c16b345ece8a754aa243fe13ae.png

简介

需求:Promtheus 高可用

Prometheus 可以说是K8S 集群监控的黄金标准。但是,在生产环境中我们可能会有多个K8S 集群,这时候我们就需要保证监控也是高可用的、可伸缩的。

因此,今天,我们将部署一个Prometheus集群,它不仅可以解决单点故障,而且还可以确保适当的数据归档以备将来参考。我们的集群同样也具有很大的可扩展性,以至于我们可以在同一监控范围内跨越多个Kubernetes集群。

多集群监控的需求

健壮的Kubernetes环境包含超过1个Kubernetes集群。从运维的角度来看,从单个窗口视图中监控所有这些群集非常重要。这不仅有助于及早发现异常,还可以在不同环境中的基准测试应用程序的性能。

可视化如下所示:

155b0e2a72a073166b2636aefa0f72e5.png

我们正在从单个Ops集群监控多个集群(Prod,UAT等)。但是,与此同时,配置在每个群集中的监控也是非常健壮和完整的,所以如果需要,我们也可以单独查看这些指标。

配置的前提条件:

为了完全理解本教程,需要以下内容:

  1. Kubernetes的基本知识并且知道如何使用Kubectl
  2. 运行中的Kubernetes集群至少具有3个节点
  3. 实现Ingress Controller和Ingress对象(就本演示而言,正在使用Nginx Ingress Controller)。

架构

Thanos的架构和组件如下:

c3cae605a848550cd06746ba30f0eab6.png

Thanos由以下组件组成:

Thanos Sidecar:这是和Prometheus一起运行的主要组件。它读取并存储对象存储中的数据。此外,它管理Prometheus的配置和生命周期。为了区分每个Prometheus实例,Sidecar组件将外部标签注入Prometheus配置中。该组件能够在Prometheus服务器的PromQL接口上运行查询。

Thanos Store:此组件在对象存储桶中的历史数据之上实现Store API。它主要充当API网关,因此不需要大量的本地磁盘空间。它在启动时加入Thanos集群,并发布它可以访问的数据。它会在本地磁盘上保留有关所有远程块的少量信息,并使其与存储桶同步。通常,在重新启动时可以安全地删除此数据,但会增加启动时间。

Thanos查询:查询组件侦听HTTP,并将查询转换为Thanos gRPC格式。它汇总了来自不同来源的查询结果,并且可以从Sidecar和Store中读取数据。在高可用性设置中,它甚至可以对结果进行重复数据删除。

HA组的运行时重复数据删除

Prometheus是有状态的,不允许复制其数据库。这意味着通过运行多个Prometheus副本来提高高可用性不是很容易使用。简单的负载平衡将无法正常工作,例如在某些崩溃后,副本可能已启动,但是查询此类副本将导致其关闭期间的间隙很小。您有第二个副本可能正在运行,但在其他时候可能已关闭(例如,滚动重启),因此这些副本之上的负载平衡无法正常工作。

相反,Thanos Querier从两个副本中提取数据,并对这些信号进行重复数据删除,从而对Querier使用者透明地填补了空白。

Thanos Compact:Thanos的压缩器组件采用Prometheus 2.0存储引擎的压缩过程来阻止存储在对象存储中的数据。通常,它在语义上并发安全性不高,必须针对存储桶以单例方式部署。

它还负责数据的下采样-40小时后执行5m的下采样,而10天后执行1h的下采样。

Thanos Ruler:基本上与Prometheus的规则具有相同的作用。唯一的区别是它可以与Thanos组件进行通信。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值