Prometheus 有状态集的RollingUpdate不';无法重新启动POD,更新的配置映射中的更改不会反映

Prometheus 有状态集的RollingUpdate不';无法重新启动POD,更新的配置映射中的更改不会反映,prometheus,prometheus-alertmanager,configmap,kubernetes-statefulset,Prometheus,Prometheus Alertmanager,Configmap,Kubernetes Statefulset,我正在使用Prometheus和Prometheus Alertmanager发送警报 我已经在GKE上运行了Kubernetes状态集。我更新了Prometheus和Prometheus AlertManager的配置映射,并对有状态集进行了RollingUpdate,但pods没有重新启动,似乎仍在使用旧的配置映射 我使用该命令更新ConfigMaps kubectl创建configmap prometheus alertmanager配置--从文件alertmanager.yml-n my

我正在使用Prometheus和Prometheus Alertmanager发送警报

我已经在GKE上运行了Kubernetes状态集。我更新了Prometheus和Prometheus AlertManager的配置映射,并对有状态集进行了RollingUpdate,但pods没有重新启动,似乎仍在使用旧的配置映射

我使用该命令更新ConfigMaps

kubectl创建configmap prometheus alertmanager配置--从文件alertmanager.yml-n mynamespace-o yaml--干运行| kubectl替换-f-
同样,我也为普罗米修斯做了更新

对于RollingUpdate,我使用了以下命令:

kubectl patch statefulset prometheus警报管理器-p'{“spec”:{“updateStrategy”:{“type”:“RollingUpdate”}}'-n mynamespace

还有,当我滚动更新时,它显示

statefulset.apps/prometheus-alertmanager已修补(无更改)


我不知道发生了什么,难道不可能通过执行RollingUpdate使有状态集合中的POD适应更新的ConfigMaps吗?或者我遗漏了什么?

普罗米修斯吊舱必须重新启动,才能获取更新的配置图或机密

滚动更新并不总是重新启动pod(仅当pod的直接配置属性发生更改时,例如-image标记)

kubectl v1.15现在提供了一个rollout restart子命令,允许您在部署中重新启动POD(考虑到您的喘振/不可用配置),从而让它们获取对引用的ConfigMap、Secret或类似配置的更改。值得注意的是,您可以将它用于比v1.15旧的集群,因为它是在客户机中实现的

示例用法:kubectl卷展栏重新启动部署/prometheus以重新启动特定部署。这么简单

更多信息-