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

相關內容