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.
Résoudre les problèmes liés aux fonctionnalités ACK
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. Vous pouvez configurer la livraison du journal du contrôleur pour avoir une visibilité sur le comportement du contrôleur. Consultez Accédez aux journaux du contrôleur EKS Capabilities. Le dépannage se concentre sur l'état des fonctionnalités, l'état des ressources et la configuration IAM.
La capacité est ACTIVE mais aucune ressource n'est créée
Si votre fonctionnalité ACK affiche un ACTIVE état mais que les ressources ne sont pas créées AWS, vérifiez l'état de santé de la fonctionnalité, l'état des ressources et les autorisations IAM.
Vérifiez l'état des capacités :
Vous pouvez consulter les problèmes d'état et d'état des fonctionnalités dans la console EKS ou à l'aide de l' AWS interface de ligne de commande.
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.
AWS CLI :
# View capability status and health aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-ack# Look for issues in the health section
Causes courantes :
-
Autorisations IAM manquantes : le rôle de capacité n'est pas autorisé à accéder au service AWS
-
Mauvais espace de noms : ressources créées dans l'espace de noms sans qu'il soit approprié IAMRoleSelector
-
Spécification de ressource non valide : vérifiez les conditions d'état des ressources pour détecter les erreurs de validation
-
Limitation des API : les limites de débit des AWS API sont atteintes
-
Webhooks d'admission : Webhooks d'admission empêchant le contrôleur de corriger l'état des ressources
Vérifiez l'état des ressources :
# Describe the resource to see conditions and events kubectl describe bucketmy-bucket-n default # Look for status conditions kubectl get bucketmy-bucket-n default -o jsonpath='{.status.conditions}' # View resource events kubectl get events --field-selector involvedObject.name=my-bucket-n default
Vérifiez les autorisations IAM :
# View the Capability Role's policies aws iam list-attached-role-policies --role-namemy-ack-capability-roleaws iam list-role-policies --role-namemy-ack-capability-role# Get specific policy details aws iam get-role-policy --role-namemy-ack-capability-role--policy-namepolicy-name
Ressources créées dans AWS mais ne s'affiche pas dans Kubernetes
ACK suit uniquement les ressources qu'il crée via les manifestes Kubernetes. Pour gérer les AWS ressources existantes avec ACK, utilisez la fonction d'adoption.
apiVersion: s3.services.k8s.aws/v1alpha1 kind: Bucket metadata: name: existing-bucket annotations: services.k8s.aws/adoption-policy: "adopt-or-create" spec: name: my-existing-bucket-name
Pour en savoir plus sur l'adoption des ressources, consultezConcepts de l'ACK.
Cross-account ressources non créées
Si aucune ressource n'est créée dans un AWS compte cible lors de l'utilisation des sélecteurs de rôles IAM, vérifiez la relation de confiance et IAMRoleSelector la configuration.
Vérifiez la relation de confiance :
# Check the trust policy in the target account role aws iam get-role --role-namecross-account-ack-role--query 'Role.AssumeRolePolicyDocument'
La politique de confiance doit permettre au rôle de capacité du compte source de l'assumer.
Confirmez IAMRoleSelector la configuration :
# List IAMRoleSelectors (cluster-scoped) kubectl get iamroleselector # Describe specific selector kubectl describe iamroleselectormy-selector
Vérifiez l'alignement de l'espace de noms :
IAMRoleSelectors sont des ressources à portée de cluster mais ciblent des espaces de noms spécifiques. Assurez-vous que vos ressources ACK se trouvent dans un espace de noms qui correspond au sélecteur IAMRoleSelector d'espace de noms :
# Check resource namespace kubectl get bucketmy-cross-account-bucket-nproduction# List all IAMRoleSelectors (cluster-scoped) kubectl get iamroleselector # Check which namespace the selector targets kubectl get iamroleselectormy-selector-o jsonpath='{.spec.namespaceSelector}'
Vérifiez IAMRoleSelected l'état :
Vérifiez qu'il a bien IAMRoleSelector été mis en correspondance avec votre ressource en vérifiant la ACK.IAMRoleSelected condition :
# Check if IAMRoleSelector was matched kubectl get bucketmy-cross-account-bucket-nproduction-o jsonpath='{.status.conditions[?(@.type=="ACK.IAMRoleSelected")]}'
Si la condition est remplie False ou absente, le sélecteur d'espace IAMRoleSelector de noms de la ressource ne correspond pas à l'espace de noms de la ressource. Vérifiez que le sélecteur namespaceSelector correspond aux étiquettes d'espace de noms de votre ressource.
Vérifiez les autorisations du rôle de capacité :
Le rôle Capability a besoin sts:AssumeRole et sts:TagSession autorisations pour le rôle du compte cible :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["sts:AssumeRole", "sts:TagSession"], "Resource":"arn:aws:iam::444455556666:role/cross-account-ack-role"} ] }
Pour une configuration multicompte détaillée, consultezConfigurer les autorisations ACK.
Étapes suivantes
-
Considérations relatives à l'ACK pour EKS- Considérations et meilleures pratiques en matière d'ACK
-
Configurer les autorisations ACK- Configurer les autorisations IAM et les modèles multi-comptes
-
Concepts de l'ACK- Comprendre les concepts ACK et le cycle de vie des ressources
-
Dépannage des fonctionnalités EKS- Conseils généraux pour résoudre les problèmes liés aux fonctionnalités