Probleme mit den Funktionen von Argo CD beheben - Amazon EKS

Unterstützung für die Verbesserung dieser Seite beitragen

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Probleme mit den Funktionen von Argo CD beheben

Dieses Thema enthält Anleitungen zur Fehlerbehebung für die EKS-Capability for Argo-CD, einschließlich Funktionsprüfungen, Problemen mit der Anwendungssynchronisierung, Repository-Authentifizierung und Bereitstellungen in mehreren Clustern.

Anmerkung

Die EKS-Funktionen werden vollständig verwaltet und außerhalb Ihres Clusters ausgeführt. Sie haben keinen Zugriff auf die Argo CD-Serverprotokolle oder den argocd Namespace. Die Fehlerbehebung konzentriert sich auf den Zustand der Funktionen, den Anwendungsstatus und die Konfiguration.

Die Funktion ist AKTIV, aber die Anwendungen werden nicht synchronisiert

Wenn Ihre Argo-CD-Funktion ACTIVE den Status anzeigt, Anwendungen aber nicht synchronisiert werden, überprüfen Sie den Funktionsstatus und den Anwendungsstatus.

Überprüfen Sie den Zustand der Funktionen:

Sie können Funktionszustands- und Statusprobleme in der EKS-Konsole oder über die AWS CLI anzeigen.

Konsole:

  1. Öffnen Sie die Amazon EKS-Konsole unter https://console.aws.amazon.com/eks/home#/clusters.

  2. Wählen Sie Ihren Clusternamen aus.

  3. Wählen Sie den Registerkarte Beobachtbarkeit.

  4. Wählen Sie Cluster überwachen aus.

  5. Wählen Sie die Registerkarte Funktionen, um den Zustand und den Status aller Funktionen anzuzeigen.

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

Häufige Ursachen:

  • Repository nicht konfiguriert: Git-Repository wurde nicht zur Argo-CD hinzugefügt

  • Authentifizierung fehlgeschlagen: SSH-Schlüssel, Token oder CodeCommit Anmeldeinformationen sind ungültig

  • Anwendung nicht erstellt: Im Cluster sind keine Anwendungsressourcen vorhanden

  • Synchronisierungsrichtlinie: Manuelle Synchronisierung erforderlich (automatische Synchronisierung nicht aktiviert)

  • IAM-Berechtigungen: Fehlende Berechtigungen für CodeCommit oder Secrets Manager

Überprüfen Sie den Status der Bewerbung:

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

Überprüfen Sie die Bewerbungsbedingungen:

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

Anwendungen bleiben im Status „In Bearbeitung“ hängen

Wenn eine Anwendung angezeigt wird, Progressing aber nie erreicht wirdHealthy, überprüfen Sie den Ressourcenstatus und die Ereignisse der Anwendung.

Überprüfen Sie den Zustand der Ressourcen:

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

Häufige Ursachen:

  • Bereitstellung nicht bereit: Pods können nicht gestartet werden oder Bereitschaftstests schlagen fehl

  • Ressourcenabhängigkeiten: Ressourcen, die darauf warten, dass andere Ressourcen bereit sind

  • Fehler beim Abrufen von Bildern: Auf Container-Images kann nicht zugegriffen werden

  • Unzureichende Ressourcen: Dem Cluster fehlt es an CPU oder Arbeitsspeicher für Pods

Überprüfen Sie die Zielclusterkonfiguration (für Multi-Cluster-Setups):

# 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

Fehler beim Repository-Authentifizierung

Wenn Argo CD nicht auf Ihre Git-Repositorys zugreifen kann, überprüfen Sie die Authentifizierungskonfiguration.

Für CodeCommit Repositorys:

Stellen Sie sicher, dass die IAM-Capability-Rolle über Berechtigungen verfügt CodeCommit :

# 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

Die Rolle benötigt eine codecommit:GitPull Genehmigung für die Repositorys.

Für private Git-Repositorys:

Stellen Sie sicher, dass die Repository-Anmeldeinformationen korrekt konfiguriert sind:

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

Stellen Sie sicher, dass das Geheimnis die richtigen Authentifizierungsdaten (SSH-Schlüssel, Token oder Benutzername/Passwort) enthält.

Für Repositorien, die Secrets Manager verwenden:

# 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

Probleme bei der Bereitstellung mehrerer Cluster

Wenn Anwendungen nicht auf Remote-Clustern bereitgestellt werden, überprüfen Sie die Clusterregistrierung und die Zugriffskonfiguration.

Überprüfen Sie die Clusterregistrierung:

# 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

Stellen Sie sicher, dass das server Feld den EKS-Cluster-ARN und nicht die Kubernetes-API-URL enthält.

Überprüfen Sie den Zugriffseintrag für den Zielcluster:

Überprüfen Sie auf dem Zielcluster, ob die Argo-CD-Capability-Rolle über einen Zugriffseintrag verfügt:

# 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

Überprüfen Sie die IAM-Berechtigungen für kontoübergreifend:

Stellen Sie bei kontoübergreifenden Bereitstellungen sicher, dass die Argo-CD-Capability-Rolle über einen Zugriffseintrag auf dem Zielcluster verfügt. Die verwaltete Funktion verwendet EKS-Zugriffseinträge für den kontoübergreifenden Zugriff und nicht für die Übernahme von IAM-Rollen.

Weitere Informationen zur Konfiguration mehrerer Cluster finden Sie unter. Zielcluster registrieren

Nächste Schritte