Je souhaite résoudre les erreurs liées à l'utilisation d'un modèle de lancement personnalisé avec des groupes de nœuds gérés dans mon cluster Amazon Elastic Kubernetes Service (Amazon EKS).
Brève description
Lorsque vous utilisez un modèle de lancement personnalisé avec des groupes de nœuds gérés dans votre cluster Amazon EKS, l'une des erreurs suivantes peut s'afficher :
- "Client.InternalError: Client error on launch"
- "SourceEc2LaunchTemplateNotFound or The Amazon EC2 Launch Template lt-xxxxxxxxxxxxxxxxx version x was not found"
- "Node group entered a DEGRADED status"
Résolution
Erreur du client au lancement
Cette erreur se produit lorsque vous utilisez des volumes Amazon Elastic Block Store (Amazon EBS) chiffrés dans le modèle de lancement personnalisé avec des autorisations incorrectes. Pour vérifier l'état du chiffrement et les autorisations ou politiques Gestion des identités et des accès AWS (AWS IAM), effectuez les tâches suivantes :
Modèle de lancement introuvable
Cette erreur se produit lorsque vous modifiez manuellement la version du modèle de lancement personnalisé via le groupe Auto Scaling du nœud au lieu d'Amazon EKS. Pour résoudre ce problème, vous devez utiliser Amazon EKS pour mettre à jour la version du modèle de lancement.
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.
Pour mettre à jour votre modèle de lancement Amazon Elastic Compute Cloud (Amazon EC2) à partir du groupe de nœuds gérés, procédez comme suit :
- Ouvrez la console Amazon EKS.
- Dans le volet de navigation, sélectionnez Clusters.
- Sous Nom du cluster, sélectionnez le cluster qui contient le groupe de nœuds à mettre à jour.
- Choisissez l'onglet Calcul.
- Sous Groupes de nœuds, sélectionnez votre nœud, puis choisissez Modifier la version.
Remarque : Cette option s'affiche uniquement si une nouvelle révision du modèle de lancement est disponible. Si cette option ne s'affiche pas, utilisez la commande aws eks update-nodegroup-version de l’AWS CLI pour modifier la version du modèle de lancement du groupe de nœuds.
- Sélectionnez la version à appliquer à votre groupe de nœuds. Assurez-vous que la stratégie de mise à jour est définie sur Déploiement de la mise à jour.
- Choisissez Mettre à jour.
Cette erreur se produit également si vous supprimez un modèle de référence lors de la création d’un groupe de nœuds avec un modèle de lancement personnalisé. Si vous utilisez un modèle de lancement personnalisé, Amazon EKS le réplique. Si vous supprimez le modèle d'origine, vous devez recréer le groupe de nœuds.
Pour recréer le groupe de nœuds, procédez comme suit :
-
Lancez un nouveau groupe de nœuds.
-
Exécutez la commande suivante pour vérifier que tous les nœuds sont sains, qu'ils indiquent l'état Prêt et qu'ils ont rejoint le cluster :
$ kubectl get nodes
-
Videz vos composants master.
-
Supprimez le groupe de nœuds d'origine.
Le groupe de nœuds passe à un état DÉGRADÉ
Un groupe de nœuds peut passer à un état DÉGRADÉ une fois qu'Amazon EKS a créé un modèle de lancement contenant un message d'erreur similaire au suivant :
"The Amazon EC2 Launch Template : lt-xxxxxxxxxxxxxxxxx has a new version associated with your Autoscaling group, which is not managed by Amazon EKS. Expected Launch Template version: x".
Cette erreur se produit lorsque la version du modèle de lancement Amazon EC2 pour votre groupe de nœuds géré ne correspond pas à la version créée par Amazon EKS. Vous pouvez uniquement mettre à jour directement les groupes de nœuds existants qui utilisent un modèle de lancement personnalisé. Pour résoudre ce problème, vous devez créer un modèle de lancement et une version avec les paramètres de votre choix. Puis, utilisez le modèle de lancement pour créer le groupe de nœuds. Si le nouveau groupe de nœuds est lancé à partir de votre modèle personnalisé, créez de nouvelles versions du modèle. Vous pouvez utiliser ce modèle sans placer le groupe de nœuds à l’état DÉGRADÉ.
Informations connexes
Personnaliser des nœuds gérés avec des modèles de lancement
Concepts de base de la configuration d'un modèle de lancement