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 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.
Dépannage des fonctionnalités EKS
Note
Les fonctionnalités EKS sont entièrement gérées et exécutées en dehors de votre cluster. Vous n'avez pas d'accès direct aux espaces de noms des contrôleurs. Le dépannage se concentre sur l'état des fonctionnalités, l'état des ressources, la configuration et les journaux du contrôleur. Vous pouvez configurer la livraison du journal du contrôleur pour obtenir une meilleure visibilité sur le comportement du contrôleur. Consultez Accédez aux journaux du contrôleur EKS Capabilities.
Approche générale de résolution des problèmes
Lors de la résolution des problèmes liés aux fonctionnalités EKS, suivez cette approche générale :
-
Vérifier l'état des capacités : permet
aws eks describe-capabilityde consulter l'état des capacités et les problèmes de santé -
Vérifiez l'état des ressources : vérifiez les ressources Kubernetes (CRD) que vous avez créées pour connaître les conditions de statut et les événements
-
Consultez les journaux du contrôleur : si la livraison des journaux est configurée, interrogez les journaux du contrôleur pour détecter les erreurs et les détails de réconciliation
-
Vérifiez les autorisations IAM : assurez-vous que le rôle de capacité dispose des autorisations nécessaires
-
Vérifiez la configuration : vérifiez que la configuration spécifique à la fonctionnalité est correcte
Utiliser les journaux du contrôleur pour résoudre les problèmes
Si vous avez configuré la livraison des journaux du contrôleur (voirAccédez aux journaux du contrôleur EKS Capabilities), vous pouvez interroger les journaux pour identifier les erreurs de rapprochement, les conflits de ressources et les problèmes de configuration.
Erreurs de requête sur tous les contrôleurs
fields @timestamp, controller, message, error | filter level = "error" | sort @timestamp desc | limit 50
Journaux de filtrage pour un contrôleur de service ACK spécifique
Utilisez ce controllerGroup champ pour isoler les journaux d'un contrôleur de service ACK spécifique :
fields @timestamp, message, error | filter controllerGroup = "s3.services.k8s.aws" | filter level = "error" | sort @timestamp desc
Pour filtrer davantage par type de ressource (par exemple, uniquement SecurityGroup les journaux du contrôleur EC2) :
fields @timestamp, message, error | filter controllerGroup = "ec2.services.k8s.aws" | filter controllerKind = "SecurityGroup" | sort @timestamp desc | limit 100
Journaux de filtrage pour une application Argo CD spécifique
Utilisez ce application champ pour isoler les journaux d'une application Argo CD particulière :
fields @timestamp, message, error | filter application = "my-application" | sort @timestamp desc | limit 100
Suivez le rapprochement pour une ressource spécifique
Utilisez le reconcileID champ pour suivre un cycle de rapprochement unique :
fields @timestamp, level, message, error | filter reconcileID = "your-reconcile-id" | sort @timestamp asc
Modèles de journalisation courants indiquant des problèmes
-
Erreurs de rapprochement répétées : le contrôleur ne parvient pas à atteindre l'état souhaité pour une ressource. Consultez le
errorchamp pour obtenir des informations telles que les échecs d'autorisation IAM ou les configurations de ressources non valides. -
« Erreur de rapprochement » avec erreurs d' AWS API : le rôle de capacité ne dispose peut-être pas d'autorisations pour l'opération de AWS service spécifique. Consultez le message d'erreur et mettez à jour les politiques IAM en conséquence.
-
Aucune entrée de journal pour une ressource — Si vous ne voyez pas les journaux d'une ressource que vous attendez du contrôleur, vérifiez que la fonctionnalité existe
ACTIVEet que la ressource existe dans un espace de noms auquel la fonctionnalité peut accéder.
Vérifier l'état des capacités
Toutes les fonctionnalités EKS fournissent des informations de santé via la console EKS et l'describe-capabilityAPI.
Console :
-
Ouvrez la console Amazon EKS à l'adresse https://console.aws.amazon.com/eks/home #/clusters.
-
Sélectionnez le nom de votre cluster.
-
Sélectionnez l’onglet Observabilité.
-
Sélectionnez Surveiller le cluster.
-
Cliquez sur l'onglet Capacités pour afficher l'état et l'état de toutes les fonctionnalités.
L'onglet Capacités affiche les informations suivantes :
-
Nom et type de capacité
-
État actuel
-
Problèmes de santé, avec description
AWS CLI :
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-capability-name
La réponse inclut :
-
status : État de capacité actuel (
CREATINGACTIVE,UPDATING,DELETING,CREATE_FAILED,UPDATE_FAILED) -
santé : informations sur la santé, y compris tout problème détecté par la capacité
Statuts de capacité communs
CRÉATION : La capacité est en cours de mise en place.
ACTIF : La fonctionnalité est en cours d'exécution et prête à être utilisée. Si les ressources ne fonctionnent pas comme prévu, vérifiez l'état des ressources et les autorisations IAM.
MISE À JOUR : Des modifications de configuration sont en cours d'application. Attendez que le statut revienne àACTIVE.
CREATE_FAILED ou UPDATE_FAILED : une erreur a été détectée lors de l'installation ou de la mise à jour. Consultez la section sur la santé pour plus de détails. Causes courantes :
-
Politique de confiance des rôles IAM incorrecte ou manquante
-
Le rôle IAM n'existe pas ou n'est pas accessible
-
Problèmes d'accès au cluster
-
Paramètres de configuration non valides
Vérifier l'état des ressources Kubernetes
Les fonctionnalités EKS permettent de créer et de gérer des définitions de ressources personnalisées (CRD) Kubernetes dans votre cluster. Lors de la résolution des problèmes, vérifiez l'état des ressources que vous avez créées :
# List resources of a specific type kubectl getresource-kind-A # Describe a specific resource to see conditions and events kubectl describeresource-kind resource-name-nnamespace# View resource status conditions kubectl getresource-kind resource-name-nnamespace-o jsonpath='{.status.conditions}' # View events related to the resource kubectl get events --field-selector involvedObject.name=resource-name-nnamespace
Les conditions relatives à l'état des ressources fournissent des informations sur :
-
Si la ressource est prête
-
Toutes les erreurs rencontrées
-
État de réconciliation actuel
Vérifiez les autorisations IAM et l'accès au cluster
De nombreux problèmes de fonctionnalités sont dus à des problèmes d'autorisation IAM ou à une configuration d'accès au cluster manquante. Vérifiez à la fois les autorisations du rôle de capacité et les entrées d'accès au cluster.
Vérifiez les autorisations de rôle IAM
Vérifiez que le rôle de capacité dispose des autorisations nécessaires :
# List attached managed policies aws iam list-attached-role-policies --role-namemy-capability-role# List inline policies aws iam list-role-policies --role-namemy-capability-role# Get specific policy details aws iam get-role-policy --role-namemy-capability-role--policy-namepolicy-name# View the role's trust policy aws iam get-role --role-namemy-capability-role--query 'Role.AssumeRolePolicyDocument'
La politique de confiance doit permettre au capabilities.eks.amazonaws.com responsable du service :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "capabilities.eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Vérifiez les entrées d'accès et les politiques d'accès EKS
Toutes les fonctionnalités nécessitent des entrées d'accès et des politiques d'accès EKS appropriées sur le cluster sur lequel elles opèrent.
Vérifiez que l'entrée d'accès existe :
aws eks list-access-entries \ --cluster-namemy-cluster\ --regionregion-code
Recherchez l'ARN Capability Role dans la liste. Si cette fonctionnalité est manquante, elle ne peut pas accéder au cluster.
Vérifiez les politiques d'accès jointes à l'entrée :
aws eks list-associated-access-policies \ --cluster-namemy-cluster\ --principal-arnarn:aws:iam::111122223333:role/my-capability-role\ --regionregion-code
Toutes les fonctionnalités nécessitent des politiques d'accès appropriées :
-
ACK : nécessite des autorisations pour créer et gérer des ressources Kubernetes
-
kro : nécessite des autorisations pour créer et gérer des ressources Kubernetes
-
Argo CD : nécessite des autorisations pour créer et gérer des applications, et nécessite des entrées d'accès sur des clusters cibles distants pour les déploiements multi-clusters
Pour les déploiements multi-clusters Argo CD :
En cas de déploiement sur des clusters distants, vérifiez que le rôle de capacité possède une entrée d'accès sur chaque cluster cible :
# Check Access Entry on target cluster aws eks describe-access-entry \ --cluster-nametarget-cluster\ --principal-arnarn:aws:iam::111122223333:role/argocd-capability-role\ --regionregion-code
Si l'entrée d'accès est absente sur un cluster cible, Argo CD ne peut pas y déployer d'applications. Consultez Enregistrer les clusters cibles les détails de configuration.
Capability-specific résolution des problèmes
Pour obtenir des conseils de dépannage détaillés spécifiques à chaque type de fonctionnalité :
-
Résoudre les problèmes liés aux fonctionnalités ACK- Résoudre les problèmes liés à la création de ressources ACK, aux autorisations IAM et à l'accès entre comptes
-
Résoudre les problèmes liés aux fonctionnalités d'Argo CD- Résoudre les problèmes liés à la synchronisation des applications, à l'authentification des référentiels et aux déploiements multi-clusters
-
Résoudre les problèmes liés aux fonctionnalités KRO- Résolution des problèmes ResourceGraphDefinitions, expressions CEL et autorisations RBAC
Problèmes courants liés à toutes les fonctionnalités
Capacité bloquée dans l'état CREATION
Si une capacité reste en CREATING état plus longtemps que prévu :
-
Vérifiez l'état des fonctionnalités pour résoudre des problèmes spécifiques dans la console (Observabilité > Monitor cluster > onglet Capabilities) ou à l'aide de l' AWS interface de ligne de commande :
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-capability-name\ --query 'capability.health' -
Vérifiez que le rôle IAM existe et que la politique de confiance est correcte
-
Assurez-vous que votre cluster est accessible et en bon état
-
Vérifiez tout problème au niveau du cluster qui pourrait empêcher la configuration des fonctionnalités
Ressources non créées ou mises à jour
Si la fonctionnalité existe ACTIVE mais que les ressources ne sont pas créées ou mises à jour :
-
Vérifiez l'état de la ressource pour les conditions d'erreur
-
Vérifiez les autorisations IAM pour les AWS services spécifiques (ACK) ou les référentiels (Argo CD)
-
Vérifiez les autorisations RBAC pour créer des ressources sous-jacentes (kro)
-
Vérifiez les spécifications des ressources pour détecter les erreurs de validation
L'état des capacités présente des problèmes
Si cela describe-capability montre des problèmes de santé :
-
Lisez attentivement les descriptions des problèmes ; elles indiquent souvent le problème spécifique
-
Corrigez la cause première (autorisations IAM, erreurs de configuration, etc.)
-
La fonctionnalité sera automatiquement rétablie une fois le problème résolu
Étapes suivantes
-
Utilisation des ressources capacitaires- Gérer les ressources capacitaires
-
Résoudre les problèmes liés aux fonctionnalités ACK- ACK-specific résolution des problèmes
-
Résoudre les problèmes liés aux fonctionnalités d'Argo CD- Résolution des problèmes liés à Argo CD-specific
-
Résoudre les problèmes liés aux fonctionnalités KRO- résolution des problèmes spécifiques à Kro
-
Considérations relatives à la sécurité pour les fonctionnalités EKS- Meilleures pratiques en matière de sécurité pour les fonctionnalités