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.
Problembehebung bei EKS-Funktionen
Dieses Thema enthält allgemeine Anleitungen zur Fehlerbehebung bei EKS-Funktionen, einschließlich Funktionsprüfungen, häufig auftretenden Problemen und Links zur funktionsspezifischen Problembehebung.
Anmerkung
Die EKS-Funktionen werden vollständig verwaltet und außerhalb Ihres Clusters ausgeführt. Sie haben keinen Zugriff auf Controller-Logs oder Controller-Namespaces. Die Fehlerbehebung konzentriert sich auf den Zustand der Funktionen, den Ressourcenstatus und die Konfiguration.
Allgemeiner Ansatz zur Fehlerbehebung
Gehen Sie bei der Behebung von Problemen mit EKS-Funktionen wie folgt vor:
-
Funktionsstatus überprüfen: Dient
aws eks describe-capabilityzum Anzeigen des Funktionsstatus und der Integritätsprobleme -
Überprüfen Sie den Ressourcenstatus: Überprüfen Sie die von Ihnen erstellten Kubernetes-Ressourcen (CRDs) auf Statusbedingungen und Ereignisse
-
Überprüfen Sie die IAM-Berechtigungen: Stellen Sie sicher, dass die Capability Role über die erforderlichen Berechtigungen verfügt
-
Konfiguration überprüfen: Stellen Sie sicher, dass die funktionsspezifische Konfiguration korrekt ist
Überprüfen Sie den Zustand der Funktionen
Alle EKS-Funktionen stellen Statusinformationen ü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 Clusternamen 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 \ --region region-code \ --cluster-name my-cluster \ --capability-name my-capability-name
Die Antwort enthält:
-
Status: Aktueller Funktionsstatus (
CREATING,ACTIVE,UPDATING,DELETING,CREATE_FAILED,UPDATE_FAILED) -
Health: Gesundheitsinformationen, einschließlich aller Probleme, die von der Fähigkeit erkannt wurden
Allgemeine Status der Fähigkeiten
ERSTELLUNG: Die Fähigkeit wird eingerichtet.
AKTIV: Die Funktion läuft und ist einsatzbereit. Wenn Ressourcen nicht wie erwartet funktionieren, überprüfen Sie den Ressourcenstatus und die IAM-Berechtigungen.
AKTUALISIERUNG: Die Konfigurationsänderungen werden übernommen. Warten Sie, bis der Status wieder angezeigt wirdACTIVE.
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 IAM-Rollen ist falsch oder fehlt
-
Die IAM-Rolle ist nicht vorhanden oder es kann nicht darauf zugegriffen werden
-
Probleme mit dem Clusterzugriff
-
Ungültige Konfigurationsparameter
Überprüfen Sie den Kubernetes-Ressourcenstatus
EKS-Funktionen erstellen und verwalten benutzerdefinierte Kubernetes-Ressourcendefinitionen (CRDs) in Ihrem Cluster. Überprüfen Sie bei der Fehlerbehebung den Status der Ressourcen, die Sie erstellt haben:
# List resources of a specific type kubectl getresource-kind-A # Describe a specific resource to see conditions and events kubectl describeresource-kindresource-name-nnamespace# View resource status conditions kubectl getresource-kindresource-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 Stand der Versöhnung
Überprüfen Sie die IAM-Berechtigungen und den Clusterzugriff
Viele Funktionsprobleme sind auf Probleme mit IAM-Berechtigungen oder eine fehlende Cluster-Zugriffskonfiguration zurückzuführen. Überprüfen Sie sowohl die Berechtigungen für die Capability Role als auch die Clusterzugriffseinträge.
Überprüfen Sie die IAM-Rollenberechtigungen
Stellen Sie sicher, dass die Capability-Rolle ü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 für die Capability Role. Fehlt die Fähigkeit, kann sie nicht auf den Cluster zugreifen.
Überprüfen Sie die dem Eintrag beigefügten Zugriffsrichtlinien:
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 zum Erstellen und Verwalten von Kubernetes-Ressourcen
-
kro: Benötigt Berechtigungen zum Erstellen und Verwalten von Kubernetes-Ressourcen
-
Argo CD: Benötigt Berechtigungen zum Erstellen und Verwalten von Anwendungen und erfordert Zugriffseinträge auf Remote-Zielclustern für Bereitstellungen mit mehreren Clustern
Für Argo CD-Bereitstellungen mit mehreren Clustern:
Stellen Sie bei der Bereitstellung auf Remote-Clustern sicher, dass die Capability Role auf jedem Zielcluster über einen Zugriffseintrag 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-Eintrag auf einem Zielcluster fehlt, kann Argo CD keine Anwendungen darauf bereitstellen. Einzelheiten Zielcluster registrieren zur Konfiguration finden Sie unter.
Funktionsspezifische Problembehebung
Eine ausführliche Anleitung zur Problembehebung, die für jeden Funktionstyp spezifisch ist, finden Sie unter:
-
Probleme mit ACK-Funktionen beheben- Problembehandlung bei der Erstellung von ACK-Ressourcen, IAM-Berechtigungen und kontenübergreifendem Zugriff
-
Probleme mit den Funktionen von Argo CD beheben- Problembehebung bei der Anwendungssynchronisierung, Repository-Authentifizierung und Multi-Cluster-Bereitstellungen
-
Probleme mit KRO-Funktionen beheben- Problembehandlung ResourceGraphDefinitions, CEL-Ausdrücke und RBAC-Berechtigungen
Häufig auftretende Probleme in allen Funktionen
Die Fähigkeit steckt im Status CREATING fest
Wenn eine Fähigkeit länger als erwartet im CREATING Status verbleibt:
-
Überprüfen Sie den Funktionsstatus auf bestimmte Probleme in der Konsole (Observability > Monitor Cluster > Registerkarte Capabilities) oder mithilfe der AWS CLI:
aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-capability-name \ --query 'capability.health' -
Stellen Sie sicher, dass die IAM-Rolle existiert und über die richtige Vertrauensrichtlinie verfügt
-
Stellen Sie sicher, dass Ihr Cluster zugänglich und fehlerfrei ist
-
Suchen Sie nach Problemen auf Clusterebene, die die Einrichtung von Funktionen verhindern könnten
Ressourcen werden nicht erstellt oder aktualisiert
Wenn die Funktion aktiviert istACTIVE, aber Ressourcen 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
Es werden gesundheitliche Probleme describe-capability angezeigt:
-
Lesen Sie die Problembeschreibungen sorgfältig durch — sie weisen häufig auf das spezifische Problem hin
-
Gehen Sie der Ursache nach (IAM-Berechtigungen, Konfigurationsfehler usw.)
-
Die Funktion wird automatisch wiederhergestellt, sobald das Problem behoben ist
Nächste Schritte
-
Mit Capability-Ressourcen arbeiten- Ressourcen für Fähigkeiten verwalten
-
Probleme mit ACK-Funktionen beheben- ACK-spezifische Fehlerbehebung
-
Probleme mit den Funktionen von Argo CD beheben- CD-spezifische Problembehebung für Argo
-
Probleme mit KRO-Funktionen beheben- Kro-spezifische Problembehebung
-
Sicherheitsüberlegungen für EKS-Funktionen- Bewährte Sicherheitsmethoden für Funktionen