Redimensionner un cluster standard


Cette page explique comment redimensionner manuellement les clusters standards Google Kubernetes Engine (GKE). Le redimensionnement d'un cluster peut viser à augmenter ou à réduire le nombre de nœuds de ce cluster. Vous pouvez également effectuer un autoscaling de votre cluster, où GKE redimensionne automatiquement vos pools de nœuds selon l'évolution des conditions, notamment en cas de changement dans vos charges de travail ou dans votre utilisation des ressources.

Ces instructions ne s'appliquent pas aux clusters GKE Autopilot, qui redimensionnent automatiquement en fonction du nombre de pods du cluster.

Lorsque vous ajoutez ou supprimez des nœuds de votre cluster, GKE ajoute ou supprime les instances de machine virtuelle (VM) associées des groupes d'instances gérés Compute Engine provisionnés pour vos pools de nœuds. Pour supprimer des nœuds, n'utilisez pas kubectl delete node, car cela ne supprime pas l'instance de VM Compute Engine dans le MIG sous-jacent du pool de nœuds. Utilisez l'autoscaler de cluster ou réduisez manuellement la taille de votre cluster.

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, assurez-vous de disposer de la dernière version en exécutant la commande gcloud components update.

Augmenter la taille de votre cluster

Lorsque vous augmentez la taille d'un cluster, les modifications suivantes se produisent :

  • Les nouvelles instances de nœud sont créées à l'aide de la même configuration que les instances existantes.
  • Vous pouvez programmer de nouveaux pods sur les nouvelles instances.
  • Les pods existants ne sont pas déplacés vers les nouvelles instances.

gcloud

Pour augmenter la taille des pools de nœuds d'un cluster, exécutez la commande gcloud container clusters resize :

gcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME \
    --num-nodes NUM_NODES

Remplacez les éléments suivants :

  • CLUSTER_NAME : nom du cluster à redimensionner.
  • POOL_NAME : nom du pool de nœuds à redimensionner.
  • NUM_NODES : nombre de nœuds du pool dans un cluster zonal. Si vous utilisez des clusters multizones ou régionaux, NUM_NODES est le nombre de nœuds pour chaque zone dans laquelle se trouvent les pools de nœuds.

Répétez cette commande pour chaque pool de nœuds. Si votre cluster ne comporte qu'un seul pool de nœuds, omettez l'indicateur --node-pool.

Console

Pour augmenter la taille des pools de nœuds d'un cluster, procédez comme suit :

  1. Accédez à la page Google Kubernetes Engine dans Google Cloud Console.

    Accéder à Google Kubernetes Engine

  2. À côté du cluster que vous souhaitez modifier, cliquez sur Actions, puis sur Modifier.

  3. Cliquez sur l'onglet Nœuds à côté de l'onglet Détails.

  4. Dans la section Pools de nœuds, cliquez sur le nom du pool de nœuds dont vous souhaitez augmenter la taille.

  5. Cliquez sur Redimensionner.

  6. Dans le champ Nombre de nœuds, saisissez le nombre de nœuds que vous souhaitez inclure dans le pool de nœuds, puis cliquez sur Redimensionner.

  7. Répétez cette procédure pour chaque pool de nœuds s'il y a lieu.

Réduire la taille de votre cluster

Lorsque vous réduisez la taille d'un cluster, les modifications suivantes se produisent :

  • GKE arrête progressivement les nœuds en cours de suppression en utilisant le processus de drainage pour supprimer les pods de l'instance. Les valeurs PodDisruptionBudget et terminationGracePeriodSeconds sont toutes deux respectées pendant une heure au maximum.
  • Les pods gérés par un contrôleur de réplication sont reprogrammés par ce contrôleur pour s'exécuter sur les instances restantes.
  • Les pods non gérés par un contrôleur de réplication ne sont pas redémarrés.

Le groupe d'instances gérées ne fait pas de distinction entre les instances exécutant des pods et les instances sans pods. La réduction supprime des instances choisies de manière aléatoire.

Pour savoir comment ajouter des pools de nœuds et gérer les pools de nœuds existants, consultez la page Ajouter et gérer des pools de nœuds.

gcloud

Pour réduire la taille des pools de nœuds d'un cluster, exécutez la commande gcloud container clusters resize :

gcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME \
    --num-nodes NUM_NODES

Remplacez les éléments suivants :

  • CLUSTER_NAME : nom du cluster à redimensionner.
  • POOL_NAME : nom du pool de nœuds à redimensionner.
  • NUM_NODES : nombre de nœuds du pool dans un cluster zonal. Si vous utilisez des clusters multizones ou régionaux, NUM_NODES est le nombre de nœuds pour chaque zone dans laquelle se trouvent les pools de nœuds.

Répétez cette commande pour chaque pool de nœuds. Si votre cluster ne comporte qu'un seul pool de nœuds, omettez l'indicateur --node-pool.

Console

Pour réduire la taille des pools de nœuds d'un cluster, procédez comme suit :

  1. Accédez à la page Google Kubernetes Engine dans Google Cloud Console.

    Accéder à Google Kubernetes Engine

  2. À côté du cluster que vous souhaitez modifier, cliquez sur Actions, puis sur Modifier.

  3. Cliquez sur l'onglet Nœuds à côté de l'onglet Détails.

  4. Dans la section Pools de nœuds, cliquez sur le nom du pool de nœuds dont vous souhaitez réduire la taille.

  5. Cliquez sur Redimensionner.

  6. Dans le champ Nombre de nœuds, saisissez le nombre de nœuds que vous souhaitez inclure dans le pool de nœuds, puis cliquez sur Redimensionner.

  7. Répétez cette procédure pour chaque pool de nœuds s'il y a lieu.

Procéder à l'autoscaling d'un cluster

La fonctionnalité d'autoscaling de cluster de GKE redimensionne automatiquement vos pools de nœuds selon l'évolution des conditions, notamment en cas de changement dans vos charges de travail ou dans votre utilisation des ressources.

Pour en savoir plus sur le fonctionnement de l'autoscaling, consultez la documentation sur l'autoscaler de cluster. Pour configurer l'autoscaling de votre cluster, consultez la page Procéder à l'autoscaling d'un cluster.

Étape suivante