Redimensionner un cluster


Cette page explique comment redimensionner des clusters. Le redimensionnement d'un cluster peut viser à augmenter ou à réduire le nombre de nœuds de ce cluster. 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.

Lorsque vous ajoutez ou supprimez des nœuds de votre cluster, Google Kubernetes Engine (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.

Augmenter la taille de votre cluster

Lorsque vous augmentez la taille d'un cluster :

  • 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.

Lorsque vous augmentez la taille d'un pool de nœuds couvrant plusieurs zones, la nouvelle taille représente le nombre de nœuds par zone du pool de nœuds. Par exemple, si vous avez un pool de nœuds de taille 2 couvrant deux zones, le nombre total de nœuds est de 4. Si vous redimensionnez le pool de nœuds en portant sa taille à 4, le nombre total de nœuds devient 8.

Réduire la taille de votre cluster

Lorsque vous réduisez la taille d'un cluster :

  • Les pods programmés sur les instances que vous supprimez sont détruits.
  • Les pods gérés par un contrôleur de réplication sont reprogrammés par ce contrôleur 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.

Avant de commencer

Avant de commencer, effectuez les tâches suivantes :

Configurez les paramètres gcloud par défaut à l'aide de l'une des méthodes suivantes :

  • Utilisez gcloud init pour suivre les instructions permettant de définir les paramètres par défaut.
  • Utilisez gcloud config pour définir individuellement l'ID, la zone et la région de votre projet.

Utiliser gcloud init

Si le message d'erreur One of [--zone, --region] must be supplied: Please specify location s'affiche, effectuez les tâches ci-dessous.

  1. Exécutez gcloud init et suivez les instructions :

    gcloud init

    Si vous utilisez SSH sur un serveur distant, utilisez l'option --console-only pour empêcher la commande d'ouvrir un navigateur :

    gcloud init --console-only
  2. Suivez les instructions pour autoriser gcloud à utiliser votre compte Google Cloud.
  3. Créez ou sélectionnez une configuration.
  4. Choisissez un projet Google Cloud.
  5. Choisissez une zone Compute Engine par défaut pour les clusters zonaux ou une région pour les clusters régionaux ou Autopilot.

Utiliser gcloud config

  • Définissez votre ID de projet par défaut :
    gcloud config set project PROJECT_ID
  • Si vous utilisez des clusters zonaux, définissez votre zone de calcul par défaut :
    gcloud config set compute/zone COMPUTE_ZONE
  • Si vous utilisez des clusters Autopilot ou régionaux, définissez votre région de calcul par défaut :
    gcloud config set compute/region COMPUTE_REGION
  • Mettez à jour gcloud vers la dernière version :
    gcloud components update

Redimensionner un cluster

gcloud

Pour redimensionner les 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 l'élément suivant :

  • 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 redimensionner les pools de nœuds d'un cluster, procédez comme suit :

  1. Accédez à la page Google Kubernetes Engine dans 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 que vous souhaitez redimensionner.

  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.

Diminuer la taille de votre cluster avec drainage

Vous pouvez réduire manuellement la taille de votre cluster et drainer les pods de chaque instance avant leur suppression.

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.

Pour diminuer et drainer votre cluster, exécutez la commande gcloud container clusters resize :

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

Remplacez l'élément suivant :

  • 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.

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 relative à l'autoscaler de cluster. Pour configurer l'autoscaling de votre cluster, consultez la page Procéder à l'autoscaling d'un cluster.

Étape suivante