

 **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 beim Amazon EKS Hybrid Nodes Gateway
<a name="hybrid-nodes-gateway-troubleshooting"></a>

Diese Seite bietet Anleitungen zur Diagnose und Lösung häufiger Probleme mit dem Amazon EKS Hybrid Nodes Gateway. Jeder Abschnitt beschreibt ein Symptom, mögliche Ursachen, Diagnoseschritte und Lösungen. Einzelheiten zur Bedienung finden Sie unter[Gateway-Betrieb von Amazon EKS Hybrid Nodes](hybrid-nodes-gateway-operations.md).

## Pods auf Hybridknoten, die von VPC aus nicht erreichbar sind
<a name="hybrid-nodes-gateway-ts-unreachable"></a>

Pods, die auf Hybridknoten ausgeführt werden, sind von Ressourcen in der VPC wie EC2-Instances, Load Balancers oder der Kubernetes-Steuerungsebene aus nicht erreichbar.

 **Mögliche Ursachen:** 
+ Die Einträge in der VPC-Routing-Tabelle fehlen oder verweisen auf die falsche ENI.
+ Der Gateway-Leader-Pod läuft nicht oder die Einrichtung wurde noch nicht abgeschlossen.
+ Cilium VTEP ist auf den Hybridknoten nicht aktiviert oder konfiguriert.
+ Source/destination Check ist auf der Gateway-EC2-Instance aktiviert.

 **Diagnoseschritte: ** 

1.  **Überprüfen Sie die Einträge in der VPC-Routing-Tabelle. ** Stellen Sie sicher, dass Routen für Ihre Hybrid-Pod-CIDRs existieren und auf die primäre ENI der aktiven Gateway-Instance verweisen:

   ```
   aws ec2 describe-route-tables \
     --route-table-ids {{ROUTE_TABLE_ID}} \
     --query "RouteTables[].Routes[?DestinationCidrBlock=='POD_CIDR']"
   ```

   Wenn Routen fehlen, überprüfen Sie die Gateway-Protokolle auf Fehler in der Routing-Tabelle. Wenn Routen auf die falsche ENI verweisen, wurde ein Failover möglicherweise nicht erfolgreich abgeschlossen.

1.  **Prüfen Sie den Gateway-Pod-Status und die Wahl des Leiters. ** Vergewissern Sie sich, dass zwei Gateway-Pods laufen und einer den Leader-Lease besitzt:

   ```
   kubectl get pods -n eks-hybrid-nodes-gateway
   kubectl get lease -n eks-hybrid-nodes-gateway
   ```

   Wenn kein Pod den Leasingvertrag erfüllt, finden Sie weitere Informationen unter[Fragen zur Wahl des Vorsitzenden](#hybrid-nodes-gateway-ts-leader).

1.  **Überprüfen Sie die Cilium VTEP-Konfiguration auf Hybridknoten. ** Stellen Sie sicher, dass die `CiliumVTEPConfig` Ressource existiert und die Knoten-IP des Leaders enthält:

   ```
   kubectl get ciliumvtepconfig hybrid-gateway -o yaml
   ```

   Die `spec.endpoints[0].tunnelEndpoint` sollte mit der IP-Adresse des Leader-Gateway-Knotens übereinstimmen. Wenn die Ressource fehlt oder eine veraltete IP-Adresse hat, hat das Gateway das Leader-Setup möglicherweise nicht abgeschlossen.

1.  **Überprüfen Sie das source/destination Häkchen. ** Stellen Sie sicher, dass die source/destination Prüfung auf den Gateway-EC2-Instances deaktiviert ist:

   ```
   aws ec2 describe-instance-attribute \
     --instance-id {{GATEWAY_INSTANCE_ID}} \
     --attribute sourceDestCheck
   ```

   Wenn ja `sourceDestCheck``true`, deaktivieren Sie sie. Siehe [Erste Schritte mit dem EKS Hybrid Nodes Gateway](hybrid-nodes-gateway-getting-started.md).

## Webhook-Aufrufe an Hybridknoten schlagen fehl
<a name="hybrid-nodes-gateway-ts-webhooks"></a>

Der Kubernetes-API-Server kann Webhook-Endpunkte, die auf Hybridknoten ausgeführt werden, nicht erreichen. Bei Webhook-Zulassungsanfragen kommt es zu einer Zeitüberschreitung oder es werden Verbindungsfehler zurückgegeben.

 **Mögliche Ursachen:** 
+ Das Gateway leitet den Datenverkehr nicht von der Steuerungsebene zu den Hybrid-Pods weiter.
+ Die `CiliumVTEPConfig` Ressource fehlt oder hat eine veraltete Endpunkt-IP.

 **Diagnoseschritte: ** 

1.  **Stellen Sie sicher, dass die Steuerungsebene die IP-Adresse des Gateway-Knotens erreichen kann. ** Die Steuerungsebene sendet den Datenverkehr an die VPC-Routing-Tabelle, die ihn an die ENI des Gateways weiterleitet. Bestätigen Sie anhand der Schritte unter, ob die Einträge in der VPC-Routing-Tabelle korrekt sind. [Pods auf Hybridknoten, die von VPC aus nicht erreichbar sind](#hybrid-nodes-gateway-ts-unreachable)

1.  **Überprüfen Sie die Ressource CiliumVTEPConfig. ** Stellen Sie sicher, dass die Ressource existiert und `tunnelEndpoint` mit der Knoten-IP des aktuellen Leaders übereinstimmt:

   ```
   kubectl get ciliumvtepconfig hybrid-gateway -o yaml
   ```

   Wenn der Tunnelendpunkt veraltet ist (er zeigt auf einen früheren Leader), hat das Gateway die Leader-Setup-Sequenz möglicherweise nicht abgeschlossen. Überprüfen Sie die Gateway-Protokolle auf Fehler beim `CiliumVTEPConfig` Upsert.

## Die Aktualisierung der VPC-Routing-Tabelle schlägt fehl
<a name="hybrid-nodes-gateway-ts-routes"></a>

In den Gateway-Protokollen werden Fehler im Zusammenhang mit den Vorgängen der VPC-Routing-Tabelle angezeigt, und Routen für Hybrid-Pod-CIDRs werden nicht erstellt oder aktualisiert.

 **Mögliche Ursachen:** 
+ Die IAM-Rolle des Gateways verfügt nicht über die erforderlichen EC2-Berechtigungen.
+ Die Routing-Tabellen-IDs in der Konfiguration sind falsch oder die Routing-Tabellen sind nicht vorhanden.
+ Das Gateway kann den EC2-API-Endpunkt nicht erreichen.

 **Diagnoseschritte: ** 

1.  **Überprüfen Sie die IAM-Berechtigungen. ** Das Gateway erfordert die folgenden IAM-Aktionen:
   +  `ec2:DescribeRouteTables` 
   +  `ec2:CreateRoute` 
   +  `ec2:ReplaceRoute` 
   +  `ec2:DescribeInstances` 

     Überprüfen Sie die IAM-Rolle, die dem Instanzprofil oder der Pod-Identitätskonfiguration des Gateway-Knotens zugeordnet ist.

1.  **Überprüfen Sie die Routing-Tabellen-IDs in der Konfiguration. ** Stellen Sie sicher, dass die `ROUTE_TABLE_IDS` Umgebungsvariable gültige Routing-Tabellen-IDs in der Gateway-Bereitstellung enthält:

   ```
   kubectl get deployment eks-hybrid-nodes-gateway -n eks-hybrid-nodes-gateway -o jsonpath='{.spec.template.spec.containers[0].env}' | jq .
   ```

   Vergewissern Sie sich, dass die Routing-Tabellen-IDs in Ihrer VPC vorhanden sind:

   ```
   aws ec2 describe-route-tables --route-table-ids {{ROUTE_TABLE_ID}}
   ```

1.  **Überprüfen Sie die Gateway-Protokolle auf Routing-Tabellenfehler. ** Suchen Sie nach Fehlermeldungen im Zusammenhang mit Routingtabellenoperationen:

   ```
   kubectl logs -n eks-hybrid-nodes-gateway {{LEADER_POD}} | grep -i "route table"
   ```

   Zu den häufigsten Fehlermeldungen gehören:
   +  `Failed to verify route table access`— Das Gateway kann die Routing-Tabelle nicht beschreiben. Überprüfen Sie die IAM-Berechtigungen und Routing-Tabellen-IDs.
   +  `Failed to update route tables`— Das Gateway kann keine Routen erstellen oder ersetzen. Überprüfen Sie die IAM-Berechtigungen.
   +  `failed to access route table`— Die ID der Routing-Tabelle ist möglicherweise falsch oder die IAM-Rolle fehlt. `ec2:DescribeRouteTables`

## Gateway-Pods können nicht gestartet werden oder sind fehlerhaft
<a name="hybrid-nodes-gateway-ts-pods"></a>

Gateway-Pods befinden sich in `CrashLoopBackOff` oder im `Pending` Status, oder der Integritätsendpunkt gibt einen Fehler zurück. `Error`

 **Mögliche Ursachen:** 
+ Die erforderlichen Umgebungsvariablen (`VPC_CIDR`,`POD_CIDRS`,`ROUTE_TABLE_IDS`) sind nicht festgelegt.
+ Die IP-Weiterleitung ist auf dem Gateway-Knoten nicht aktiviert.
+ Einschränkungen bei der Knotenbezeichnung oder der Anti-Affinität verhindern die Planung.

 **Diagnoseschritte: ** 

1.  **Überprüfen Sie die Pod-Protokolle. ** Sehen Sie sich die Protokolle für den fehlgeschlagenen Pod an, um den Fehler zu identifizieren:

   ```
   kubectl logs -n eks-hybrid-nodes-gateway {{LEADER_POD}}
   ```

1.  **Überprüfen Sie die erforderlichen Umgebungsvariablen. ** Das Gateway benötigt `NODE_IP``VPC_CIDR`, und`POD_CIDRS`. Wenn welche fehlen, wird das Gateway sofort beendet. Überprüfen Sie die Pod-Spezifikation:

   ```
   kubectl get pod -n eks-hybrid-nodes-gateway {{LEADER_POD}} -o jsonpath='{.spec.containers[0].env}' | jq .
   ```
   +  `NODE_IP`wird automatisch `status.hostIP` in der Pod-Spezifikation festgelegt. Wenn es leer ist, ist der Pod möglicherweise noch nicht auf einem Knoten geplant.
   +  `VPC_CIDR`und `POD_CIDRS` stammen aus den Helm-Werten. Stellen Sie sicher, dass sie richtig eingestellt sind.

1.  **Überprüfen Sie die IP-Weiterleitung. ** Das Gateway überprüft beim Start, ob die IP-Weiterleitung aktiviert ist, und wird beendet, wenn dies nicht der Fall ist. Suchen Sie `IP forwarding is not enabled` in den Pod-Protokollen nach der Fehlermeldung. Aktivieren Sie die IP-Weiterleitung auf dem Knoten:

   ```
   # Check current setting
   cat /proc/sys/net/ipv4/ip_forward
   
   # Enable if not set
   sudo sysctl -w net.ipv4.ip_forward=1
   ```

   Für eine persistente Einstellung konfigurieren Sie die IP-Weiterleitung über das Kubelet oder fügen Sie `net.ipv4.ip_forward=1` sie hinzu. `/etc/sysctl.d/`

1.  **Überprüfen Sie die Knotenbezeichnung und die Zeitplanungsbeschränkungen. ** Die Gateway-Pods benötigen Knoten mit dem `hybrid-gateway-node=true` Label. Die Pod-Anti-Affinität stellt sicher, dass jeder Pod auf einem separaten Knoten ausgeführt wird. Wenn dies bei Pods der Fall `Pending` ist, überprüfen Sie, ob Planungsprobleme vorliegen:

   ```
   kubectl describe pod -n eks-hybrid-nodes-gateway {{LEADER_POD}}
   ```

   Achten Sie auf Ereignisse, die auf unzureichende Nodes, fehlende Labels oder Anti-Affinitätskonflikte hinweisen.

## Fragen zur Wahl des Vorsitzenden
<a name="hybrid-nodes-gateway-ts-leader"></a>

Die Gateway-Pods laufen, aber kein Pod erhält den Leader-Lease, oder es kommt häufig zu Führungswechseln.

 **Mögliche Ursachen:** 
+ RBAC-Berechtigungen für Lease-Objekte fehlen.
+ Die Netzwerkkonnektivität zwischen Gateway-Pods und dem Kubernetes-API-Server ist unzuverlässig.
+ Die Parameter für die Wahl des Führers sind falsch konfiguriert.

 **Diagnoseschritte: ** 

1.  **Überprüfen Sie das Lease-Objekt. ** Stellen Sie sicher, dass der Mietvertrag existiert, und überprüfen Sie seinen aktuellen Inhaber:

   ```
   kubectl get lease -n eks-hybrid-nodes-gateway hybrid-gateway-leader -o yaml
   ```

   Das `spec.holderIdentity` Feld zeigt den aktuellen Anführer. `spec.renewTime`Zeigt an, wann der Mietvertrag zuletzt verlängert wurde. Wenn `renewTime` es veraltet ist, hat der Leader möglicherweise die Verbindung zum API-Server verloren.

1.  **Überprüfen Sie die RBAC-Berechtigungen. ** Das Gateway-Dienstkonto benötigt Berechtigungen zum Abrufen, Erstellen und Aktualisieren von Lease-Objekten im Gateway-Namespace. Überprüfen Sie die Rolle und RoleBinding:

   ```
   kubectl get role -n eks-hybrid-nodes-gateway
   kubectl get rolebinding -n eks-hybrid-nodes-gateway
   ```

   Die Rolle sollte `get``create`, und die `update` Verben für die `leases` Ressource in der `coordination.k8s.io` API-Gruppe enthalten.

1.  **Überprüfe die Pod-Logs auf Leasingfehler. ** Suchen Sie in den Pod-Protokollen nach Fehlern bei der Wahl des Führers:

   ```
   kubectl logs -n eks-hybrid-nodes-gateway {{LEADER_POD}} | grep -i "leader\|lease"
   ```

   Häufige Probleme sind unter anderem:
   +  `Failed to acquire lease`— Der Pod kann das Lease-Objekt nicht erstellen oder aktualisieren. Überprüfen Sie die RBAC-Berechtigungen.
   + Häufig `Leadership ended` gefolgt von `Leader setup complete` Nachrichten — Der Leader verliert den Mietvertrag und erwirbt ihn erneut. Dies kann auf eine Netzwerkinstabilität zwischen dem Pod und dem API-Server hinweisen. Erwägen Sie eine Erhöhung`--leader-election-lease-duration`.

1.  **Überprüfen Sie die Parameter für die Wahl des Führers. ** Überprüfen Sie die konfigurierten Werte:

   ```
   kubectl get deployment eks-hybrid-nodes-gateway -n eks-hybrid-nodes-gateway -o jsonpath='{.spec.template.spec.containers[0].args}'
   ```

   Stellen Sie sicher`--leader-election-renew-deadline`, dass weniger als ist`--leader-election-lease-duration`. Wenn die Verlängerungsfrist die Mietdauer überschreitet, verliert der Leader den Mietvertrag, bevor er verlängert werden kann. Weitere Informationen finden Sie unter [Abstimmung der Wahl der Spitzenpolitiker](hybrid-nodes-gateway-configuration.md#hybrid-nodes-gateway-leader-tuning).

## Häufige Fehlermeldungen
<a name="hybrid-nodes-gateway-ts-errors"></a>

In der folgenden Tabelle sind Fehlermeldungen, die möglicherweise in den Gateway-Pod-Protokollen angezeigt werden, und deren Lösungen aufgeführt.


| Fehlermeldung | Ursache | Auflösung | 
| --- | --- | --- | 
|  `IP forwarding is not enabled`  | Der Kernel-Parameter `net.ipv4.ip_forward` ist `1` auf dem Gateway-Knoten nicht auf eingestellt. | Aktivieren Sie die IP-Weiterleitung über die Kubelet-Konfiguration oder durch Ausführen. `sysctl -w net.ipv4.ip_forward=1` | 
|  `Failed to setup VXLAN`  | Das Gateway kann die VXLAN-Netzwerkschnittstelle nicht erstellen. Dies tritt in der Regel auf, wenn dem Pod die entsprechenden Funktionen fehlen. `NET_ADMIN` | Stellen Sie sicher, dass die Bereitstellungsspezifikation `NET_ADMIN` in `securityContext.capabilities.add` Folgendes enthält. Vergewissern Sie sich, dass das Helm-Diagramm korrekt bereitgestellt wurde. | 
|  `Failed to verify route table access`  | Das Gateway kann beim Start keine oder mehrere VPC-Routing-Tabellen beschreiben. | Stellen Sie sicher, dass die IAM-Rolle über die `ec2:DescribeRouteTables` Berechtigung verfügt und die Routing-Tabellen-IDs in der Konfiguration korrekt sind. | 
|  `Failed to update route tables`  | Das Gateway kann keine Routen in den VPC-Routing-Tabellen erstellen oder ersetzen. | Stellen Sie sicher, dass die IAM-Rolle über `ec2:CreateRoute` und `ec2:ReplaceRoute` -Berechtigungen verfügt. | 
|  `Failed to create route table manager`  | Das Gateway kann den AWS EC2-Client nicht initialisieren oder die primäre ENI der Instance abrufen. | Stellen Sie sicher, dass die IAM-Rolle über die entsprechenden `ec2:DescribeInstances` Berechtigungen verfügt und dass auf den Instance-Metadatendienst (IMDS) zugegriffen werden kann. | 
|  `NODE_IP is required`  | Die `NODE_IP` Umgebungsvariable oder das `--node-ip` Flag ist nicht gesetzt. | Überprüfen Sie, ob die Pod-Spezifikationssätze `status.hostIP` mithilfe `NODE_IP` von a `fieldRef` verwendet werden. Stellen Sie sicher, dass das Helm-Diagramm korrekt bereitgestellt ist. | 
|  `Invalid NODE_IP`  | Der angegebene Wert `NODE_IP` ist keine gültige IP-Adresse. | Überprüfen Sie den Wert der `NODE_IP` Umgebungsvariablen in der Pod-Spezifikation. | 
|  `pod-cidrs and vpc-cidr are required`  | Die `VPC_CIDR` Umgebungsvariable `POD_CIDRS` or ist leer. | Stellen Sie die Werte `podCIDRs` und `vpcCIDR` Helm während der Installation ein. | 
|  `No valid route table IDs provided`  | Der `ROUTE_TABLE_IDS` Wert wurde gesetzt, enthält aber nach dem Analysieren keine gültigen Routentabellen-IDs. | Überprüfen Sie den `routeTableIDs` Helm-Wert auf Formatierungsfehler. Routentabellen-IDs sollten durch Kommas getrennt werden (z. B.`rtb-abc123,rtb-def456`). | 
|  `Failed to auto-detect AWS region`  | Das Gateway kann die AWS Region nicht aus den Metadaten der EC2-Instance abrufen. | Stellen Sie sicher, dass auf den Instance-Metadatendienst (IMDS) zugegriffen werden kann. Sie können das `--aws-region` Flag oder die `AWS_REGION` Umgebungsvariable auch explizit festlegen. | 
|  `Failed to auto-detect AWS instance ID`  | Das Gateway kann die Instance-ID nicht aus den EC2-Instance-Metadaten abrufen. | Stellen Sie sicher, dass auf den Instance-Metadatendienst (IMDS) zugegriffen werden kann. Sie können das `--aws-instance-id` Flag oder die `AWS_INSTANCE_ID` Umgebungsvariable auch explizit festlegen. | 
|  `CiliumNode has no internal IP`  | Das `CiliumNode` Objekt eines Hybridknotens hat in seiner Spezifikation keine interne IP-Adresse. | Stellen Sie sicher, dass der Hybridknoten korrekt registriert ist und der Cilium-Agent läuft. Überprüfen Sie die `CiliumNode` Ressource für den Knoten. | 
|  `CiliumNode <name> has no pod CIDRs allocated`  | Dem `CiliumNode` Objekt eines Hybridknotens wurden keine von Cilium IPAM zugewiesenen Pod-CIDRs zugewiesen. | Stellen Sie sicher, dass Cilium IPAM auf dem Hybridknoten korrekt konfiguriert ist. Überprüfen Sie die `CiliumNode` Ressource auf den IPAM-Status des Knotens. | 
|  `Failed to upsert CiliumVTEPConfig`  | Das Gateway kann die `CiliumVTEPConfig` benutzerdefinierte Ressource nicht erstellen oder aktualisieren. | Stellen Sie sicher, dass die CRD im Cluster installiert ist und das Gateway-Dienstkonto über Berechtigungen zum Verwalten von `CiliumVTEPConfig` Ressourcen verfügt. | 
|  `Unable to create manager`  | Der Controller-Runtime-Manager konnte nicht initialisiert werden. | Überprüfen Sie die Pod-Logs auf zusätzlichen Kontext. Zu den häufigsten Ursachen gehören eine ungültige Kubeconfig oder die Unfähigkeit, den Kubernetes-API-Server zu erreichen. | 
|  `Failed to add gateway setup`  | Das vom Leader gewählte Runnable konnte nicht beim Controller-Manager registriert werden. | Dies ist in der Regel ein interner Fehler. Überprüfe die vollständigen Pod-Logs auf zusätzlichen Kontext und melde das Problem im [ GitHub Repository](https://github.com/aws/eks-hybrid-nodes-gateway). | 
|  `Unable to create Node controller`  | Der CiliumNode Reconiler konnte nicht beim Controller-Manager registriert werden. | Überprüfen Sie die Pod-Logs auf zusätzlichen Kontext. Stellen Sie sicher, dass die CiliumNode CRD im Cluster installiert ist. | 
|  `Problem running manager`  | Der Controller-Manager wurde unerwartet beendet. | Überprüfen Sie die Pod-Protokolle auf den zugrunde liegenden Fehler. Zu den häufigsten Ursachen gehören der Verlust der Konnektivität zum Kubernetes-API-Server oder ein Portkonflikt bei den Metriken- oder Integritätsprüf-Bind-Adressen. | 
|  `failed to access route table <id>`  | Das Gateway kann während der Startüberprüfung keine bestimmte VPC-Routing-Tabelle beschreiben. | Stellen Sie sicher, dass die IAM-Rolle über die `ec2:DescribeRouteTables` Berechtigung verfügt und die Routing-Tabellen-ID korrekt ist. Die Routing-Tabelle muss in derselben Region wie die Gateway-Instance existieren. | 

## Verwandte Themen
<a name="hybrid-nodes-gateway-ts-related"></a>
+  [Amazon EKS-Gateway für Hybridknoten](hybrid-nodes-gateway-overview.md)— Überblick über die Gateway-Architektur und Anwendungsfälle.
+  [Erste Schritte mit dem EKS Hybrid Nodes Gateway](hybrid-nodes-gateway-getting-started.md)— Voraussetzungen und Installationsanweisungen.
+  [Referenz zur Konfiguration des Amazon EKS Hybrid Nodes Gateways](hybrid-nodes-gateway-configuration.md)— Vollständige Referenz für Helm-Werte, CLI-Flags und Umgebungsvariablen.
+  [Gateway-Betrieb von Amazon EKS Hybrid Nodes](hybrid-nodes-gateway-operations.md)— Anleitung zur Überwachung, zum Failover-Verhalten und zur Skalierung.