kubernetes kube-prometheus-stack如何通过副本实现HA?

chhkpiq4  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(135)

如果我们将kube-prometheus-stack配置为replicas = 2,那么Prometheus的两个示例将运行。然而,没有部署Thanos Query用于聚合。那么kube-prometheus-stack是如何为这两个示例提供具有重复数据删除的数据聚合的呢?

ntjbwcob

ntjbwcob1#

没有聚合或状态共享-你得到的基本上是两个独立的prometheuses,它们正在废弃相同的目标。参见https://prometheus-operator.dev/docs/operator/high-availability/
Prometheus示例抓取相同的目标并评估相同的规则,因此它们将在内存和磁盘上具有相同的数据,由于它们的外部标签不同,因此抓取和评估不会完全同时发生。因此,对每个Prometheus示例执行的查询请求可能会返回略有不同的结果。
警报管理器端正在发生警报警报故障。因此,拥有两个或更多的prometheus只能提供高可用性,而不能扩展。
运行多个Prometheus示例可以避免出现单点故障,但如果单个Prometheus示例无法处理所有目标和规则,则无法帮助扩展Prometheus。
至于使用Grafana或任何其他可视化工具-您应该配置粘性会话,以便每次查询单个示例
对于 Jmeter 板,应该使用粘性会话(在Kubernetes Service上使用sessionAffinity),以便在刷新时获得一致的图形,或者您可以使用类似Thanos Querier的东西来联合数据。

相关问题