侧边栏壁纸
博主头像
一揽芳华 博主等级

行动起来,活在当下

  • 累计撰写 265 篇文章
  • 累计创建 24 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

8.1.Prometheus Operator

芳华是个男孩!
2024-10-14 / 0 评论 / 0 点赞 / 4 阅读 / 0 字
广告 广告

title: 8.1.Prometheus Operator
order: 43

icon: lightbulb

一般在Kubernetes管理和部署Prometheus,我们使用ConfigMap了管理Prometheus配置文件。每次对Prometheus配置文件进行升级时,我们需要手动移除已经运行的Pod实例,从而让Kubernetes可以使用最新的配置文件创建Prometheus。 而如果当应用实例的数量更多时,通过手动的方式部署和升级Prometheus过程繁琐并且效率低下。

但实际上对 Kubernetes 来说,还有更简单方式来监控报警,那就是 Prometheus Operator。Prometheus Operator 为监控 Kubernetes 资源和 Prometheus 实例的管理提供了简单的定义,简化在 Kubernetes 上部署、管理和运行 Prometheus 和 Alertmanager 集群。

1、介绍

首先我们先来了解下 Prometheus-Operator 的架构图:

上图是Prometheus-Operator官方提供的架构图,其中Operator是最核心的部分,作为一个控制器,他会去创建PrometheusServiceMonitorAlertManager以及PrometheusRule4个CRD资源对象,然后会一直监控并维持这4个资源对象的状态。

这样我们要在集群中监控什么数据,就变成了直接去操作 Kubernetes 集群的资源对象了,是不是方便很多了。

prometheus这种资源对象就是作为Prometheus Server存在,而ServiceMonitor就是对exporter的配置,exporter前面我们已经学习了,是用来提供专门提供metrics数据接口的工具,Prometheus就是通过ServiceMonitor的配置去 pull 数据的,当然alertmanager这种资源对象就是对应的AlertManager的抽象,而PrometheusRule是用来被Prometheus实例使用的报警规则文件。Service简单的说就是 Prometheus监控的对象。

2、自定义资源

Prometheus Operater 定义了如下的四类自定义资源:

  • Prometheus:声明式创建和管理Prometheus Server实例;

  • ServiceMonitor:负责声明式的管理监控配置;

  • PrometheusRule:负责声明式的管理告警配置;

  • Alertmanager:声明式的创建和管理Alertmanager实例。

例如:当我们创建serviceMonitor后

Opertor发现到创建的serviceMonitor后,生成prometheus crd(自定义资源对象),也就是一系列Job组成的Prometheus监控对象。在根据prometheus crd(自定义资源对象)的定义生成prometheus server的配置文件

3、总结

简言之,Prometheus Operator能够帮助用户自动化的创建以及管理Prometheus Server以及其相应的配置

0
广告 广告

评论区