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 ACK-Funktionen beheben
Dieses Thema enthält Anleitungen zur Fehlerbehebung für die EKS-Funktion für ACK, einschließlich Funktionsprüfungen, Überprüfung des Ressourcenstatus und Probleme mit IAM-Berechtigungen.
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 Funktionsstatus, den Ressourcenstatus und die IAM-Konfiguration.
Die Fähigkeit ist AKTIV, aber es werden keine Ressourcen erstellt
Wenn Ihre ACK-Fähigkeit ACTIVE den Status anzeigt, aber keine Ressourcen erstellt werden AWS, überprüfen Sie den Funktionsstatus, den Ressourcenstatus und die IAM-Berechtigungen.
Überprüfen Sie den Zustand der Fähigkeit:
Sie können Funktionszustands- und Statusprobleme in der EKS-Konsole oder über die AWS CLI anzeigen.
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.
AWS CLI:
# View capability status and health aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-ack # Look for issues in the health section
Häufige Ursachen:
-
IAM-Berechtigungen fehlen: Der Capability-Rolle fehlen die Berechtigungen für den Dienst AWS
-
Falscher Namespace: Ressourcen, die im Namespace ohne den richtigen Selektor erstellt wurden IAMRole
-
Ungültige Ressourcenspezifikation: Überprüfen Sie die Bedingungen für den Ressourcenstatus auf Validierungsfehler
-
API-Drosselung: AWS API-Ratenlimits wurden erreicht
-
Zulassungs-Webhooks: Zulassungs-Webhooks, die den Controller daran hindern, den Ressourcenstatus zu patchen
Überprüfen Sie den Ressourcenstatus:
# Describe the resource to see conditions and events kubectl describe bucket my-bucket -n default # Look for status conditions kubectl get bucket my-bucket -n default -o jsonpath='{.status.conditions}' # View resource events kubectl get events --field-selector involvedObject.name=my-bucket -n default
Überprüfen Sie die IAM-Berechtigungen:
# View the Capability Role's policies aws iam list-attached-role-policies --role-namemy-ack-capability-roleaws iam list-role-policies --role-namemy-ack-capability-role# Get specific policy details aws iam get-role-policy --role-namemy-ack-capability-role--policy-namepolicy-name
Ressourcen, die in Kubernetes erstellt wurden AWS , aber nicht in Kubernetes angezeigt werden
ACK verfolgt nur Ressourcen, die es über Kubernetes-Manifeste erstellt. Verwenden Sie die Adoption-Funktion, um vorhandene AWS Ressourcen mit ACK zu verwalten.
apiVersion: s3.services.k8s.aws/v1alpha1 kind: Bucket metadata: name: existing-bucket annotations: services.k8s.aws/adoption-policy: "adopt-or-create" spec: name: my-existing-bucket-name
Weitere Informationen zur Nutzung von Ressourcen finden Sie unterACK-Konzepte.
Kontoübergreifende Ressourcen werden nicht erstellt
Wenn bei der Verwendung von IAM-Rollenselektoren keine Ressourcen in einem AWS Zielkonto erstellt werden, überprüfen Sie die Vertrauensstellung und IAMRole die Auswahlkonfiguration.
Überprüfen Sie die Vertrauensbeziehung:
# Check the trust policy in the target account role aws iam get-role --role-namecross-account-ack-role--query 'Role.AssumeRolePolicyDocument'
Die Vertrauensrichtlinie muss es der Capability Role des Quellkontos ermöglichen, diese Rolle zu übernehmen.
Bestätigen Sie die IAMRole Selector-Konfiguration:
# List IAMRoleSelectors (cluster-scoped) kubectl get iamroleselector # Describe specific selector kubectl describe iamroleselector my-selector
Überprüfen Sie die Namespace-Ausrichtung:
IAMRoleSelektoren sind Ressourcen im Clusterbereich, die jedoch auf bestimmte Namespaces abzielen. Stellen Sie sicher, dass sich Ihre ACK-Ressourcen in einem Namespace befinden, der dem Namespace-Selektor des Selectors entspricht: IAMRole
# Check resource namespace kubectl get bucketmy-cross-account-bucket-nproduction# List all IAMRoleSelectors (cluster-scoped) kubectl get iamroleselector # Check which namespace the selector targets kubectl get iamroleselectormy-selector-o jsonpath='{.spec.namespaceSelector}'
Ausgewählte Bedingung überprüfen: IAMRole
Stellen Sie sicher, dass der IAMRole Selector erfolgreich Ihrer Ressource zugeordnet wurde, indem Sie die folgende ACK.IAMRoleSelected Bedingung überprüfen:
# Check if IAMRoleSelector was matched kubectl get bucketmy-cross-account-bucket-nproduction-o jsonpath='{.status.conditions[?(@.type=="ACK.IAMRoleSelected")]}'
Wenn die Bedingung zutrifft False oder fehlt, stimmt der IAMRole Namespace-Selektor des Selectors nicht mit dem Namespace der Ressource überein. Stellen Sie sicher, dass die des Selektors mit den namespaceSelector Namespace-Labels Ihrer Ressource übereinstimmen.
Überprüfen Sie die Berechtigungen für Capability Role:
Die Capability-Rolle benötigt eine sts:AssumeRole Berechtigung für die Zielkontorolle:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::[.replaceable]`444455556666`:role/[.replaceable]`cross-account-ack-role`" } ] }
Eine ausführliche kontenübergreifende Konfiguration finden Sie unterACK-Berechtigungen konfigurieren.
Nächste Schritte
-
ACK-Überlegungen für EKS— Überlegungen zu ACK und bewährte Methoden
-
ACK-Berechtigungen konfigurieren— Konfigurieren Sie IAM-Berechtigungen und Muster für mehrere Konten
-
ACK-Konzepte- Verstehen Sie die ACK-Konzepte und den Ressourcenlebenszyklus
-
Problembehebung bei EKS-Funktionen- Allgemeine Hinweise zur Problembehebung