首页/云/Kubernetes 速查/409 ResourceVersion 冲突
集群运维与排障54 条

409 ResourceVersion 冲突

写请求携带的 resourceVersion 与对象当前版本不一致会返回 409:常见于并发修改、CRD 控制器重试与脚本反复 apply 旧文件。

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

报错与对策

报错与对策
kubectl apply -f deploy.yaml
# 输出示例:
#   Operation cannot be fulfilled on deployments.apps "web": the object has been
#   modified; please apply your changes to the latest version and try again
kubectl get deploy web -o yaml > web.yaml
kubectl apply -f web.yaml
这是乐观锁机制:读取版本 → 基于该版本修改 → 带版本写回;控制器代码遇到 409 应重新读取再重试。

易错点

  • 当成权限或对象不存在:报错文本已明确说明对象被修改过
  • 脚本里循环 apply 同一份旧 YAML:每次都基于旧版本,冲突概率随并发上升

数据来源与参考

  • Kubernetes 官方文档 · API 约定与资源版本
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌