Eu tenho a seguinte especificação de implantação:
spec:
template:
spec:
volumes:
- name: config-web
configMap:
name: config-web-2-5
Quero usar o cliente python kubernetes para alterar o nome do ConfigMap de config-web-2-5 para 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
No entanto, o cliente retorna o seguinte erro:
"message":"jsonpatch replace operation does not apply: doc is missing path: /spec/template/spec/volumes/0/config_map/name"
No src do cliente, posso ver que esse erro ocorre quando o caminho não é encontrado no objeto de implantação.
Este é o caminho correto a ser usado? Há apenas 1 volume na implantação.
Responder1
O caminho não está correto.
O caminho correto é:
/spec/template/spec/volumes/0/configMap/name
não
/spec/template/spec/volumes/0/config_map/name