【问题标题】:How to delete a node label by command and api?如何通过命令和api删除节点标签?
【发布时间】:2016-03-08 04:25:01
【问题描述】:

给节点添加标签:

$ kubectl label nodes 10.xx.xx.xx key1=val1 

如果我想删除 node(10.xx.xx.xx) 上的label(key1=val1),如何通过 kubectl 命令和 API 删除?

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    为节点创建标签:

    kubectl label node <nodename> <labelname>=allow

    从其各自的节点中删除上述标签:

    kubectl label node <nodename> <labelname>-

    【讨论】:

    • 删除所有节点 "kubectl label --all -"
    • 对于多个节点 "kubectl label -"
    • @Hem 不错,但不应该是“kubectl label nodes --all -”吗?对我来说至少确实有效。
    • @NicolasMommaerts,好吧,如果您想为所有节点而不是子集执行此操作。
    • @Hem,不,我的意思是您似乎在两个示例中都忘记了“节点”一词。您需要指定要标记节点(或其他类型的资源)。
    【解决方案2】:

    以下命令对我有用,可以删除标签:

    kubectl label node <nodename> <label>-
    

    注意:语法是紧跟在键后面的减号。例如,如果节点名称为worker1,标签为system=workernode,则可以使用以下命令删除标签。

    kubectl label node worker1 system-
    

    【讨论】:

      【解决方案3】:

      来自 kubectl 标签 -h:

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

      同样适用于节点。

      【讨论】:

        【解决方案4】:

        为 kubernetes 节点添加标签:

        kubectl label node "your-node-name" node-role.kubernetes.io/worker=worker
        

        从 kubernetes 节点中删除标签:

        kubectl label node "your node-name" node-role.kubernetes.io/worker-
        

        注意:要删除标签,请在标签名称末尾添加“-”符号

        【讨论】:

          【解决方案5】:

          这对我有用。 添加标签

          kubectl label node <node name> node-role.kubernetes.io/<role name>=<key - (any name)>
          

          移除标签

          kubectl label node <node name> node-role.kubernetes.io/<role name>-
          

          For More Info

          【讨论】:

            【解决方案6】:

            要删除你可以使用的标签

            kubectl 标签节点 10.xx.xx.xx key1-

            【讨论】:

              【解决方案7】:

              你可以这样去掉标签

              kubectl label nodes <node_name> key1- key2-
              
              eg: kubectl label nodes ip-172-20-22-247 key1- key2-
              

              【讨论】:

                【解决方案8】:

                如前所述,正确的 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)
                

                【讨论】:

                  【解决方案9】:

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

                  kubectl label node 10.xx.xx.xx Key1-

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

                  kubectl label nodes --all Key1-

                  【讨论】:

                  • 我喜欢这个,它可以帮助我一次删除所有标签
                  【解决方案10】:
                  1. 如果您想查看节点的现有标签 kubectl 获取节点 --show-labels
                  2. 然后,列出要修改的key_name和node_name
                  3. 然后,kubectl label node node_name key_name-

                  【讨论】:

                    【解决方案11】:

                    给你的节点添加标签

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

                    从节点中删除标签

                    kubectl label node ip-172-31-15-136 mynode- mynode-
                    

                    【讨论】:

                      【解决方案12】:

                      要删除或重命名使用参数--overwrite 例如

                      kubectl label nodes node-name --overwrite label-name
                      

                      【讨论】:

                        猜你喜欢
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 2018-12-09
                        • 2018-07-22
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 2012-12-28
                        相关资源
                        最近更新 更多