首页/云/Kubernetes 速查/ConfigMap 更新后的生效行为
配置与存储54 条

ConfigMap 更新后的生效行为

更新 ConfigMap 后:卷挂载(非 subPath)会分钟级同步且应用需自行重读;环境变量注入不更新;immutable 则完全禁止修改。

Kubernetes 速查云更新于 2026-10-12

更新与观察

更新与观察
kubectl create cm app-config --from-literal=LOG_LEVEL=debug --dry-run=client -o yaml | kubectl apply -f -
kubectl exec -it web-x -- cat /etc/app/conf.d/log-level.txt    # 等 1 分钟左右再执行
kubectl exec -it web-x -- printenv LOG_LEVEL                   # env 注入的:仍是旧值

注入方式

配置方式更新是否传播应用侧动作
环境变量(env/envFrom)不传播重建 Pod 才能拿到新值
卷挂载(普通)分钟级传播应用需要重读文件或热加载
卷 + subPath不传播重建 Pod
immutable: true禁止更新只能删除重建
kubelet 同步周期与缓存 TTL 决定传播延迟(常见约 1 分钟内),对时效敏感用 rollout restart 或热加载。

易错点

  • 以为改了 ConfigMap 应用就会自动生效:多数应用启动时读一次,需要重启或信号触发
  • subPath 挂载是常见「看不到更新」的根因,排查看挂载方式

数据来源与参考

  • Kubernetes 官方文档 · ConfigMap(更新与传播行为)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌