ACK surveille et répare automatiquement les nœuds défectueux au sein des pools de nœuds gérés, réduisant ainsi la charge opérationnelle manuelle. Toutefois, la réparation automatique ne résout pas tous les scénarios de panne. Certaines pannes complexes peuvent encore nécessiter une intervention manuelle.
Pour les pools de nœuds LINGJUN, consultez Activer la réparation automatique des nœuds .
Fonctionnement
Le processus de réparation automatique comprend :
Flux d'exécution : flux complet, de la détection de la panne à l'achèvement de la réparation.
Conditions de nœud déclenchant la réparation automatique : types de pannes, niveaux de risque, seuils et actions de réparation.
Statut du nœud pendant la réparation automatique : transitions de statut pendant et après la réparation.
Flux d'exécution
Voici le workflow, de la détection de la panne à la notification puis à la réparation automatique :
|
Le module complémentaire ack-node-problem-detector (NPD) vérifie la présence d'anomalies sur les nœuds. Si un nœud reste dans un état défectueux pendant une période spécifiée, ACK l'identifie comme étant en panne. |
|
ACK génère une condition de nœud (Node Condition) et un événement Kubernetes. Configurez des alertes dans le centre d'événements (Event Center) pour recevoir des notifications. |
|
Après la détection d'une anomalie GPU, ACK isole la carte GPU défectueuse. Consultez Détection des exceptions GPU et isolation automatique. |
|
ACK détermine s'il faut lancer une tâche de réparation en fonction de la Lorsqu'une anomalie système ou liée à un composant Kubernetes persiste au-delà du seuil configuré, ACK exécute une tâche de réparation :
|
Dans les clusters comportant plusieurs pools de nœuds, la réparation automatique s'exécute un pool de nœuds à la fois.
Conditions de nœud déclenchant la réparation automatique
|
Condition de nœud |
Description |
Niveau de risque |
Seuil |
Action de réparation |
|
KubeletNotReady(KubeletHung) |
Le kubelet ne répond pas, ce qui entraîne le passage du nœud à l'état NotReady. |
Élevé |
180 s |
|
|
KubeletNotReady(PLEG) |
La vérification de l'intégrité du générateur d'événements du cycle de vie des Pods (PLEG) a échoué, ce qui entraîne le signalement de l'état NotReady par le nœud. |
Moyen |
180 s |
|
|
KubeletNotReady(SandboxError) |
PodSandbox introuvable, empêchant le démarrage correct du kubelet. |
Élevé |
180 s |
|
|
RuntimeOffline |
Le runtime de conteneurs (containerd ou Docker) s'est arrêté, rendant le nœud indisponible. |
Élevé |
90 s |
|
|
NTPProblem |
Le service de synchronisation horaire (ntpd ou chronyd) ne fonctionne pas correctement. |
Élevé |
10 s |
Redémarrez ntpd ou chronyd. |
|
SystemdOffline |
Un état systemd anormal empêche le démarrage ou la destruction des conteneurs. |
Élevé |
90 s |
Si l'option Enable self-healing for system and node components only (node reboots allowed) est activée, redémarrez l'instance ECS. |
|
ReadonlyFilesystem |
Le système de fichiers du nœud est passé en lecture seule. |
Élevé |
90 s |
Si l'option Enable self-healing for system and node components only (node reboots allowed) est activée, redémarrez l'instance ECS. |
Statut du nœud pendant la réparation automatique
Pendant la réparation, le statut du nœud est Repairing.
Si la panne est résolue après la réparation, le nœud revient à un état normal.
-
Si la panne persiste après la réparation, le statut du nœud devient Recovery failed.
Un nœud dont le statut est Recovery failed ne déclenche pas une autre réparation automatique tant que la panne n'est pas résolue.
Remarques d'utilisation
Cette fonctionnalité nécessite le centre d'événements (Event Center) pour les alertes et ack-node-problem-detector (NPD) pour la détection des anomalies. Consultez Surveillance des événements.
Disponible uniquement dans les clusters gérés ACK pour les pools de nœuds gérés.
-
Les fonctionnalités suivantes font l'objet d'un déploiement progressif. Pour demander l'accès, soumettez un ticket.
Réparation automatique des anomalies d'instances de nœuds : soumise à une liste d'autorisation.
-
Ensembles de règles d'alerte : après avoir activé la réparation automatique des nœuds, activez la gestion des alertes et activez les ensembles Cluster Node Auto Repair Alert Rule Set et GPU monitoring and alert rules pour recevoir des alertes d'anomalies. Ces ensembles de règles font l'objet d'une version progressive.
Consultez Gestion des alertes Container Service .
Version NPD : la réparation automatique des anomalies d'instances de nœuds nécessite ack-node-problem-detector (NPD) version 1.2.26 ou ultérieure, actuellement en déploiement progressif.
Activer la réparation automatique des nœuds
Activez la réparation automatique des nœuds lors de la création d'un pool de nœuds ou pour un pool de nœuds géré existant.
Nouveau pool de nœuds
Sur la page Clusters ACK, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur .
-
Cliquez sur Create Node Pool. Dans la section Configure Managed Node Pool, sélectionnez Managed Node Pool, activez la réparation automatique des nœuds, configurez la politique de redémarrage des nœuds pour la réparation des composants et créez le pool de nœuds.
Pour plus de détails sur la configuration, consultez Créer et gérer un pool de nœuds. Pour les considérations relatives au redémarrage des nœuds, voir ci-dessous.
Pool de nœuds existant
Sur la page Clusters ACK, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur .
-
Dans la liste des pools de nœuds, localisez le pool de nœuds cible. Dans la colonne Actions, cliquez sur l'icône
et sélectionnez Enable Managed Node Pool (pour un pool de nœuds standard) ou Configure Managed Node Pool (pour un pool de nœuds géré). Définissez le mode Configure Managed Node Pool sur Managed Node Pool et activez la réparation automatique des nœuds.Pour plus de détails sur la configuration, consultez Créer et gérer un pool de nœuds. Pour les considérations relatives au redémarrage des nœuds, voir ci-dessous.
Événements de réparation automatique
ACK écrit les événements de réparation automatique dans le Event Center. Sur la page des détails du cluster, choisissez . Sous l'onglet Node Events, consultez les enregistrements de réparation automatique. Abonnez-vous à ces événements via Surveillance des événements.
|
Événement |
Niveau |
Description |
|
NodeRepairStart |
Normal |
La réparation automatique des nœuds a commencé. |
|
NodeRepairAction |
Normal |
Une action de réparation a été effectuée, telle que le redémarrage du kubelet. |
|
NodeRepairSucceed |
Normal |
La réparation automatique des nœuds a réussi. |
|
NodeRepairFailed |
Avertissement |
Échec de la réparation. Consultez la FAQ. |
|
NodeRepairIgnore |
Normal |
Ignoré car l'instance ECS n'était pas en cours d'exécution. |
FAQ
Échec de la réparation automatique
La réparation automatique ne peut pas résoudre toutes les pannes. Si la réparation échoue ou si la panne persiste, ACK définit le statut du nœud sur Recovery failed.
Si la réparation automatique d'un nœud échoue, les réparations ultérieures pour ce pool de nœuds sont suspendues jusqu'à ce que la panne soit résolue. Vous pouvez soumettre un ticket pour obtenir de l'aide.
Références
Activez NPD et surveillez les événements du cluster via Surveillance des événements.
Consultez Détection des exceptions GPU et isolation automatique et Diagnostiquer les problèmes des nœuds GPU.
Pour supprimer et rajouter un nœud défectueux, suivez les procédures standard dans la console ACK afin d'éviter tout comportement inattendu. Consultez Supprimer un nœud et Ajouter des nœuds existants.