

 **Contribuisci a migliorare questa pagina** 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Per contribuire a questa guida per l'utente, scegli il GitHub link **Modifica questa pagina** nel riquadro destro di ogni pagina.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Risolvi i problemi relativi alle funzionalità di Argo CD
<a name="argocd-troubleshooting"></a>

**Nota**  
Le funzionalità EKS sono completamente gestite ed eseguite all'esterno del cluster. Non hai accesso ai log dei controller o ai namespace dei controller. La risoluzione dei problemi si concentra sullo stato delle funzionalità, sullo stato dell'applicazione e sulla configurazione.

## La funzionalità è ATTIVA ma le applicazioni non si sincronizzano
<a name="_capability_is_active_but_applications_are_not_syncing"></a>

Se la funzionalità Argo CD mostra `ACTIVE` lo stato ma le applicazioni non si sincronizzano, controllate lo stato della funzionalità e lo stato dell'applicazione.

 **Verifica lo stato della capacità**:

È possibile visualizzare i problemi relativi allo stato e allo stato delle funzionalità nella console EKS o utilizzando la AWS CLI.

 **Console**:

1. Apri la console Amazon EKS all'indirizzo https://console.aws.amazon.com/eks/home \#/clusters.

1. Seleziona il nome del cluster.

1. Scegli la scheda **Osservabilità**.

1. Scegli **Monitora cluster**.

1. Scegli la scheda **Capacità** per visualizzare lo stato e lo stato di tutte le funzionalità.

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

 Cause comuni:
+  **Repository non configurato**: repository Git non aggiunto al CD Argo
+  **Autenticazione fallita**: chiave SSH, token o credenziali non validi CodeCommit 
+  **Applicazione non creata**: non esistono risorse applicative nel cluster
+  **Politica di sincronizzazione**: è richiesta la sincronizzazione manuale (la sincronizzazione automatica non è abilitata)
+  Autorizzazioni **IAM: autorizzazioni** mancanti per il nostro Secrets CodeCommit Manager

 **Controlla lo stato dell'applicazione**:

```
# 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}'
```

 **Verifica le condizioni della domanda**:

```
# 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}'
```

## Applicazioni bloccate nello stato «In corso»
<a name="_applications_stuck_in_progressing_state"></a>

Se un'applicazione viene visualizzata `Progressing` ma non arriva mai`Healthy`, controlla lo stato delle risorse e gli eventi dell'applicazione.

 **Controlla lo stato delle risorse**:

```
# 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"
```

 Cause comuni:
+  **Implementazione non pronta**: i pod non si avviano o le sonde di prontezza non funzionano
+  **Dipendenze tra le risorse**: risorse in attesa che altre risorse siano pronte
+  **Errori di estrazione delle immagini**: le immagini dei contenitori non sono accessibili
+  **Risorse insufficienti**: il cluster non dispone di CPU o memoria per i pod

 **Verifica la configurazione del cluster di destinazione** (per configurazioni a più cluster):

```
# 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
```

## Errori di autenticazione del repository
<a name="_repository_authentication_failures"></a>

Se Argo CD non può accedere ai tuoi repository Git, verifica la configurazione di autenticazione.

 **Per CodeCommit ** i repository:

Verifica che IAM Capability Role disponga delle CodeCommit autorizzazioni:

```
# 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}}
```

Il ruolo richiede l'`codecommit:GitPull`autorizzazione per i repository.

 **Per i repository Git privati**:

Verifica che le credenziali del repository siano configurate correttamente:

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

Assicurati che il segreto contenga le credenziali di autenticazione corrette (chiave SSH, token o). username/password

 **Per i repository che utilizzano 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 problemi di distribuzione
<a name="_multi_cluster_deployment_issues"></a>

Se le applicazioni non vengono distribuite su cluster remoti, verifica la registrazione del cluster e la configurazione dell'accesso.

 **Controlla la registrazione del 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
```

Assicurati che il `server` campo contenga l'ARN del cluster EKS, non l'URL dell'API Kubernetes.

 **Verifica l'accesso al cluster di destinazione**:

Sul cluster di destinazione, verifica che Argo CD Capability Role abbia un Access Entry:

```
# 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}}
```

 **Controlla le autorizzazioni IAM per** più account:

Per le implementazioni su più account, verifica che Argo CD Capability Role abbia un Access Entry sul cluster di destinazione. La funzionalità gestita utilizza EKS Access Entries per l'accesso su più account, non l'assunzione di ruoli IAM.

Per ulteriori informazioni sulla configurazione multi-cluster, consulta. [Registra i cluster di destinazione](argocd-register-clusters.md)

## Fasi successive
<a name="_next_steps"></a>
+  [Considerazioni su Argo CD](argocd-considerations.md)- Considerazioni e best practice su Argo CD
+  [Lavorare con Argo CD](working-with-argocd.md)- Crea e gestisci applicazioni Argo CD
+  [Registra i cluster di destinazione](argocd-register-clusters.md)- Configurazione di implementazioni multi-cluster
+  [Risoluzione dei problemi delle funzionalità EKS](capabilities-troubleshooting.md)- Guida generale alla risoluzione dei problemi relativi alle funzionalità