如何通过 kubernetes api 删除标签?

How to delete a label by kubernetes api?

通常,我们删除这样的标签'kubectl label namespace namespace_name labelname-'

但是我想通过kubernetes删除它api,我该怎么办?

Kubectl 正在内部调用由 Kubernetes API 服务器公开的 REST API 来执行包括标签删除在内的任何操作。但是如果你想以编程方式进行,那么你可以使用 kubernetes client libraries 不同的语言。

您也可以自己 curl Kubernetes REST API。

https://kubernetes.io/docs/tasks/access-application-cluster/access-cluster/

据我所知,您无法删除该标签,但 replace/rename 它可以删除。

这可能是母鹿使用 patch 选项,您可以在 Update API Objects in Place Using kubectl patch 上阅读有关内容。

Stack Overflow 上也有几个关于此主题的问题。 - - - How to remove a node label with kubernetes API

这里还有一个示例,说明如何使用 Kubernetes Python Client 修补标签:

from pprint import pprint
from kubernetes import client, config

config.load_kube_config()
client.configuration.debug = True

api_instance = client.CoreV1Api()

body = {
    "metadata": {
        "labels": {
            "label-name": None}
        }
}

api_response = api_instance.patch_node("minikube", body)

print(api_response)