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ésoudre les problèmes liés aux fonctionnalités ACK
Cette rubrique fournit des conseils de dépannage relatifs à la fonctionnalité EKS pour ACK, notamment les vérifications de l'état des fonctionnalités, la vérification de l'état des ressources et les problèmes d'autorisation IAM.
Note
Les fonctionnalités EKS sont entièrement gérées et exécutées en dehors de votre cluster. Vous n'avez pas accès aux journaux ni aux espaces de noms des contrôleurs. Le dépannage se concentre sur l'état des capacités, l'état des ressources et la configuration IAM.
La capacité est ACTIVE mais les ressources ne sont pas créées
Si votre fonctionnalité ACK affiche un ACTIVE état mais que les ressources n'y sont pas créées AWS, vérifiez l'état 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 la AWS CLI.
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.
-
Choisissez l'onglet Fonctionnalités pour afficher l'état et l'état de toutes les fonctionnalités.
AWS CLI :
# View capability status and health aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-ack # Look for issues in the health section
Causes courantes :
-
Autorisations IAM manquantes : le rôle de capacité ne dispose pas d'autorisations pour le service AWS
-
Mauvais espace de noms : ressources créées dans l'espace de noms sans sélecteur approprié IAMRole
-
Spécification de ressource non valide : vérifiez les conditions d'état des ressources pour détecter les erreurs de validation
-
Limitation de l'API : les limites de débit des AWS API sont atteintes
-
Webhooks d'admission : webhooks d'admission empêchant le contrôleur de corriger le statut des ressources
Vérifiez l'état des ressources :
# Describe the resource to see conditions and events kubectl describe bucket my-bucket -n default # Look for status conditions kubectl get bucket my-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 Kubernetes AWS mais non affichées
ACK suit uniquement les ressources qu'il crée via les manifestes Kubernetes. Pour gérer les AWS ressources existantes avec ACK, utilisez la fonctionnalité 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, voirConcepts d'ACK.
Les ressources entre comptes ne sont pas créées
Si aucune ressource n'est créée dans un AWS compte cible lors de l'utilisation des sélecteurs de rôle IAM, vérifiez la relation de confiance et la configuration du IAMRole sélecteur.
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 la configuration IAMRole du sélecteur :
# List IAMRoleSelectors (cluster-scoped) kubectl get iamroleselector # Describe specific selector kubectl describe iamroleselector my-selector
Vérifiez l'alignement de l'espace de noms :
IAMRoleLes sélecteurs sont des ressources limitées à un 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 IAMRole sélecteur d'espace de noms du sélecteur :
# 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 la condition IAMRole sélectionnée :
Vérifiez que le IAMRole sélecteur a bien été mis en correspondance avec votre ressource en vérifiant la ACK.IAMRoleSelected condition suivante :
# Check if IAMRoleSelector was matched kubectl get bucketmy-cross-account-bucket-nproduction-o jsonpath='{.status.conditions[?(@.type=="ACK.IAMRoleSelected")]}'
Si la condition est False ou absente, le IAMRole sélecteur d'espace de noms du sélecteur ne correspond pas à l'espace de noms de la ressource. Vérifiez que le sélecteur namespaceSelector correspond aux libellés d'espace de noms de votre ressource.
Vérifiez les autorisations relatives aux rôles de capacité :
Le rôle de capacité nécessite une sts:AssumeRole autorisation pour le rôle de compte cible :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::[.replaceable]`444455556666`:role/[.replaceable]`cross-account-ack-role`" } ] }
Pour une configuration détaillée entre comptes, voirConfigurer les autorisations ACK.
Étapes suivantes
-
Considérations relatives à l'ACK pour EKS- Considérations et meilleures pratiques relatives à l'ACK
-
Configurer les autorisations ACK- Configurer les autorisations IAM et les modèles multi-comptes
-
Concepts d'ACK- Comprendre les concepts ACK et le cycle de vie des ressources
-
Dépannage des fonctionnalités EKS- Conseils généraux de résolution des problèmes liés aux fonctionnalités