Kubernetes 如何通过命令和api删除节点标签?

Kubernetes 如何通过命令和api删除节点标签?,kubernetes,Kubernetes,将标签添加到节点: $ kubectl label nodes 10.xx.xx.xx key1=val1 如果我想删除节点(10.xx.xx.xx)上的标签(key1=val1),如何通过kubectl命令和API删除?从kubectl标签-h: 通过删除名为“bar”的标签(如果存在)更新pod“foo”。 不需要--overwrite标志。 $kubectl标签吊舱富吧- 节点也是如此。要删除标签,可以使用 kubectl标签节点10.xx.xx.xx键1-为节点创建标签: kubec

将标签添加到节点:

$ kubectl label nodes 10.xx.xx.xx key1=val1 
如果我想删除节点(10.xx.xx.xx)上的
标签(key1=val1)
,如何通过kubectl命令和API删除?

从kubectl标签-h:

通过删除名为“bar”的标签(如果存在)更新pod“foo”。
不需要--overwrite标志。
$kubectl标签吊舱富吧-


节点也是如此。

要删除标签,可以使用

kubectl标签节点10.xx.xx.xx键1-

为节点创建标签:

kubectl标签节点=允许

从其相应节点删除上述标签:


kubectl标签节点-

您可以使用以下kubectl命令从单个节点删除标签

kubectl标签节点10.xx.xx.xx键1-

如果要删除所有节点的标签,请使用以下命令


kubectl标签节点——所有键1-

您可以通过这种方式删除标签

kubectl label nodes <node_name> key1- key2-

eg: kubectl label nodes ip-172-20-22-247 key1- key2-
kubectl标签节点键1-键2-
例如:kubectl标签节点ip-172-20-22-247键1-键2-

下面的命令用于我删除标签:

kubectl label node <nodename> <label>-

如前所述,请更正kubectl示例以删除标签,但未提及使用API客户端删除标签。如果要使用API删除标签,则需要提供带有
labelname:None
的新主体,然后将该主体修补到节点或pod。我使用kubernetes python客户端API作为示例

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获取节点--显示标签
  • 然后,列出要修改的键名称和节点名称
  • 然后,kubectl标签节点名称键名称-

  • 要将标签添加到kubernetes节点,请执行以下操作:

    kubectl label node "your-node-name" node-role.kubernetes.io/worker=worker
    
    kubectl label node "your node-name" node-role.kubernetes.io/worker-
    
    要从kubernetes节点删除标签,请执行以下操作:

    kubectl label node "your-node-name" node-role.kubernetes.io/worker=worker
    
    kubectl label node "your node-name" node-role.kubernetes.io/worker-
    
    注意:要删除标签,请在标签名称的末尾添加一个“-”符号

    这对我很有效。 添加标签

    kubectl label node <node name> node-role.kubernetes.io/<role name>=<key - (any name)>
    
    kubectl标签节点node-role.kubernetes.io/=
    
    移除标签

    kubectl label node <node name> node-role.kubernetes.io/<role name>-
    
    kubectl标签节点node-role.kubernetes.io/-
    

    将标签添加到节点

    kubectl label node ip-172-31-15-136 mynode=tst mnode=ssd
    
    kubectl label node ip-172-31-15-136 mynode- mynode-
    
    从节点中删除标签的步骤

    kubectl label node ip-172-31-15-136 mynode=tst mnode=ssd
    
    kubectl label node ip-172-31-15-136 mynode- mynode-
    

    要为所有节点删除“kubectl label--all-”多个节点删除“kubectl label-”@Hem不错,但不应该是“kubectl label nodes--all-”?至少对我来说,这是可行的。@NicolasMommaerts,好吧,如果你想对所有节点,而不是子集这样做。@哼哼,不,我的意思是你似乎忘记了两个例子中的“节点”这个词。您需要指定要为节点(或其他类型的资源)添加标签。我喜欢这个,它可以帮助我一次删除所有标签