ConfigMap 更新后滚动更新 Pod
往往在使用kubernetes configmap作为业务的配置管理时,一旦配置文件需要调整,业务不支持热加载配置文件的情况下,我们需要滚动更新pod来获取新的配置。目前更新 ConfigMap 并不会触发相关 Pod 的滚动更新,但是我们可以通过修改 pod annotations 的方式强制触发滚动更新。
$ kubectl patch deployment nginx --patch '{"spec": {"template": {"metadata": {"annotations": {"version/config": "20180517" }}}}}'
这个例子里我们在 .spec.template.metadata.annotations 中添加 version/config,每次通过修改 version/config 来触发滚动更新。当业务不支持热加载的时候,可以通过此方式集成CD来更新配置变更触发pod的滚动更新。建议在deployment yaml描述文件中spec.template.metadata.annotations添加相关的键值对来触发。
网友评论