我正在使用普罗米修斯和普罗米修斯警报管理器发送警报。
我已经在GKE上运行了Kubernetes状态集。我更新了普罗米修斯和普罗米修斯AlertManager的ConfigMaps,并为有状态集做了RollingUpdate,但pods没有重启,看起来它仍然使用旧的ConfigMaps。
我使用命令来更新ConfigMaps
类似地,我也为普罗米修斯更新了kubectl create configmap prometheus-alertmanager-config --from-file alertmanager.yml -n mynamespace -o yaml --dry-run | kubectl replace -f -。
对于RollingUpdate,我使用了以下命令:
kubectl patch statefulset prometheus-alertmanager -p '{"spec":{"updateStrategy":{"type":"RollingUpdate"}}}' -n mynamespace
另外,当我做rollingUpdate时,它显示了
statefulset.apps/prometheus-alertmanager patched (no change)
我不知道这是怎么回事,是不是不能通过执行RollingUpdate来使有状态集中的pods适应更新后的ConfigMaps?还是我错过了什么?
发布于 2019-08-05 20:49:48
必须重新启动普罗米修斯吊舱才能获得更新的ConfigMap或密码。
滚动更新不会总是重新启动pod (仅当pod的直接配置属性发生更改时)。例如- image标签。)
kubectl v1.15现在提供了一个卷展重启子命令,允许您在部署中重新启动Pods考虑到您的浪涌/不可用配置-从而让它们获取对引用的ConfigMap、秘密或类似的更改。值得注意的是,您可以对早于v1.15的集群使用它,因为它是在客户端实现的。
示例用法: kubectl卷展栏重新启动部署/prometheus以重新启动特定部署。就这么简单!
更多信息- here。
https://stackoverflow.com/questions/57356521
复制相似问题