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


Cette page explique comment mettre à jour de manière dynamique les libellés de nœuds et les rejets de nœuds d'un pool de nœuds existant dans un cluster standard Google Kubernetes Engine (GKE).

Vous pouvez également appliquer et mettre à jour de manière dynamique des tags réseau dans les clusters GKE Autopilot ou standards. Pour obtenir des instructions, consultez la section Utiliser des tags réseau pour appliquer des règles de pare-feu aux nœuds.

Présentation

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 permettent de planifier des pods sur des nœuds particuliers, où des rejets peuvent être utilisés pour isoler les pods.

À l'aide de l'API Kubernetes Engine, vous pouvez appliquer des mises à jour sur les libellés de nœud et les rejets de nœuds 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 nouvelles dispositions de nœuds du pool de nœuds utiliseront la nouvelle configuration.

Limites

L'utilisation de l'API Kubernetes Engine pour la mise à jour dynamique des configurations de pool de nœuds présente certaines limitations :

  • Vous devez utiliser la version 1.19.7-gke.1500 ou ultérieure du pool de nœuds.
  • La version du plan de contrôle du cluster doit être 1.23.4-gke.300 ou ultérieure pour appliquer des mises à jour aux libellés de nœuds ou aux rejets de nœuds des pools de nœuds existants sur lesquels l'autoscaler de cluster est activé. Pour les clusters sur des versions antérieures, vous pouvez utiliser la solution suivante : désactivez l'autoscaling sur le pool de nœuds, puis mettez à jour les libellés et/ou les rejets de nœuds. Une fois les mises à jour appliquées, réactivez l'autoscaling.

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] [--region=REGION | --zone=ZONE]
    [GCLOUD_WIDE_FLAG ]

Remplacez les éléments suivants :

  • NODEPOOL_NAME : nom du pool de nœuds à mettre à jour.
  • [NODE_LABEL,...] : les nouveaux libellés de nœud souhaités (par exemple, label1=value1,label2=value2).
  • CLUSTER_NAME : nom du cluster.
  • REGION : région Compute Engine du cluster.
  • ZONE : zone Compute Engine du cluster.

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] [--region=REGION | --zone=ZONE]
    [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 souhaités (par exemple, key1=val1:NoSchedule,key2=val2:PreferNoSchedule).
  • CLUSTER_NAME : nom du cluster.
  • REGION : région Compute Engine du cluster.
  • ZONE : zone Compute Engine du cluster.

Étape suivante