Aidez à améliorer cette page
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Réparer automatiquement les nœuds dans les clusters EKS
Cette rubrique décrit le comportement de réparation automatique des nœuds EKS et explique comment le configurer pour répondre à vos besoins. La réparation automatique des nœuds EKS est activée par défaut en mode automatique EKS et peut être utilisée avec les groupes de nœuds gérés par EKS et Karpenter.
Les actions de réparation automatique des nœuds EKS par défaut sont résumées dans le tableau ci-dessous et s'appliquent au comportement du mode automatique EKS, des groupes de nœuds gérés par EKS et de Karpenter. Lorsque vous utilisez le mode automatique d'EKS ou Karpenter, toutes les actions de AcceleratedHardwareReady réparation le sontReplace, et seuls les groupes de nœuds gérés par EKS sont pris Reboot en charge en tant qu'action de réparation.
Pour obtenir une liste détaillée des problèmes de santé des nœuds détectés par l'agent de surveillance des nœuds EKS et des actions de réparation des nœuds correspondantes, consultezDétectez les problèmes de santé des nœuds avec l'agent de surveillance des nœuds EKS.
| État du nœud | Description | Réparation après | Action (s) de réparation |
|---|---|---|---|
|
AcceleratedHardwareReady |
AcceleratedHardwareReady indique si le matériel accéléré (GPU, Neuron) du nœud fonctionne correctement. |
10 m |
Remplacer ou redémarrer |
|
ContainerRuntimeReady |
ContainerRuntimeReady indique si le moteur d'exécution du conteneur (containerd, etc.) fonctionne correctement et est capable d'exécuter des conteneurs. |
30 m |
Remplacez |
|
DiskPressure |
DiskPressure est une condition standard de Kubernetes indiquant que le nœud est soumis à une pression sur le disque (espace disque insuffisant ou E/S élevées). |
N/A |
Aucune |
|
KernelReady |
KernelReady indique si le noyau fonctionne correctement sans erreur critique, panique ou épuisement des ressources. |
30 m |
Remplacez |
|
MemoryPressure |
MemoryPressure est une condition standard de Kubernetes indiquant que le nœud est soumis à une pression de mémoire (faible mémoire disponible). |
N/A |
Aucune |
|
NetworkingReady |
NetworkingReady indique si la pile réseau du nœud fonctionne correctement (interfaces, routage, connectivité). |
30 m |
Remplacez |
|
StorageReady |
StorageReady indique si le sous-système de stockage du nœud fonctionne correctement (disques, systèmes de fichiers, E/S). |
30 m |
Remplacez |
|
Prêt |
Prêt est la condition standard de Kubernetes indiquant que le nœud est sain et prêt à accepter des pods. |
30 m |
Remplacez |
Les actions de réparation automatique des nœuds EKS sont désactivées par défaut dans les scénarios suivants. Les actions de réparation des nœuds en cours se poursuivent dans chaque scénario. Découvrez Configurer la réparation automatique des nœuds comment remplacer ces paramètres par défaut.
Groupes de nœuds gérés par EKS
-
Le groupe de nœuds compte plus de cinq nœuds et plus de 20 % des nœuds du groupe de nœuds ne fonctionnent pas correctement.
-
Un changement de zone pour votre cluster se déclenche via l'Application Recovery Controller (ARC).
Mode automatique EKS et Karpenter
-
Plus de 20 % des nœuds du NodePool sont en mauvais état.
-
En mode autonome NodeClaims, 20 % des nœuds du cluster ne fonctionnent pas correctement.
Configurer la réparation automatique des nœuds
La réparation automatique des nœuds ne peut pas être configurée lors de l'utilisation du mode automatique EKS et elle est toujours activée avec les mêmes paramètres par défaut que Karpenter.
Karpenter
Pour utiliser la réparation automatique des nœuds avec Karpenter, activez le portail NodeRepair=true des fonctionnalités. Vous pouvez activer les portes de fonctionnalités via l'option --feature-gates CLI ou la variable d'FEATURE_GATESenvironnement dans le déploiement de Karpenter. Pour en savoir plus, veuillez consulter la documentation Karpenter
Groupes de nœuds gérés
Vous pouvez activer la réparation automatique des nœuds lors de la création de nouveaux groupes de nœuds gérés par EKS ou en mettant à jour les groupes de nœuds gérés par EKS existants.
-
Console Amazon EKS : cochez la case Activer la réparation automatique des nœuds pour le groupe de nœuds gérés. Pour de plus amples informations, veuillez consulter Création d’un groupe de nœuds gérés pour votre cluster.
-
AWS CLI — Ajoutez
--node-repair-config enabled=trueà laeks update-nodegroup-configcommandeeks create-nodegroupou. -
eksctl — Configure
managedNodeGroups.nodeRepairConfig.enabled: true, voir l'exemple dans le eksctl. GitHub
Lorsque vous utilisez des groupes de nœuds gérés par EKS, vous pouvez contrôler le comportement de réparation automatique des nœuds à l'aide des paramètres suivants.
Pour contrôler le moment où la réparation automatique des nœuds cesse d'agir, définissez un seuil basé sur le nombre de nœuds défectueux dans le groupe de nœuds. Définissez le nombre absolu ou le pourcentage, mais pas les deux.
| Paramètre | Description |
|---|---|
|
|
Nombre absolu de nœuds défectueux au-dessus duquel la réparation automatique des nœuds s'arrête. Utilisez-le pour limiter l'étendue des réparations. |
|
|
Pourcentage de nœuds défectueux au-dessus duquel la réparation automatique des nœuds s'arrête (0 à 100). |
Pour contrôler le nombre de nœuds réparés simultanément, vous pouvez configurer le parallélisme de réparation. Comme pour le seuil de nœuds défectueux, définissez le nombre absolu ou le pourcentage, mais pas les deux.
| Paramètre | Description |
|---|---|
|
|
Le nombre maximum de nœuds à réparer simultanément. |
|
|
Pourcentage maximal de nœuds défectueux à réparer simultanément (0 à 100). |
AvecnodeRepairConfigOverrides, vous pouvez personnaliser le comportement de réparation en fonction de conditions spécifiques. Utilisez-le lorsque vous avez besoin de différentes actions de réparation ou de temps d'attente pour différents types de problèmes.
Chaque dérogation nécessite tous les champs suivants :
| Champ | Description |
|---|---|
|
|
Type de condition du nœud signalé par l'agent de surveillance du nœud. Par exemple : |
|
|
Le code de raison spécifique de l'état insalubre. Par exemple |
|
|
Durée minimale, en minutes, pendant laquelle la condition doit persister avant que le nœud puisse être réparé. Utilisez-le pour éviter de réparer les nœuds pour des problèmes temporaires. |
|
|
L'action à entreprendre lorsque les conditions sont réunies. Valeurs valides : |
L'exemple de AWS CLI suivant crée un groupe de nœuds avec des paramètres de réparation personnalisés.
aws eks create-nodegroup \ --cluster-name my-cluster \ --nodegroup-name my-nodegroup \ --node-role arn:aws:iam::111122223333:role/NodeRole \ --subnets subnet-0123456789abcdef0 \ --node-repair-config '{ "enabled": true, "maxUnhealthyNodeThresholdPercentage": 10, "maxParallelNodesRepairedCount": 3, "nodeRepairConfigOverrides": [ { "nodeMonitoringCondition": "AcceleratedHardwareReady", "nodeUnhealthyReason": "NvidiaXID64Error", "minRepairWaitTimeMins": 5, "repairAction": "Replace" }, { "nodeMonitoringCondition": "AcceleratedHardwareReady", "nodeUnhealthyReason": "NvidiaXID31Error", "minRepairWaitTimeMins": 15, "repairAction": "NoAction" } ] }'
Cette configuration effectue les opérations suivantes :
-
Permet la réparation automatique des nœuds
-
Arrête les actions de réparation lorsque plus de 10 % des nœuds ne sont pas sains
-
Répare jusqu'à 3 nœuds à la fois
-
Annule les erreurs XID 64 (échec du remappage de la mémoire du GPU) pour remplacer le nœud au bout de 5 minutes. La valeur par défaut est le redémarrage au bout de 10 minutes.
-
Annule les erreurs XID 31 (erreur de page de mémoire du GPU) pour ne rien faire. La valeur par défaut est le redémarrage au bout de 10 minutes.