首页/云/Kubernetes 速查/ConfigMap 不可变(immutable)
配置与存储54 条

ConfigMap 不可变(immutable)

设置 immutable: true 后禁止任何修改:可减少 kubelet 监听开销并防误改;代价是变更必须删除重建。

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

配置

配置
apiVersion: v1
kind: ConfigMap
metadata:
  name: frozen-config
data:
  version: "2026.10"
immutable: true

验证与重建

验证与重建
kubectl patch cm frozen-config -p '{"data":{"version":"2026.11"}}'
# 报错:invalid: field is immutable
kubectl delete cm frozen-config && kubectl apply -f frozen-config.yaml
immutable 只能从 false 改为 true,不能改回来;更新内容要同步替换所有引用它的工作负载。

易错点

  • 删除重建期间引用它的 Pod 若同时重启会因找不到 ConfigMap 卡住,变更窗口要错开
  • immutable 不能回退:建错了只能删了重建(名称不变即可)

数据来源与参考

  • Kubernetes 官方文档 · ConfigMap(Immutable ConfigMaps)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌