

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

Questo argomento fornisce linee guida per la risoluzione dei problemi del CD EKS Capability for Argo, compresi i controlli dello stato delle funzionalità, i problemi di sincronizzazione delle applicazioni, l'autenticazione del repository e le implementazioni multi-cluster.

**Nota**  
Le funzionalità EKS sono completamente gestite ed eseguite all'esterno del cluster. Non avete accesso ai log del server Argo CD o al namespace. `argocd` 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_arent_syncing"></a>

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

 **Verifica lo stato della funzionalità**:

È 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 a https://console.aws.amazon.com/eks/ home\$1/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 nome utente/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
```

## Problemi di distribuzione su più cluster
<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::[.replaceable]111122223333:role/my-argocd-capability-role
```

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

Per le distribuzioni tra 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à