Configurer les stratégies de mise à niveau du pool de nœuds


En tant qu'administrateur de plate-forme, vous pouvez configurer une stratégie de mise à niveau du pool de nœuds pour ajuster la mise à niveau des nœuds dans vos clusters Google Kubernetes Engine (GKE). Pour en savoir plus sur les stratégies de mise à niveau du pool de nœuds, consultez la page Stratégies de mise à niveau du pool de nœuds.

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 gcloud CLI. Si vous avez déjà installé gcloud CLI, obtenez la dernière version en exécutant gcloud components update.

Configurer une stratégie de mise à niveau du pool de nœuds

Lorsque vous configurez les pools de nœuds de votre cluster, vous pouvez sélectionner et configurer l'une des stratégies de mise à niveau de pool de nœuds compatibles, à savoir surutilisation ou bleu-vert. Ces stratégies de mise à niveau vous permettent d'optimiser le processus de mise à niveau du pool de nœuds en fonction des besoins de votre environnement de cluster.

Configurer les mises à niveau de la surutilisation

Les mises à niveau de la surutilisation vous permettent de modifier le nombre de mises à niveau automatiques des nœuds GKE simultanées, ainsi que le nombre d'interruptions qu'une mise à niveau peut entraîner sur vos charges de travail.

Les options max-surge-upgrade et max-unavailable-upgrade sont définies pour chaque pool de nœuds. Pour plus d'informations sur le choix des paramètres appropriés, consultez la section Optimiser la configuration de votre mise à niveau de la surutilisation.

Vous pouvez modifier ces paramètres lors de la création ou de la mise à jour d'un cluster ou d'un pool de nœuds.

Les variables suivantes sont utilisées dans les commandes mentionnées ci-dessous :

  • CLUSTER_NAME : nom du cluster pour le pool de nœuds.
  • COMPUTE_ZONE : zone du cluster.
  • NODE_POOL_NAME : nom du pool de nœuds.
  • NUMBER_NODES : nombre de nœuds du pool de nœuds dans chacune des zones du cluster.
  • SURGE_NODES : nombre de nœuds supplémentaires (surutilisation) à créer à chaque mise à niveau du pool de nœuds.
  • UNAVAILABLE_NODES : nombre de nœuds pouvant être indisponibles simultanément pour chaque mise à niveau du pool de nœuds.

Créer un cluster avec plusieurs paramètres de surutilisation

Pour créer un cluster avec des paramètres spécifiques pour les mises à niveau de la surutilisation, utilisez les options max-surge-upgrade et max-unavailable-upgrade.

gcloud container clusters create CLUSTER_NAME \
    --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES

Créer un cluster sans mise à niveau de surutilisation

Pour créer un cluster sans mises à niveau de la surutilisation, définissez la valeur de l'option max-surge-upgrade sur 0.

gcloud container clusters create CLUSTER_NAME \
    --max-surge-upgrade=0 --max-unavailable-upgrade=1

Créer un pool de nœuds avec des paramètres de surutilisation spécifiques

Pour créer un pool de nœuds dans un cluster existant avec des paramètres spécifiques pour les mises à niveau de la surutilisation, utilisez les options max-surge-upgrade et max-unavailable-upgrade.

gcloud container node-pools create NODE_POOL_NAME \
    --num-nodes=NUMBER_NODES --cluster=CLUSTER_NAME \
    --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES

Modifier les paramètres de mise à niveau de la surutilisation pour un pool de nœuds existant

Pour mettre à jour les paramètres de mise à niveau d'un pool de nœuds existant, utilisez les options max-surge-upgrade et max-unavailable-upgrade. Si vous définissez max-surge-upgrade sur une valeur supérieure à 0, GKE crée des nœuds de surutilisation. Si vous définissez max-surge-upgrade sur 0, GKE ne crée pas de nœuds de surutilisation.

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES

Vérifier si les mises à niveau de surutilisation sont activées dans un pool de nœuds

Pour savoir si les mises à niveau de la surutilisation sont activées sur un pool de nœuds, vous pouvez décrire les paramètres du cluster à l'aide de gcloud :

gcloud container node-pools describe NODE_POOL_NAME \
    --cluster=CLUSTER_NAME

Si les mises à niveau de la surutilisation sont activées sur le pool de nœuds, la stratégie répertoriée est SURGE.

Configurer les mises à niveau bleu-vert

Les mises à niveau des pools de nœuds bleu-vert vous permettent de contrôler les éléments suivants :

  • BATCH_NODE_COUNT ou BATCH_PERCENT : taille des lots de nœuds que GKE draine en même temps, ce qui signifie que les pods sont supprimés des nœuds. La valeur par défaut est BATCH_NODE_COUNT = 1.
  • BATCH_SOAK_DURATION : temps entre chaque lot et le drainage des nœuds.
  • NODE_POOL_SOAK_DURATION : temps de stabilisation pour la validation de votre charge de travail sur la configuration du nouveau nœud.

Pour en savoir plus sur le fonctionnement des mises à niveau bleu-vert, consultez la page Phases des mises à niveau bleu-vert.

Les variables suivantes sont utilisées dans les commandes mentionnées ci-dessous :

  • CLUSTER_NAME : nom du cluster pour le pool de nœuds.
  • NODE_POOL_NAME : nom du pool de nœuds.
  • NUMBER_NODES : nombre de nœuds du pool de nœuds dans chacune des zones du cluster.
  • BATCH_NODE_COUNT : nombre de nœuds bleus à drainer dans un lot pendant la phase de drainage du pool bleu. La valeur par défaut est de 1. Si cette valeur est définie sur zéro, la phase de drainage du pool bleu est ignorée.
  • BATCH_PERCENT : pourcentage de nœuds bleus à drainer dans un lot pendant la phase de drainage du pool bleu. La valeur doit être comprise entre 0,0 et 1,0.
  • BATCH_SOAK_DURATION : délai d'attente en secondes après chaque drainage par lot. La valeur par défaut est de zéro.
  • NODE_POOL_SOAK_DURATION : délai d'attente en secondes après le drainage de tous les lots. La valeur par défaut est de 3 600 secondes.

Créer un pool de nœuds avec la stratégie de mise à niveau bleu-vert

Créer un pool de nœuds avec des paramètres par défaut de mise à niveau bleu-vert

Pour créer un pool de nœuds dans un cluster existant avec la stratégie de mise à niveau bleu-vert avec les paramètres par défaut, exécutez la commande suivante :

gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade

Créer un pool de nœuds avec mise à niveau bleu-vert à l'aide de tailles de lot de nombres de nœuds absolus

Pour créer un pool de nœuds avec des paramètres de mise à niveau bleu-vert personnalisés, utilisez les options de paramètre avec la commande de création de pool de nœuds.

Cette commande crée un pool de nœuds avec la configuration bleu-vert personnalisée suivante, en utilisant un nombre de nœuds absolu pour les drainages de lots :

  • BATCH_NODE_COUNT = 2
  • BATCH_SOAK_DURATION = 10 s
  • NODE_POOL_SOAK_DURATION = 600 s
gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade \
    --standard-rollout-policy=batch-node-count=2,batch-soak-duration=10s \
    --node-pool-soak-duration=600s

Créer un pool de nœuds avec mise à niveau bleu-vert à l'aide de tailles de lot basées sur des pourcentages

Cette commande crée un pool de nœuds avec la configuration bleu-vert personnalisée suivante, en utilisant un pourcentage pour les drainages de lot :

  • BATCH_PERCENTAGE = 25 % (de la taille du pool de nœuds)
  • BATCH_SOAK_DURATION = 10 s
  • NODE_POOL_SOAK_DURATION = 1 800 s
gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade \
    --standard-rollout-policy=batch-percent=0.25,batch-soak-duration=10s \
    --node-pool-soak-duration=1800s

Mettre à jour une stratégie de mise à niveau bleu-vert d'un pool de nœuds existant

Mettre à jour un pool de nœuds avec les paramètres par défaut de mise à niveau bleu-vert

Pour mettre à jour un pool de nœuds existant vers la stratégie de mise à niveau bleu-vert, utilisez la commande suivante :

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade

Mettre à jour un pool de nœuds avec mise à niveau bleu-vert à l'aide de tailles de lot de nombres de nœuds absolus

Pour mettre à jour un pool de nœuds existant vers la stratégie de mise à niveau bleu-vert avec des paramètres personnalisés, utilisez les indicateurs de paramètre avec la commande de création de pool de nœuds.

Cette commande met à jour un pool de nœuds afin d'utiliser la configuration bleu-vert personnalisée suivante, en utilisant un nombre de nœuds absolu pour les drainages de lot :

  • BATCH_NODE_COUNT = 2
  • BATCH_SOAK_DURATION = 10 s
  • NODE_POOL_SOAK_DURATION = 600 s
gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade \
    --standard-rollout-policy=batch-node-count=2,batch-soak-duration=10s \
    --node-pool-soak-duration=600s

Mettre à jour un pool de nœuds avec mise à niveau bleu-vert à l'aide de tailles de lot basées sur des pourcentages

Cette commande crée un pool de nœuds avec la configuration bleu-vert personnalisée suivante, en utilisant un pourcentage pour les drainages de lot :

  • BATCH_PERCENTAGE = 25 % (de la taille du pool de nœuds)
  • BATCH_SOAK_DURATION = 10 s
  • NODE_POOL_SOAK_DURATION = 1 800 s
gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade \
    --standard-rollout-policy=batch-percent=0.25,batch-soak-duration=10s \
    --node-pool-soak-duration=1800s

Revenir aux mises à niveau de la surutilisation

Vous pouvez modifier le comportement des mises à niveau bleu-vert à l'aide de paramètres et contrôler le processus de mise à niveau à l'aide de commandes.

Toutefois, si vous préférez utiliser les mises à niveau de la surutilisation, exécutez la commande suivante pour revenir aux mises à niveau de la surutilisation :

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-surge-upgrade

Inspecter les paramètres de mise à niveau d'un pool de nœuds

Pour inspecter les paramètres actuels de mise à niveau d'un pool de nœuds, vous pouvez utiliser la commande suivante pour décrire le pool de nœuds :

gcloud container node-pools describe NODE_POOL_NAME \
    --cluster=CLUSTER_NAME

L'extrait suivant est un exemple de résultat de la commande. Le champ strategy indique la stratégie de mise à niveau utilisée : SURGE indique que la stratégie de mise à niveau de la surutilisation est activée, et BLUE_GREEN indique que la stratégie de mise à niveau bleu-vert est activée.

upgradeSettings:
  blueGreenSettings:
    nodePoolSoakDuration: 1800s
    standardRolloutPolicy:
      batchNodeCount: 1
      batchSoakDuration: 10s
  strategy: BLUE_GREEN

Cette commande indique également la phase actuelle d'une mise à niveau bleu-vert en cours. Découvrez comment vérifier les paramètres de mise à niveau d'un pool de nœuds.

Étape suivante