我有以下部署规范:
spec:
template:
spec:
volumes:
- name: config-web
configMap:
name: config-web-2-5
我想使用 kubernetes python 客户端将 ConfigMap 的名称从 config-web-2-5 更改为 config-web-3-0
def kubernetes_update_cm():
v1 = client.AppsV1beta1Api()
body = [{"op":"replace","path":"/spec/template/spec/volumes/0/config_map/name", "value": "config-web-3-0"}]
ret = v1.patch_namespaced_deployment(name="my-app", namespace="default", body=body)
return ret
但是,客户端返回以下错误:
"message":"jsonpatch replace operation does not apply: doc is missing path: /spec/template/spec/volumes/0/config_map/name"
从客户端 src 中,我可以看到当在部署对象中找不到路径时会发生此错误。
这是正确的使用路径吗?部署中只有 1 个卷。
答案1
路径不正确。
正确的路径是:
/spec/template/spec/volumes/0/configMap/name
不是
/spec/template/spec/volumes/0/config_map/name