1、我们的方案是使用Prometheus Operator以及helm工具在Kubernetes集群上部署Prometheus服务,Prometheus Operator允许用户能够使用简单的声明性配置来配置和管理Prometheus实例,这些配置将响应、创建、配置和管理Prometheus监控实例。
使用Operator部署了Prometheus之后就可以不用再管Prometheus Server了,以后如果要添加监控对象或者添加告警规则,只需要编写对应的ServiceMonitor和Prometheus资源就可以,不用再重启Prometheus服务,Operator会动态的观察配置的改动,并将其生成为对应的Prometheus配置文件其中Operator可以部署、管理Prometheus Service。
2、方案优势,在Prometheus Operator中,它会创建Prometheus、ServiceMonitor、AlertManager以及PrometheusRule 4个CRD资源对象。这些API对象全都是用CRD定义好Schema的,api-server会帮我们做校验,这就大大降低了配置异常的风险。ServiceMonitor和PrometheusRule这两个对象解决了Prometheus配置难维护的问题。
其次,Prometheus Operator借助Kubernetes把Prometheus服务平台化了,实现Prometheus as a Service。在有了Prometheus和Alertmanager这样非常明确的API对象之后,用户就能够以Kubernetes 平台为底座,自助式地创建Prometheus服务或Alertmanager 服务。这些新的API对象基于Operator模式,具有基于Kubernetes进行扩展的优势。
收起