web-dev-qa-db-fra.com

Comment supprimer une étiquette de noeud par commande et api?

Ajouter une étiquette aux nœuds: 

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

Si je veux supprimer label(key1=val1) sur le noeud (10.xx.xx.xx), comment puis-je supprimer par la commande kubectl et l'API?

27
ttyyll

crée des étiquettes pour les nœuds:

kubectl label node <nodename> <labelname>=allow

supprime les étiquettes ci-dessus de ses nœuds respectifs:

kubectl label node <nodename> <labelname>-

46
Gaurav Gharat

De kubectl label -h:

Mettez le pod à jour 'foo' en supprimant une étiquette appelée 'bar' si elle existe.
Ne nécessite pas l'indicateur --overwrite.
$ kubectl label pods foo bar-

La même chose fonctionne pour les nœuds.

15
Prashanth B

Pour enlever l'étiquette, vous pouvez utiliser

nœuds d'étiquette kubectl 10.xx.xx.xx key1-

6
Danushka

Vous pouvez enlever l'étiquette de cette façon 

kubectl label nodes <node_name> key1- key2-

eg: kubectl label nodes ip-172-20-22-247 key1- key2-
2
Phanindra

La commande ci-dessous a fonctionné pour moi pour enlever l'étiquette:

kubectl label node <nodename> <label>-

Remarque: la syntaxe est un signe moins directement après la clé. Par exemple, si le nom du noeud est worker1 et que l'étiquette est system = workernode, vous pouvez supprimer une étiquette à l'aide de la commande suivante.

kubectl label node worker1 system-
1
sudheerchamarthi

Vous pouvez supprimer l'étiquette d'un seul noeud à l'aide de la commande kubectl suivante

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

Si vous souhaitez supprimer le libellé de tous les nœuds, utilisez la commande suivante.

kubectl label nodes --all Key1-

0
Raviteja

Comme mentionné précédemment, corrigez l'exemple kubectl pour supprimer l'étiquette, mais rien ne mentionne la suppression d'étiquettes à l'aide de clients API. Si vous souhaitez supprimer une étiquette à l'aide de l'API, vous devez fournir un nouveau corps avec le labelname: None, puis le patcher au nœud ou au module. J'utilise l'API cliente kubernetes python à titre d'exemple.

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)
0
Prafull Ladha