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.
Probleme mit ACK-Funktionen beheben
Anmerkung
EKS-Funktionen werden vollständig verwaltet und außerhalb Ihres Clusters ausgeführt. Sie haben keinen direkten Zugriff auf Controller-Namespaces. Sie können die Controller-Protokollübermittlung konfigurieren, um Einblick in das Controller-Verhalten zu erhalten. Siehe Zugriff auf EKS Capabilities Controller-Protokolle. Die Problembehandlung konzentriert sich auf den Zustand der Funktionen, den Ressourcenstatus und die IAM-Konfiguration.
Die Funktion 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 Zustand der Fähigkeit, den Ressourcenstatus und die IAM-Berechtigungen.
Überprüfen Sie den Zustand der Fähigkeit:
Sie können Probleme mit dem Status und dem Status von Fähigkeiten in der EKS-Konsole oder mithilfe der AWS CLI anzeigen.
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.
AWS CLI:
# View capability status and health aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-ack# Look for issues in the health section
Häufige Ursachen:
-
IAM-Berechtigungen fehlen: Der Capability Role fehlen die Berechtigungen für den Dienst AWS
-
Falscher Namespace: Ressourcen, die im Namespace ohne den richtigen Namen erstellt wurden IAMRoleSelector
-
Ungültige Ressourcenspezifikation: Überprüfen Sie die Bedingungen für den Ressourcenstatus auf Validierungsfehler
-
API-Drosselung: Die AWS API-Ratenlimits werden erreicht
-
Zulassungs-Webhooks: Zulassungs-Webhooks blockieren den Controller daran, den Ressourcenstatus zu patchen
Überprüfen Sie den Ressourcenstatus:
# Describe the resource to see conditions and events kubectl describe bucketmy-bucket-n default # Look for status conditions kubectl get bucketmy-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, erstellt in AWS aber nicht in Kubernetes angezeigt
ACK verfolgt nur Ressourcen, die es über Kubernetes-Manifeste erstellt. Verwenden Sie die Adoptionsfunktion, 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 Einführung von Ressourcen finden Sie unterACK-Konzepte.
Cross-account Ressourcen werden nicht erstellt
Wenn Ressourcen nicht in einem AWS Zielkonto erstellt werden, wenn Sie IAM-Role Selectors verwenden, überprüfen Sie die Vertrauensstellung und IAMRoleSelector Konfiguration.
Ü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 zu übernehmen.
IAMRoleSelector Konfiguration bestätigen:
# List IAMRoleSelectors (cluster-scoped) kubectl get iamroleselector # Describe specific selector kubectl describe iamroleselectormy-selector
Überprüfen Sie die Ausrichtung des Namespaces:
IAMRoleSelectors sind Ressourcen im Clusterbereich, zielen aber auf bestimmte Namespaces ab. Stellen Sie sicher, dass sich Ihre ACK-Ressourcen in einem Namespace befinden, der dem Namespace-Selektor von entspricht: IAMRoleSelector
# 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}'
Zustand überprüfen: IAMRoleSelected
Stellen Sie sicher, dass der erfolgreich Ihrer Ressource zugeordnet IAMRoleSelector wurde, indem Sie die 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, IAMRoleSelector stimmt der Namespace-Selektor der Ressource nicht mit dem Namespace der Ressource überein. Stellen Sie sicher, dass der Selektor mit den namespaceSelector Namespace-Bezeichnungen Ihrer Ressource übereinstimmt.
Überprüfen Sie die Berechtigungen für Capability Role:
Die Anforderungen sts:AssumeRole und sts:TagSession Berechtigungen der Capability-Rolle für die Zielkonto-Rolle:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["sts:AssumeRole", "sts:TagSession"], "Resource":"arn:aws:iam::444455556666:role/cross-account-ack-role"} ] }
Eine ausführliche kontoübergreifende Konfiguration finden Sie unterACK-Berechtigungen konfigurieren.
Nächste Schritte
-
ACK-Überlegungen für EKS- Überlegungen und bewährte Methoden des ACK
-
ACK-Berechtigungen konfigurieren- Konfigurieren Sie IAM-Berechtigungen und Muster für mehrere Konten
-
ACK-Konzepte- Verstehen Sie die ACK-Konzepte und den Ressourcenlebenszyklus
-
Fehlerbehebung bei EKS-Funktionen- Allgemeine Hinweise zur Fehlerbehebung bei Funktionen