Kubernetes Python 클라이언트 ConfigMap의 이름 변경

Kubernetes Python 클라이언트 ConfigMap의 이름 변경

배포 사양은 다음과 같습니다.

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

관련 정보