Mettre à jour les libellés et les rejets de nœuds Kubernetes pour les pools de nœuds

Ce document explique comment mettre à jour les libellés de nœud et les rejets de nœuds Kubernetes d'un pool de nœuds existant dans un cluster Standard Google Kubernetes Engine (GKE) à l'aide de l'API GKE. Les libellés de nœud Kubernetes sont distincts des libellés de cluster et de nœud GKE.

Les rejets et les libellés de nœuds se trouvent dans les métadonnées des objets des nœuds Kubernetes. Les libellés Kubernetes permettent de planifier des pods sur des nœuds particuliers. En revanche, les rejets peuvent être utilisés pour isoler les pods de certains nœuds. Pour en savoir plus, consultez la page Configurer la séparation des charges de travail dans GKE.

À l'aide de l'API GKE, vous pouvez appliquer des mises à jour aux libellés de nœud et aux rejets de nœuds Kubernetes d'un pool de nœuds GKE existant, sans avoir à recréer le pool de nœuds ni à perturber les charges de travail. La configuration mise à jour du pool de nœuds est conservée dans GKE, de sorte que les futures mises à niveau du pool de nœuds et les nouveaux nœuds provisionnés dans le pool de nœuds utiliseront la nouvelle configuration.

Pour en savoir plus sur l'impact des modifications sur le fonctionnement d'un cluster GKE, consultez la page Gérer les modifications du cycle de vie du cluster pour minimiser les perturbations. Pour en savoir plus sur les modifications spécifiques, consultez la section Types de modifications apportées à un cluster GKE.

Syntaxe des libellés

Les libellés Kubernetes doivent répondre à toutes les exigences suivantes :

  • Les clés et les valeurs des libellés doivent respecter les exigences de syntaxe et de jeu de caractères.
  • La longueur de la valeur que vous spécifiez dans l'indicateur --node-labels de la gcloud CLI doit être inférieure ou égale à 1 024 caractères.

Avant de commencer

Avant de commencer, effectuez les tâches suivantes :

  • Activez l'API Google Kubernetes Engine.
  • Activer l'API Google Kubernetes Engine
  • Si vous souhaitez utiliser Google Cloud CLI pour cette tâche, installez puis initialisez la gcloud CLI. Si vous avez déjà installé la gcloud CLI, obtenez la dernière version en exécutant la gcloud components update commande. Il est possible que les versions antérieures de la gcloud CLI ne permettent pas d'exécuter les commandes de ce document.

Mettre à jour les libellés de nœud

Pour mettre à jour les libellés d'un nœud d'un pool de nœuds, exécutez la commande suivante :

gcloud container node-pools update NODEPOOL_NAME \
    --node-labels=[NODE_LABEL,...] \
    --cluster=CLUSTER_NAME
    --location=CONTROL_PLANE_LOCATION
    [GCLOUD_WIDE_FLAG ]

Remplacez les éléments suivants :

  • NODEPOOL_NAME : nom du pool de nœuds à mettre à jour.
  • [NODE_LABEL,...] : nouveaux libellés de nœud (par exemple, label1=value1,label2=value2).
  • CLUSTER_NAME : nom du cluster.
  • CONTROL_PLANE_LOCATION : emplacement Compute Engine du plan de contrôle de votre cluster. Indiquez une région pour les clusters régionaux ou une zone pour les clusters zonaux.

Mettre à jour les rejets de nœuds

Pour mettre à jour les rejets de nœuds d'un pool de nœuds, utilisez la commande suivante :

gcloud container node-pools update NODEPOOL_NAME \
    --node-taints=[NODE_TAINT,...] \
    --cluster=CLUSTER_NAME
    --location=CONTROL_PLANE_LOCATION
    [GCLOUD_WIDE_FLAG ]

Remplacez les éléments suivants :

  • NODEPOOL_NAME : nom du pool de nœuds à mettre à jour.
  • [NODE_TAINT,...] : nouveaux rejets de nœuds (par exemple, key1=val1:NoSchedule,key2=val2:PreferNoSchedule).
  • CLUSTER_NAME : nom du cluster.
  • CONTROL_PLANE_LOCATION : emplacement Compute Engine du plan de contrôle de votre cluster. Indiquez une région pour les clusters régionaux ou une zone pour les clusters zonaux.

Mettre à jour les rejets d'architecture

Comme les autres rejets de système gérés par GKE, les rejets d'architecture tels que kubernetes.io/arch=arm64:NoSchedule sur les nœuds Arm sont gérés différemment des rejets de nœuds personnalisés et ne peuvent pas être supprimés à l'aide des instructions décrites précédemment. Vous pouvez toutefois modifier les rejets d'architecture. Pour en savoir plus, consultez la page Configurer le rejet d'architecture Arm par défaut.