Kubernetes ConfigMap热更新
2021-02-08 01:16
标签:同步 not etcd deploy blog 生效 环境变量 docker容器 docker ConfigMap是用来存储配置文件的kubernetes资源对象,所有的配置内容都存储在etcd中. 总结 更新 ConfigMap 后: ENV 是在容器启动的时候注入的,启动之后 kubernetes 就不会再改变环境变量的值,且同一个 namespace 中的 pod 的环境变量是不断累加的,参考 Kubernetes中的服务发现与docker容器间的环境变量传递源码探究。为了更新容器中使用 ConfigMap 挂载的配置,可以通过滚动更新 pod 的方式来强制重新挂载 ConfigMap,也可以在更新了 ConfigMap 后,先将副本数设置为 0,然后再扩容。 在kubernetes中,更新configMap后,pod是不会自动识别configMap中的变动。 configMap更新后,如果想使pod中引用configMap的变量生效, 原理就是:通过更新deployment中的Annotations,增加一个version的key,每次需要更新configMap,只要upgrade一次kustomization.yaml中的commonAnnotations->version的值,发布后,pod就会自动重建一次,以此来发现confiMap的新值。 参考网址:https://blog.csdn.net/kozazyh/article/details/89137223 Kubernetes ConfigMap热更新 标签:同步 not etcd deploy blog 生效 环境变量 docker容器 docker 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/13084064.html
通常简单的做法是:
方法1. 删除该pod,让其自动产生一份新的pod.
方法2. 修改pod的配置,让其自动产生一份新的pod.
方法3. 增加一个sidecar,让其监控configMap的变化,来重启pod.
文章标题:Kubernetes ConfigMap热更新
文章链接:http://soscw.com/index.php/essay/52413.html