在使用kubectl replace 命令替换某些K8S中的Object的时候,需要注意需要在原有的基础上进行替换,即要先获取该对象的完整描述 kubectl get XX xx -o yaml > object.yaml,再在该object.yaml基础上进行修改,最后执行kubectl apply -f object.yaml,因为在执行此命令的时候会校验文件中的某些值与当前集群中的对象的某些值是否是相等的(比如resourceVersion字段),否则无法替换成功,会有如下报错
F0108 14:28:53.706881 100933 helpers.go:115] Error from server (Conflict): error when replacing “my-config5.yaml”: Operation cannot be fulfilled on configmaps “my-config4”: the object has been modified; please apply your changes to the latest version and try again
[root@yyzc-zjjcs01 ~]# /opt/kubernetes/bin/kubectl --kubeconfig /opt/kubernetes/conf/default-admin.kubeconfig get configmap my-config4 -o yaml
apiVersio