Passer au contenu

Comment puis-je corriger les erreurs liées aux groupes de nœuds gérés dans un groupe Amazon EKS ?

Lecture de 5 minute(s)
0

J’ai des soucis avec mon groupe de nœuds gérés dans mon cluster Amazon Elastic Kubernetes Service (Amazon EKS).

Brève description

Les causes suivantes sont souvent à l’origine des erreurs de groupe de nœuds gérés dans un cluster Amazon EKS :

  • Options DHCP incorrectes : Un message d’erreur s’affiche lorsque vous enregistrez un nœud auprès du serveur API
  • Autorisations clés AWS Key Management Service (AWS KMS) manquantes : Un message d’erreur s’affiche lorsque vous lancez une instance Amazon Elastic Compute Cloud (Amazon EC2) dans un groupe Auto Scaling avec un volume Amazon Elastic Block Store (Amazon EBS) chiffré avec une clé AWS KMS
  • Modèle de lancement inadéquat : Étant donné que le modèle de lancement EC2 ne correspond pas à la version créée par Amazon EKS, votre groupe de nœuds gérés est en état Dégradé

Résolution

Vérifier vos options DHCP

Si vous utilisez une option DHCP inadéquate dans votre DNS personnalisé, le message d’erreur suivant peut s’afficher :

« Node "ip-x-x-x-x.eu-region.compute.internal" is invalid: metadata.labels: Invalid value »

Assurez-vous que votre nom d’hôte ne contient pas plus de 63 caractères. Pour examiner vos options DHCP, consultez la section Jeux d’options DHCP dans Amazon VPC. Spécifiez votre nom d’hôte pour qu’il concorde avec la région AWS. Pour un serveur AmazonProvidedDNS dans la région us-east-1, spécifiez ec2.internal. Pour un serveur AmazonProvidedDNS dans d’autres régions, spécifiez region.compute.internal.

Exemple d’option DHCP définie dans la région us-east-1 :

domain-name : ec2.internal
domain-name-servers : AmazonProvidedDNS

Exemple d’option DHCP définie dans d’autres régions :

domain-name : region.compute.internal
domain-name-servers : AmazonProvidedDNS

Exemple d’option DHCP définie à partir d’un DNS personnalisé :

domain-name : nom DNS personnalisé
domain-name-servers : serveur de noms de domaine

Remarque : remplacez la région par votre région, le nom DNS personnalisé par votre nom DNS et le serveur de noms de domaine par votre serveur de noms de domaine.

Pour en savoir plus, consultez la section Concepts de jeux d’options DHCP. Si votre jeu d’options DHCP est associé à un VPC qui a des instances avec plusieurs systèmes d’exploitation, il est recommandé de ne spécifier qu’un seul nom de domaine.

Configurer une stratégie de clé pour le chiffrement de vos volumes EBS

Si le rôle de service de groupe Auto Scaling ne dispose pas d’autorisations, alors l’erreur suivante peut s’afficher :

« AccessDeniedException: User: arn:aws:sts::xxxxxxxxxxxx:assumed-role/AWSServiceRoleForAutoScaling/AutoScaling is not authorized to perform: kms:GenerateDataKeyWithoutPlaintext on resource: ARN of KMS key »

Si un nœud géré utilise un volume Amazon EBS chiffré par clé AWS KMS, le rôle de service de groupe Auto Scaling n’y aura pas accès.

Le rôle de service de groupe Auto Scaling doit disposer des autorisations suivantes pour fonctionner avec des volumes EBS chiffrés :

  • kms:Encrypt
  • kms:Decrypt
  • kms:ReEncrypt*
  • kms:GenerateDataKey*
  • kms:DescribeKey
  • kms:CreateGrant

Pour configurer la bonne stratégie de clé KMS, consultez Stratégie de clé AWS KMS requise à utiliser avec des volumes chiffrés. Pour permettre à un plus grand nombre de rôles IAM de fonctionner avec des volumes EBS chiffrés, vous pouvez modifier les stratégies clés. Pour en savoir plus, consultez Autoriser les utilisateurs de clés à utiliser la clé KMS. Pour en savoir plus sur la gestion de l’accès aux clés KMS, consultez AWS Key Management Service.

Mettre à jour de la version du modèle de lancement

Remarque : avant de mettre à jour votre modèle de lancement EC2 à partir du groupe de nœuds gérés, créez une nouvelle version. Pour plus d’informations, consultez Créer un nouveau modèle de lancement à l’aide des paramètres que vous définissez.

Lorsque vous mettez à jour manuellement le modèle de lancement directement à partir du groupe Auto Scaling, vous pourriez recevoir le message d’erreur suivant :

« Ec2LaunchTemplateVersionMismatch »

Pour mettre à jour votre modèle de lancement EC2 à partir du groupe de nœuds géré, procédez comme suit :

  1. Ouvrez la console EKS.
  2. Sélectionnez le cluster qui contient le groupe de nœuds à mettre à jour.
  3. Sélectionnez l’onglet Configuration, puis choisissez Calcul.
  4. Sur la page des groupes de nœuds, sous Modèles de lancement, choisissez Changer de version.
  5. 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.
  6. Choisissez Mettre à jour.

Remarque : il est recommandé de mettre à jour le groupe de nœuds avec la nouvelle version du modèle de lancement EC2.

Si vous n’avez pas utilisé de modèle de lancement personnalisé et que l’erreur Ec2LaunchTemplateVersionMismatch s’affiche, vérifiez la version de votre modèle de lancement. Vos composants master et votre groupe de nœuds EKS n’utilisent peut-être pas la même version du modèle de lancement. Pour résoudre ce problème, accédez à la console Auto Scaling pour revenir à la version créée par EKS. Pour en savoir plus, consultez la section Erreurs liées aux groupes de nœuds gérés. Pour d’autres résolutions de nœuds défaillants dans les groupes de nœuds gérés, consultez Comment puis-je faire en sorte que mes composants master rejoignent mon cluster Amazon EKS ?

AWS OFFICIELA mis à jour il y a 2 ans