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 unter, 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.
Fehlerbehebung bei EKS-Funktionen
Anmerkung
EKS-Funktionen werden vollständig verwaltet und außerhalb Ihres Clusters ausgeführt. Sie haben keinen direkten Zugriff auf Controller-Namespaces. Die Problembehandlung konzentriert sich auf den Zustand der Funktionen, den Ressourcenstatus, die Konfiguration und die Controller-Protokolle. Sie können die Übertragung von Controller-Protokollen konfigurieren, um Einblick in das Controller-Verhalten zu erhalten. Siehe Zugriff auf EKS Capabilities Controller-Protokolle.
Allgemeiner Ansatz zur Fehlerbehebung
Gehen Sie bei der Fehlerbehebung bei EKS-Funktionen wie folgt vor:
-
Funktionsstatus überprüfen: Verwenden Sie diese
aws eks describe-capabilityOption, um den Funktionsstatus und Statusprobleme anzuzeigen -
Überprüfen Sie den Ressourcenstatus: Überprüfen Sie die von Ihnen erstellten Kubernetes-Ressourcen (CRDs) auf Status, Bedingungen und Ereignisse
-
Überprüfen Sie die Controller-Protokolle: Wenn die Protokollzustellung konfiguriert ist, fragen Sie die Controller-Protokolle nach Fehlern und Abstimmungsdetails ab
-
Überprüfen Sie die IAM-Berechtigungen: Stellen Sie sicher, dass die Capability-Rolle über die erforderlichen Berechtigungen verfügt
-
Konfiguration überprüfen: Stellen Sie sicher, dass die funktionsspezifische Konfiguration korrekt ist
Verwenden Sie Controller-Protokolle zur Fehlerbehebung
Wenn Sie die Controller-Protokollzustellung konfiguriert haben (sieheZugriff auf EKS Capabilities Controller-Protokolle), können Sie Protokolle abfragen, um Abstimmungsfehler, Ressourcenkonflikte und Konfigurationsprobleme zu identifizieren.
Fehler auf allen Controllern abfragen
fields @timestamp, controller, message, error | filter level = "error" | sort @timestamp desc | limit 50
Filtern Sie Protokolle für einen bestimmten ACK Service Controller
Verwenden Sie das controllerGroup Feld, um Protokolle von einem bestimmten ACK Service Controller zu isolieren:
fields @timestamp, message, error | filter controllerGroup = "s3.services.k8s.aws" | filter level = "error" | sort @timestamp desc
Um weiter nach der Art der Ressource zu filtern (z. B. nur SecurityGroup Protokolle vom EC2-Controller):
fields @timestamp, message, error | filter controllerGroup = "ec2.services.k8s.aws" | filter controllerKind = "SecurityGroup" | sort @timestamp desc | limit 100
Filtern Sie die Protokolle für eine bestimmte Argo-CD-Anwendung
Verwenden Sie das application Feld, um Protokolle für eine bestimmte Argo-CD-Anwendung zu isolieren:
fields @timestamp, message, error | filter application = "my-application" | sort @timestamp desc | limit 100
Verfolgen Sie den Abgleich für eine bestimmte Ressource
Verwenden Sie das reconcileID Feld, um einen einzelnen Abstimmungszyklus zu verfolgen:
fields @timestamp, level, message, error | filter reconcileID = "your-reconcile-id" | sort @timestamp asc
Allgemeine Protokollmuster, die auf Probleme hinweisen
-
Wiederholte Abgleichsfehler — Der Controller kann den gewünschten Status für eine Ressource nicht erreichen. Überprüfen Sie das
errorFeld auf Details wie IAM-Berechtigungsfehler oder ungültige Ressourcenkonfigurationen. -
„Abgleichfehler“ mit AWS API-Fehler — Der Capability-Rolle fehlen möglicherweise die Berechtigungen für den jeweiligen AWS Dienstvorgang. Überprüfen Sie die Fehlermeldung und aktualisieren Sie die IAM-Richtlinien entsprechend.
-
Keine Protokolleinträge für eine Ressource — Wenn Sie keine Protokolle für eine Ressource sehen, von der Sie erwarten, dass der Controller einen Abgleich durchführt, überprüfen Sie, ob die Funktion vorhanden ist
ACTIVEund ob die Ressource in einem Namespace vorhanden ist, auf den die Capability zugreifen kann.
Überprüfen Sie den Zustand der Funktion
Alle EKS-Funktionen stellen Gesundheitsinformationen über die EKS-Konsole und die describe-capability API bereit.
Konsole:
-
Öffnen Sie die Amazon EKS-Konsole unter https://console.aws.amazon.com/eks/home #/clusters.
-
Wählen Sie Ihren Cluster-Namen aus.
-
Wählen Sie den Registerkarte Beobachtbarkeit.
-
Wählen Sie Cluster überwachen aus.
-
Wählen Sie die Registerkarte „Funktionen“, um den Zustand und den Status aller Funktionen anzuzeigen.
Auf der Registerkarte „Funktionen“ wird Folgendes angezeigt:
-
Name und Typ der Fähigkeit
-
Aktueller Status
-
Gesundheitsprobleme mit Beschreibung
AWS CLI:
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-capability-name
Die Antwort enthält:
-
status: Aktueller Funktionsstatus (
CREATING,ACTIVE,UPDATING,DELETING,CREATE_FAILED,UPDATE_FAILED) -
Zustand: Gesundheitsinformationen, einschließlich aller Probleme, die von der Fähigkeit erkannt wurden
Allgemeine Funktionsstatus
WIRD ERSTELLT: Die Fähigkeit wird gerade eingerichtet.
AKTIV: Die Funktion wird ausgeführt und ist einsatzbereit. Wenn Ressourcen nicht wie erwartet funktionieren, überprüfen Sie den Ressourcenstatus und die IAM-Berechtigungen.
AKTUALISIERUNG: Konfigurationsänderungen werden angewendet. Warten Sie, bis der Status wieder erreicht istACTIVE.
CREATE_FAILED oder UPDATE_FAILED: Beim Setup oder Update ist ein Fehler aufgetreten. Einzelheiten finden Sie im Abschnitt „Gesundheit“. Häufige Ursachen:
-
Die Vertrauensrichtlinie für die IAM-Rolle ist falsch oder fehlt
-
Die IAM-Rolle ist nicht vorhanden oder es kann nicht darauf zugegriffen werden
-
Probleme mit dem Cluster-Zugriff
-
Ungültige Konfigurationsparameter
Überprüfen Sie den Status der Kubernetes-Ressource
EKS-Funktionen erstellen und verwalten benutzerdefinierte Kubernetes-Ressourcendefinitionen (CRDs) in Ihrem Cluster. Überprüfen Sie bei der Fehlerbehebung den Status der von Ihnen erstellten Ressourcen:
# List resources of a specific type kubectl getresource-kind-A # Describe a specific resource to see conditions and events kubectl describeresource-kind resource-name-nnamespace# View resource status conditions kubectl getresource-kind resource-name-nnamespace-o jsonpath='{.status.conditions}' # View events related to the resource kubectl get events --field-selector involvedObject.name=resource-name-nnamespace
Die Bedingungen für den Ressourcenstatus geben Aufschluss über:
-
Ob die Ressource bereit ist
-
Alle aufgetretenen Fehler
-
Aktueller Status des Abgleichs
Überprüfen Sie die IAM-Berechtigungen und den Cluster-Zugriff
Viele Funktionsprobleme sind auf IAM-Berechtigungsprobleme oder eine fehlende Konfiguration des Clusterzugriffs zurückzuführen. Überprüfen Sie sowohl die Capability Role Permissions als auch die Cluster-Zugriffseinträge.
Überprüfen Sie die IAM-Rollenberechtigungen
Stellen Sie sicher, dass die Capability Role über die erforderlichen Berechtigungen verfügt:
# List attached managed policies aws iam list-attached-role-policies --role-namemy-capability-role# List inline policies aws iam list-role-policies --role-namemy-capability-role# Get specific policy details aws iam get-role-policy --role-namemy-capability-role--policy-namepolicy-name# View the role's trust policy aws iam get-role --role-namemy-capability-role--query 'Role.AssumeRolePolicyDocument'
Die Vertrauensrichtlinie muss dem capabilities.eks.amazonaws.com Dienstprinzipal Folgendes ermöglichen:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "capabilities.eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Überprüfen Sie die EKS-Zugriffseinträge und Zugriffsrichtlinien
Für alle Funktionen sind die richtigen EKS-Zugriffseinträge und Zugriffsrichtlinien auf dem Cluster erforderlich, auf dem sie ausgeführt werden.
Stellen Sie sicher, dass der Zugriffseintrag vorhanden ist:
aws eks list-access-entries \ --cluster-namemy-cluster\ --regionregion-code
Suchen Sie in der Liste nach dem ARN der Capability Role. Wenn sie fehlt, kann die Fähigkeit nicht auf den Cluster zugreifen.
Überprüfen Sie die Zugriffsrichtlinien, die dem Eintrag beigefügt sind:
aws eks list-associated-access-policies \ --cluster-namemy-cluster\ --principal-arnarn:aws:iam::111122223333:role/my-capability-role\ --regionregion-code
Für alle Funktionen sind entsprechende Zugriffsrichtlinien erforderlich:
-
ACK: Benötigt Berechtigungen, um Kubernetes-Ressourcen zu erstellen und zu verwalten
-
kro: Benötigt Berechtigungen, um Kubernetes-Ressourcen zu erstellen und zu verwalten
-
Argo CD: Benötigt Berechtigungen zum Erstellen und Verwalten von Anwendungen und benötigt Zugriffseinträge auf Remote-Zielclustern für Multi-Cluster-Bereitstellungen
Für Argo CD-Multi-Cluster-Bereitstellungen:
Stellen Sie bei der Bereitstellung auf Remote-Clustern sicher, dass die Capability-Rolle über einen Zugriffseintrag auf jedem Zielcluster verfügt:
# Check Access Entry on target cluster aws eks describe-access-entry \ --cluster-nametarget-cluster\ --principal-arnarn:aws:iam::111122223333:role/argocd-capability-role\ --regionregion-code
Wenn der Access Entry auf einem Zielcluster fehlt, kann Argo CD keine Anwendungen darauf bereitstellen. Einzelheiten Zielcluster registrieren zur Konfiguration finden Sie unter.
Capability-specific Problembehandlung
Eine ausführliche Anleitung zur Problembehandlung für jeden Funktionstyp finden Sie unter
-
Probleme mit ACK-Funktionen beheben- Problembehebung bei der Erstellung von ACK-Ressourcen, IAM-Berechtigungen und kontoübergreifendem Zugriff
-
Beheben Sie Probleme mit den Funktionen von Argo CD- Probleme bei der Anwendungssynchronisierung, Repository-Authentifizierung und Multi-Cluster-Bereitstellungen beheben
-
Probleme mit Kro-Funktionen beheben- Problembehandlung ResourceGraphDefinitions, CEL-Ausdrücke und RBAC-Berechtigungen
Häufige Probleme bei allen Funktionen
Die Fähigkeit steckt im Status CREATING fest
Wenn eine Fähigkeit länger als erwartet im CREATING Status verbleibt:
-
Prüfen Sie den Zustand der Funktion auf bestimmte Probleme in der Konsole (Observability > Monitor Cluster > Registerkarte Capabilities) oder mithilfe der AWS CLI:
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-capability-name\ --query 'capability.health' -
Stellen Sie sicher, dass die IAM-Rolle existiert und die richtige Vertrauensrichtlinie hat
-
Stellen Sie sicher, dass Ihr Cluster zugänglich und fehlerfrei ist
-
Suchen Sie nach Problemen auf Cluster-Ebene, die die Einrichtung von Funktionen verhindern könnten
Ressourcen werden nicht erstellt oder aktualisiert
Wenn die Funktion aktiviert istACTIVE, Ressourcen aber nicht erstellt oder aktualisiert werden:
-
Überprüfen Sie den Ressourcenstatus auf Fehlerbedingungen
-
Überprüfen Sie die IAM-Berechtigungen für die spezifischen AWS Dienste (ACK) oder Repositorys (Argo CD)
-
Überprüfen Sie die RBAC-Berechtigungen für die Erstellung der zugrunde liegenden Ressourcen (kro)
-
Überprüfen Sie die Ressourcenspezifikationen auf Validierungsfehler
Der Zustand der Fähigkeiten weist Probleme auf
Wenn describe-capability gesundheitliche Probleme auftreten:
-
Lesen Sie sich die Problembeschreibungen sorgfältig durch — sie weisen oft auf das spezifische Problem hin
-
Beheben Sie die Grundursache (IAM-Berechtigungen, Konfigurationsfehler usw.)
-
Die Funktion wird automatisch wiederhergestellt, sobald das Problem behoben ist
Nächste Schritte
-
Arbeiten mit Kapazitätsressourcen- Kapazitätsressourcen verwalten
-
Probleme mit ACK-Funktionen beheben- ACK-specific Problembehandlung
-
Beheben Sie Probleme mit den Funktionen von Argo CD- Argo-Fehlerbehebung CD-specific
-
Probleme mit Kro-Funktionen beheben- Kro-spezifische Fehlerbehebung
-
Sicherheitsüberlegungen für EKS-Funktionen- Bewährte Sicherheitsmethoden für Funktionen