Risolvi i problemi relativi alle funzionalità di Argo CD - Amazon EKS

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

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

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#/clusters.

  2. Seleziona il nome del cluster.

  3. Scegli la scheda Osservabilità.

  4. Scegli Monitora cluster.

  5. 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»

Se un'applicazione viene visualizzata Progressing ma non arriva maiHealthy, 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

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

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

Fasi successive