Cette page fournit des informations sur la réparation automatique de nœuds dans les clusters Google Kubernetes Engine (GKE).
Présentation
La réparation automatique de nœuds permet de maintenir les nœuds de votre cluster GKE 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.
Paramètres pour Autopilot et Standard
Les clusters Autopilot réparent toujours les nœuds de manière automatique. Vous ne pouvez pas désactiver ce paramètre.
Dans les clusters standards, la réparation automatique des nœuds est activée par défaut pour les nouveaux pools de nœuds. Vous pouvez désactiver la réparation automatique pour un pool de nœuds existant, mais nous vous recommandons de conserver la configuration par défaut.
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).
Vous pouvez vérifier manuellement et à tout moment les signaux d'état de votre nœud à l'aide de la commande kubectl get nodes
.
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 son état à l'aide de la commande suivante :
gcloud container operations list
Réparation automatique des nœuds dans les nœuds TPU
Si vous utilisez un pool de nœuds des tranches TPU multi-hôte, qui est un pool de nœuds contenant au moins deux VM TPU interconnectées, les critères de réparation automatique des nœuds sont différents. Si un nœud TPU dans un pool de nœuds des tranches TPU multi-hôte n'est pas opérationnel et nécessite une réparation automatique, l'intégralité du pool de nœuds est recréé. Pour en savoir plus sur les conditions de nœud TPU, consultez la page Réparation automatique des nœuds TPU.
Activer la réparation automatique pour un pool de nœuds standard existant
Vous activez la réparation automatique de nœuds au niveau du pool de nœuds.
Si la réparation automatique est désactivée sur un pool de nœuds existant dans un cluster standard, utilisez les instructions suivantes pour l'activer :
gcloud
gcloud container node-pools update POOL_NAME \
--cluster CLUSTER_NAME \
--region=COMPUTE_REGION \
--enable-autorepair
Remplacez les éléments suivants :
POOL_NAME
: nom de votre pool de nœuds.CLUSTER_NAME
: nom de votre cluster Standard.COMPUTE_REGION
: région Compute Engine du cluster. Pour les clusters zonaux, utilisez l'option--zone COMPUTE_ZONE
.
Console
Accédez à la page Google Kubernetes Engine dans Google Cloud Console.
Dans la liste des clusters, cliquez sur le nom du cluster que vous souhaitez modifier.
Cliquez sur l'onglet Nœuds.
Sous Pools de nœuds, cliquez sur le nom du pool de nœuds que vous souhaitez modifier.
Sur la page Détails du pool de nœuds, cliquez sur edit Modifier.
Sous Gestion, cochez la case Activer la réparation automatique.
Cliquez sur Enregistrer.
Vérifier que la réparation automatique des nœuds standard est activée pour un pool de nœuds
La réparation automatique des nœuds est activée au niveau du pool de nœuds. Vous pouvez vérifier que la réparation automatique des nœuds est activée pour un pool de nœuds de votre cluster à l'aide de Google Cloud CLI ou de la console Google Cloud.
gcloud
Décrivez le pool de nœuds :
gcloud container node-pools describe NODE_POOL_NAME \
--cluster=CLUSTER_NAME
Si la réparation automatique de nœud est activée, le résultat de la commande inclut les lignes suivantes :
management:
...
autoRepair: true
Console
Accédez à la page Google Kubernetes Engine dans Google Cloud Console.
Sur la page Google Kubernetes Engine, cliquez sur le nom du cluster associé au pool de nœuds que vous souhaitez inspecter.
Cliquez sur l'onglet Nœuds.
Sous Pools de nœuds, cliquez sur le nom du pool de nœuds que vous souhaitez inspecter.
Sous Gestion, dans le champ Réparation automatique, vérifiez que la réparation automatique est activée.
Désactiver la réparation automatique de nœuds
Vous pouvez désactiver la réparation automatique de nœuds pour un pool de nœuds existant dans un cluster Standard à l'aide de gcloud CLI ou de Google Cloud Console.
gcloud
gcloud container node-pools update POOL_NAME \
--cluster CLUSTER_NAME \
--region=COMPUTE_REGION \
--no-enable-autorepair
Remplacez les éléments suivants :
POOL_NAME
: nom de votre pool de nœuds.CLUSTER_NAME
: nom de votre cluster Standard.COMPUTE_REGION
: région Compute Engine du cluster. Pour les clusters zonaux, utilisez l'option--zone COMPUTE_ZONE
.
Console
Accédez à la page Google Kubernetes Engine dans Google Cloud Console.
Dans la liste des clusters, cliquez sur le nom du cluster que vous souhaitez modifier.
Cliquez sur l'onglet Nœuds.
Sous Pools de nœuds, cliquez sur le nom du pool de nœuds que vous souhaitez modifier.
Sur la page Détails du pool de nœuds, cliquez sur edit Modifier.
Sous Gestion, décochez la case Activer la réparation automatique.
Cliquez sur Enregistrer.