在rancher页面编辑configmap配置文件后,使用kubectl apply -f xxx.yml 执行脚本就会报错比对失败

集群配置:

rancher2.7.5和2.8.5都有同样的问题
问题描述:

在rancher页面编辑了configmap,格式好像就变了,导致使用kubectl apply -f xxx.yml命令更新脚本报错
重现步骤:

1.使用命令创建一个pod,里面包含confingmap。
2.在rancher页面找到对应pod,编辑confingmap的任意内容,可以是注释。
3.使用命令继续apply脚本,可以是原来的脚本

预期结果:
apply 执行成功,文件内容被替换

实际结果:
其他的可以更新成功,ConfigMap报错
namespace/test configured
service/backend-test-2 unchanged
warning: error calculating patch from openapi spec: invalid JSON document
deployment.apps/backend-test-2 configured

日志

日志如下:


我在 2.7.9 上重现了,但是在 2.9.0 上没重现,这应该是老版本的 bug,新版本已经解决了,作为临时解决方案,在你 kubectl apply 之前,可以先删除 kubectl.kubernetes.io/last-applied-configuration 再执行更新。

1 个赞