Prometheus Server with Dynamic Rules



我目前正在做一个使用Prometheus Server(不是Prometheus Operator)的项目。我们希望引入一种无需重新部署即可修改PrometheusRules的方法。

我对容器和Kubernetes完全陌生,有点超出我的理解,所以我希望有人能告诉我,如果我浪费我的时间试图使这个工作。

到目前为止我想到的是:

  1. 将PrometheusRules存储在configmap中
  2. 将规则的configmap应用到Prometheus Server配置。
  3. 为Prometheus Server创建一个可以修改此configMap的sidecar。
  4. sidecar将有一个公开的API,因此用户将拥有规则的CRUD功能。
  5. 当成功修改规则时,sidecar将触发Prometheus Server上的reload端点,使其重新加载其配置文件,而无需重新启动容器。

感谢

您最初的用例似乎是有效的,尽管我想说有更好的方法来实现它。

对于第1,2点,我建议您使用Prometheus Helm Chart以方便使用,更好的配置管理和部署。这将把Prometheus配置作为一个单独的单元来跟踪,而不是单独维护规则文件。

对于第3,4点:-对活动配置进行直接的未跟踪更改似乎不安全或不可靠。使用上面提到的helm图,我建议您在部署到集群之前进行更改(使用像Git这样的VCS来跟踪更改)

最好的情况:-同时设置CI/CD管道以立即部署更改。

使用上面提到的reload API来重新加载新发布的配置。

了解更多关于Helm的信息

相关内容

最新更新