k8s helm prometheus自动重启加载配置
prometheus使用yaml文件作为配置文件,其中可定义抓取、高级等所有配置,根据官网文档,修改配置后,需要重启prometheus服务,或发送一个http请求。
问题是使用helm安装prometheus,即使开启storageClass共享存储,会发现其并没有将配置文件prometheus.yml放到共享存储目录下,使得我们无法在容器外部轻松修改。
经过多次折腾,最后发现原来是将配置文件创建为ConfigMap,再将其作为volume挂到容器里,同时,还专门引入了configmap-reload容器,监听ConfigMap是否有变化,若有便自动给prometheus发送http请求,使其加载新配置,详情可看helm配置清单。
因此,现在想要配置,修改ConfigMap即可,比手动重载的方式更加方便,helm开箱即用果然所言非虚!
以后遇到这种和应用的基本使用息息相关的问题时,还是多读读helm的配置清单,因为这种明显的问题相信官方已经做好了解决办法