

 **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 d'Argo CD
<a name="argocd-troubleshooting"></a>

**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 fonctionnalités, l'état des applications et la configuration.

## La fonctionnalité est ACTIVE mais les applications ne se synchronisent pas
<a name="_capability_is_active_but_applications_are_not_syncing"></a>

Si la fonctionnalité de votre Argo CD affiche l'`ACTIVE`état mais que les applications ne se synchronisent pas, vérifiez l'état de la fonctionnalité et l'état de l'application.

 **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** :

1. Ouvrez la console Amazon EKS à l'adresse https://console.aws.amazon.com/eks/home \#/clusters.

1. Sélectionnez le nom de votre cluster.

1. Sélectionnez l’onglet **Observabilité**.

1. Sélectionnez **Surveiller le cluster**.

1. 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-argocd}}

# Look for issues in the health section
```

 **Causes courantes :**
+  **Référentiel non configuré** : dépôt Git non ajouté à Argo CD
+  **Échec de l'authentification** : clé SSH, jeton ou CodeCommit informations d'identification non valides
+  **Application non créée** : aucune ressource d'application n'existe dans le cluster
+  **Politique de synchronisation** : synchronisation manuelle requise (synchronisation automatique non activée)
+  Autorisations **IAM : autorisations** manquantes pour CodeCommit ou Secrets Manager

 **Vérifiez l'état de la demande** :

```
# List applications
kubectl get application -n argocd

# View sync status
kubectl get application {{my-app}} -n argocd -o jsonpath='{.status.sync.status}'

# View application health
kubectl get application {{my-app}} -n argocd -o jsonpath='{.status.health}'
```

 **Vérifiez les conditions de candidature** :

```
# Describe application to see detailed status
kubectl describe application {{my-app}} -n argocd

# View application health
kubectl get application {{my-app}} -n argocd -o jsonpath='{.status.health}'
```

## Applications bloquées dans l'état « En cours »
<a name="_applications_stuck_in_progressing_state"></a>

Si une application s'affiche `Progressing` mais n'atteint jamais les `Healthy` objectifs, vérifiez l'état des ressources et les événements de l'application.

 **Vérifiez l'état des ressources** :

```
# View application resources
kubectl get application {{my-app}} -n argocd -o jsonpath='{.status.resources}'

# Check for unhealthy resources
kubectl describe application {{my-app}} -n argocd | grep -A 10 "Health Status"
```

 **Causes courantes :**
+  **Déploiement non prêt** : les pods ne démarrent pas ou les sondes de disponibilité échouent
+  **Dépendances** des ressources : ressources attendant que d'autres ressources soient prêtes
+  **Erreurs d'extraction d'image : les** images du conteneur ne sont pas accessibles
+  **Ressources insuffisantes** : le cluster ne dispose pas de processeur ou de mémoire pour les pods

 **Vérifiez la configuration du cluster cible** (pour les configurations multi-clusters) :

```
# List registered clusters
kubectl get secret -n argocd -l argocd.argoproj.io/secret-type=cluster

# View cluster secret details
kubectl get secret {{cluster-secret-name}} -n argocd -o yaml
```

## Défaillances d'authentification du référentiel
<a name="_repository_authentication_failures"></a>

Si Argo CD ne peut pas accéder à vos référentiels Git, vérifiez la configuration de l'authentification.

 **Pour les CodeCommit référentiels** :

Vérifiez que le rôle de capacité IAM dispose d' CodeCommit autorisations :

```
# View IAM policies
aws iam list-attached-role-policies --role-name {{my-argocd-capability-role}}
aws iam list-role-policies --role-name {{my-argocd-capability-role}}

# Get specific policy details
aws iam get-role-policy --role-name {{my-argocd-capability-role}} --policy-name {{policy-name}}
```

Le rôle nécessite une `codecommit:GitPull` autorisation pour accéder aux référentiels.

 **Pour les référentiels Git privés** :

Vérifiez que les informations d'identification du référentiel sont correctement configurées :

```
# Check repository secret exists
kubectl get secret -n argocd {{repo-secret-name}} -o yaml
```

Assurez-vous que le secret contient les informations d'authentification correctes (clé SSH, jeton ou username/password).

 **Pour les référentiels utilisant Secrets Manager** :

```
# Verify IAM Capability Role has Secrets Manager permissions
aws iam list-attached-role-policies --role-name {{my-argocd-capability-role}}

# Test secret retrieval
aws secretsmanager get-secret-value --secret-id {{arn:aws:secretsmanager:region-code:111122223333:secret:my-secret}}
```

## Multi-cluster problèmes de déploiement
<a name="_multi_cluster_deployment_issues"></a>

Si les applications ne sont pas déployées sur des clusters distants, vérifiez l'enregistrement du cluster et la configuration des accès.

 **Vérifiez l'enregistrement du cluster** :

```
# List registered clusters
kubectl get secret -n argocd -l argocd.argoproj.io/secret-type=cluster

# Verify cluster secret format
kubectl get secret {{CLUSTER_SECRET_NAME}} -n argocd -o yaml
```

Assurez-vous que le `server` champ contient l'ARN du cluster EKS, et non l'URL de l'API Kubernetes.

 **Vérifiez l'entrée d'accès au cluster cible** :

Sur le cluster cible, vérifiez que le rôle Argo CD Capability possède une entrée d'accès :

```
# List access entries (run on target cluster or use AWS CLI)
aws eks list-access-entries --cluster-name {{target-cluster}}

# Describe specific access entry
aws eks describe-access-entry \
  --cluster-name {{target-cluster}} \
  --principal-arn {{arn:aws:iam::111122223333:role/my-argocd-capability-role}}
```

 **Vérifiez les autorisations IAM pour les comptes multiples :**

Pour les déploiements entre comptes, vérifiez que le rôle Argo CD Capability possède une entrée d'accès sur le cluster cible. La fonctionnalité gérée utilise les entrées d'accès EKS pour l'accès entre comptes, et non l'hypothèse du rôle IAM.

Pour en savoir plus sur la configuration multi-clusters, consultez[Enregistrer les clusters cibles](argocd-register-clusters.md).

## Étapes suivantes
<a name="_next_steps"></a>
+  [Considérations relatives à Argo CD](argocd-considerations.md)- Considérations et meilleures pratiques relatives à Argo CD
+  [Travailler avec Argo CD](working-with-argocd.md)- Création et gestion des applications Argo CD
+  [Enregistrer les clusters cibles](argocd-register-clusters.md)- Configurer des déploiements multi-clusters
+  [Dépannage des fonctionnalités EKS](capabilities-troubleshooting.md)- Conseils généraux de résolution des problèmes liés aux fonctionnalités