Réparer automatiquement des nœuds

Cette page vous explique comment configurer la réparation automatique de nœuds dans Google Kubernetes Engine (GKE).

Aperçu

La fonctionnalité de réparation automatique de nœuds de GKE vous aide à garder les nœuds de votre cluster en bon état de fonctionnement. Lorsque cette fonction est activée, GKE vérifie périodiquement l'état de chaque nœud de votre cluster. Si les vérifications d'état réalisées sur un nœud échouent de manière consécutive sur une période prolongée, GKE déclenche un processus de réparation pour ce nœud.

Critères de réparation

GKE utilise l'état du nœud pour déterminer s'il doit être réparé. Un nœud signalant un état Ready est considéré comme sain. GKE déclenche une action de réparation si plusieurs rapports d'état consécutifs d'un nœud signalent des états "non opérationnels" pendant un intervalle de temps dépassant un seuil donné. Un état "non opérationnel" peut signifier :

  • Un nœud renvoie l'état NotReady lors de plusieurs vérifications consécutives sur une durée dépassant le seuil de temps spécifié (environ 10 minutes).
  • Un nœud ne renvoie aucun état sur une durée dépassant le seuil de temps spécifié (environ 10 minutes).
  • Le disque de démarrage d'un nœud n'a plus d'espace disque disponible pendant une période prolongée (environ 30 minutes).

Processus de réparation de nœud

Si GKE détecte qu'un nœud doit être réparé, celui-ci est drainé et recréé. GKE attend une heure que le drainage se termine. Si le drainage ne se termine pas, le nœud est arrêté et un autre nœud est créé.

Si plusieurs nœuds nécessitent une réparation, GKE peut les réparer en parallèle. Pour définir le nombre de réparations nécessaires, GKE tient compte de la taille du cluster et de la quantité de nœuds rompus. Sur un cluster de grande taille, GKE réparera davantage de nœuds en parallèle, mais le nombre de réparations de nœuds diminuera à mesure que le nombre de nœuds non opérationnels augmente.

Si vous désactivez la réparation automatique de nœuds n'importe quand durant le processus de réparation, les réparations en cours ne sont pas annulées et se poursuivent jusqu'à leur conclusion sur tous les nœuds en cours de réparation.

Historique des réparations de nœuds

GKE génère une entrée de journal pour les événements de réparation automatique. Vous pouvez vérifier les journaux à l'aide de la commande gcloud container operations list.

Activer la réparation automatique de nœuds

Vous activez la réparation automatique de nœuds au niveau du pool de nœuds. Lorsque vous créez un cluster, vous pouvez activer ou désactiver la réparation automatique pour le pool de nœuds par défaut du cluster. Si vous créez des pools de nœuds supplémentaires, vous pouvez activer ou désactiver la réparation automatique pour ces pools de nœuds indépendamment du réglage appliqué au pool de nœuds par défaut.

Vous pouvez créer un cluster ou un pool de nœuds dans lequel la réparation automatique de nœuds est activée à l'aide de l'outil gcloud ou de Google Cloud Console.

Créer un cluster dans lequel la réparation automatique de nœuds est activée

gcloud

gcloud container clusters create cluster-name --zone compute-zone \
  --enable-autorepair

Console

  1. Accédez au menu "Google Kubernetes Engine" dans Cloud Console.

    Accéder au menu "Google Kubernetes Engine"

  2. Cliquez sur le bouton Créer un cluster.

  3. Configurez le cluster selon vos besoins.

  4. Dans le volet de navigation, sous le pool de nœuds que vous souhaitez modifier, cliquez sur Nœuds.

  5. Cochez la case Activer la réparation automatique.

  6. Cliquez sur Créer.

Créer un pool de nœuds dans lequel la réparation automatique est activée

gcloud

gcloud container node-pools create pool-name --cluster cluster-name \
  --zone compute-zone \
  --enable-autorepair

Console

  1. Accédez au menu "Google Kubernetes Engine" dans Cloud Console.

    Accéder au menu "Google Kubernetes Engine"

  2. Cliquez sur le bouton Modifier correspondant au cluster (icône en forme de crayon).

  3. Dans le menu Pools de nœuds, cliquez sur Ajouter un pool de nœuds.

  4. Configurez le pool de nœuds comme vous le souhaitez. Cliquez ensuite sur Plus d'options pour le pool de nœuds.

  5. Sélectionnez Activer la réparation automatique.

  6. Cliquez sur Enregistrer pour enregistrer la configuration du pool de nœuds.

  7. Cliquez à nouveau sur Enregistrer pour modifier le cluster.

Activer la réparation automatique pour un pool de nœuds existant

gcloud

gcloud container node-pools update pool-name --cluster cluster-name \
  --zone compute-zone \
  --enable-autorepair

Console

  1. Accédez au menu "Google Kubernetes Engine" dans Cloud Console.

    Accéder au menu "Google Kubernetes Engine"

  2. Cliquez sur le bouton Modifier du cluster (icône en forme de crayon).

  3. Dans le menu Pools de nœuds, cliquez sur Plus d'options pour le pool de nœuds que vous souhaitez modifier.

  4. Sélectionnez Activer la réparation automatique.

  5. Cliquez sur Enregistrer pour enregistrer la configuration du pool de nœuds.

  6. Cliquez à nouveau sur Enregistrer pour modifier le cluster.

Désactiver la réparation automatique de nœud

Vous pouvez désactiver la réparation automatique de nœuds pour un pool de nœuds existant à l'aide de l'outil gcloud ou de Google Cloud Console.

gcloud

gcloud container node-pools update pool-name --cluster cluster-name \
  --zone compute-zone \
  --no-enable-autorepair

Console

  1. Accédez au menu "Google Kubernetes Engine" dans Cloud Console.

    Accéder au menu "Google Kubernetes Engine"

  2. Cliquez sur le bouton Modifier du cluster (icône en forme de crayon).

  3. Dans le menu Pools de nœuds, cliquez sur Plus d'options pour le pool de nœuds que vous souhaitez modifier.

  4. Désélectionnez Activer la réparation automatique.

  5. Cliquez sur Enregistrer pour enregistrer la configuration du pool de nœuds.

  6. Cliquez à nouveau sur Enregistrer pour modifier le cluster.

Étapes suivantes