如何通过 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)
通常,我们删除这样的标签'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 上也有几个关于此主题的问题。
-
这里还有一个示例,说明如何使用 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)