【问题标题】:in kubernetes, how to update pods to use updated configmap在 kubernetes 中,如何更新 pod 以使用更新的 configmap
【发布时间】:2018-12-20 20:08:13
【问题描述】:
我正在使用 kubernetes deployment 运行多个 pod 副本
我想更新副本以滚动方式使用更新的configmap。和滚动更新一样。
这样 kubernetes 将终止 pod 并开始一次向新更新的 pod 发送流量,直到所有 pod 都更新完毕。
我可以在部署中使用滚动更新吗?
【问题讨论】:
标签:
docker
kubernetes
google-cloud-platform
google-kubernetes-engine
【解决方案1】:
对部署对象应用更改将触发滚动更新。来自docs:
当且仅当 Deployment 的 pod 模板(即 .spec.template)发生更改时才会触发 Deployment 的推出,例如,如果模板的标签或容器图像被更新。其他更新(例如扩展部署)不会触发部署。
因此,如果您想触发滚动更新来更新您的 configmap,我建议您更新元数据标签。也许是CONFIG_VER 键。
【解决方案2】:
要在 configmap 更新时自动执行部署的滚动更新,您还可以使用我的团队构建并开源的工具:Reloader,我们也在客户的生产集群中使用该工具。
Reloader 监视 ConfigMap 和 Secret 的变化,并根据配置的更新策略更新相关的 Deployment、Deamonset 和 Statefulset。