zoukankan      html  css  js  c++  java
  • 构建大规模Prometheus-第一部分

    构建大规模Prometheus-第一部分
    最近需要实施一个Prometheus HA解决方案的项目。简单说下需求:

    他们有一个100多个节点的Kubernetes集群,他们想将数据尽可能保存更长时间。
    万一Prometheus挂了,他们没有备份节点
    他们也需要Prometheus的伸缩解决方案。
    解决方案
    对于HA部分,采用联邦集群机制,对于长期存储的话,考虑使用Thanos,但是在研究过程中发现一个新项目,叫Cortex,以下是thanos和Cortex的比较:

    CortexThanos存储 injestors 中的最新数据存储Prometheus中的最新数据使用Prometheus write API写入使用Sidecar方法写入支持长期存储支持长期存储支持HA不支持HA可和多个Prometheus集成单个

    经过对比这些指标,决定采用Cortex。

    但Cortex方案本身也存在一定的缺陷,如:

    体系结构较复杂,需要深入了解Prometheus的 TSDB
    对CPU、内存要求较高
    会增加远程存储成本,例如S3,GCS,Azure存储等。
    由于这几个因素对我们来说都不是问题,于是就开干了,而且挺好用的。

    对于 Prometheus 的缩放,Prometheus 由于设计问题,只能垂直而不能水平缩放

    如果尝试水平缩放Prometheus,最终将得到分散的数据,这些数据无法轻松合并,因此就缩放部分而言,我们建议采用垂直方法。

    为了自动化Kubernetes中Prometheus的垂直缩放,我们使用了VPA(Vertical Pod Autoscaler)。它可以根据资源的使用情况来缩减对资源过度使用的Pod的规模,也可以缩减对资源过度需求的Pod的规模。

    结论
    这篇文章看到了在Prometheus中实现高可用性,可伸缩性和长期存储所采用的方法。下一篇,我会给出实际操作方法。

  • 相关阅读:
    使用CSDN Code将网站部署到Windows Azure Website上
    各种云计算虚拟机大比拼
    PLSQL无法连接64位Oracle数据库/Database下拉框为空的解决方法
    adb命令集锦
    Web常用函数介绍(LoadRunner相关)
    公开的免费WebService接口分享
    WEB服务器与应用服务器的区别
    电梯测试点有哪些?
    管理者必须知道的:你真的会惩罚你的团队吗?
    分享几个面试题的回答思路
  • 原文地址:https://www.cnblogs.com/fsckzy/p/14203475.html
Copyright © 2011-2022 走看看