Probleme bei Verbindung zu Google beheben

Dieses Dokument enthält Anleitungen zur Fehlerbehebung bei Problemen mit Ihrer Verbindung zu Google.

Network Connectivity Gateway

Dieser Abschnitt enthält Tipps zur Fehlerbehebung im Zusammenhang mit Network Connectivity Gateway.

Prüfen, ob die Controller- und Gateway-Pods ausgeführt werden

  • Listen Sie die Network Connectivity Gateway-Pods auf:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get pods \
        --namespace kube-system | grep ncg
    

    Ersetzen Sie CLUSTER_KUBECONFIG durch den Pfad der kubeconfig-Datei des Clusters.

    Prüfen Sie in der Ausgabe, ob ein Controller-Pod und ein Gateway-Pod angezeigt werden. Der Name des Controller-Pods beginnt mit ncg-controller und der Name des Gateway-Pods mit ncgd. Beispiel:

    ncg-controller-5f5d489b68-r87pp     1/1     Running
    ncgd-gvl76                          1/1     Running
    

    Notieren Sie sich den Namen des Gateway-Pods. Sie benötigen ihn für verschiedene Befehle zur Fehlerbehebung.

Gateway-Pod-Logs prüfen

  • Prüfen Sie, ob die Logs des Gateway-Pods Fehler enthalten:

    kubectl --kubeconfig CLUSTER_KUBECONFIG logs GATEWAY_POD \
        --namespace kube-system
    

    Ersetzen Sie GATEWAY_POD durch den Namen des Gateway-Pods.

ncgcli im Gateway-Pod ausführen

Der Gateway-Pod hat ein Befehlszeilentool namens ncgcli, mit dem Sie Informationen über das Gateway und den Traffic in den Tunneln abrufen können.

  • Verwenden Sie den folgenden Befehl, um ncgcli im Gateway-Pod auszuführen:

    kubectl --kubeconfig CLUSTER_KUBECONFIG exec -it GATEWAY_POD \
        --namespace kube-system -- ncgCLI_COMMAND
    

    Ersetzen Sie ncgCLI_COMMAND durch einen ncgcli-Befehl.

    Beispiel:

    kubectl --kubeconfig my-kubeconfig exec ncgd-6hkk2 --namespace kube-system \
        -- ncgcli --help
    

In den folgenden Abschnitten finden Sie weitere Beispiele zu ncgcli-Befehlen.

IPsec-Tunnel konnte nicht gestartet werden

  • Prüfen Sie den Status der benutzerdefinierten NetworkConnectivityGateway-Ressource:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get NetworkConnectivityGateway \
        --namespace kube-system --output yaml
    

    Prüfen Sie in der Ausgabe, ob Status: Healthy angezeigt wird. Beispiel:

    apiVersion: networking.gke.io/v1alpha1
    kind: NetworkConnectivityGateway
    metadata:
      namespace: kube-system
      name: default
    spec:
    status:
      CurrNode: worker1-node
      CreatedTime: 2021-09-07T03:18:15Z
      LastReportTime: 2021-09-21T23:57:54Z
      Status:  Healthy
    
  • Prüfen Sie den Status Ihrer benutzerdefinierten OverlayVPNTunnel-Ressourcen:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayVPNTunnel \
        --namespace kube-system --output yaml
    
  • Prüfen Sie den Status Ihrer Tunnel innerhalb des Gateway-Pods:

    ncgcli overlay peers show
    

Weitere Informationen finden Sie unter Cloud VPN-Fehlerbehebung.

Fehler beim Erstellen der BGP-Sitzung

Prüfen Sie, ob Sie Link-Local-IP-Adressen wie 169.254.1.2 und 169.254.2.2 für die BGP-Sitzungen zwischen dem Cloud Router und dem Gateway-Pod in Ihrem Cluster verwendet haben.

  • Prüfen Sie den Status Ihrer BGP-Sitzungen:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayBGPPeer \
        --namespace kube-system --output yaml
    
  • Prüfen Sie den Status Ihrer BGP-Sitzungen innerhalb des Gateway-Pods:

    ncgcli overlay routes show
    

Weitere Informationen zur Fehlerbehebung bei BGP-Sitzungen finden Sie unter BGP-Sitzungsstatus und Allgemeine Fehlerbehebung.

Probleme mit der Traffic-Weiterleitung auch dann, wenn der Tunnel aktiv ist

Wenn die Traffic-Weiterleitung fehlschlägt, führen Sie ncgcli im Gateway-Pod aus, um den Status der Tunnel, des Routings und der Programmierung der Datenebene zu prüfen.

  • Prüfen Sie, ob der IPsec-Tunnel zum Peer eingerichtet ist:

    ncgcli overlay peers show
    
  • Bestätigen Sie, dass die Overlay-Routen über BGP ausgetauscht und in den entsprechenden IPsec-Tunnel aufgelöst wurden:

    ncgcli overlay routes show
    
  • Zeigen Sie in der Datenebene programmierte Routen an. Die Ausgabe sollte Overlay-Routen enthalten:

    ncgcli fast-path routes show
    

Maximale Übertragungseinheit anpassen

Die maximale Übertragungseinheit (MTU) gibt die Bytezahl des größten Pakets an, das von einem Netzwerkschichtprotokoll unterstützt wird, einschließlich Header und Daten. Wenn es Probleme mit dem Traffic aufgrund von MTU-Einschränkungen des zugrunde liegenden Netzwerks gibt, können Sie die MTU für die benutzerdefinierte OverlayVPNTunnel-Ressource konfigurieren. Die Standard-MTU für die Tunnel beträgt 1.380 Byte.

So passen Sie die MTU für Ihre Tunnel an:

  1. Prüfen Sie den Status der Tunnel:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayVPNTunnel \
        --namespace kube-system --output yaml
    

    Der Abschnitt status sollte wie im folgenden Beispiel aussehen:

    status:
      IfName: ipsec2
      LastTransition: "2022-06-16T07:13:28Z"
      SLA:
        DiscoveredMTU: 1300
        Jitter(ms): 1
        Latency(ms): 26
        Loss(%): "0.00"
    

    Wenn der Wert status.SLA.DiscoveredMTU kleiner als der Standardwert von 1380 ist, führen Sie die folgenden Schritte aus, um den Wert Spec.mtu in Ihren benutzerdefinierten OverlayVPNTunel-Ressourcen entsprechend zu ändern.

  2. Öffnen Sie Ihre benutzerdefinierten OverlayVPNTunnel-Ressourcen mit dem Befehl kubectl edit zur Bearbeitung:

    kubectl --kubeconfig CLUSTER_KUBECONFIG edit OVERLAY_VPN_TUNNEL_NAME
        --namespace kube-system --output yaml
    

    Konfigurieren Sie zur Vermeidung von Paketverlusten dieselbe MTU für die beiden benutzerdefinierten OverlayVPNTunnel-Ressourcen, die von Network Connectivity Gateway verwendet werden.

  3. Legen Sie den Wert mtu so fest, dass er mit dem Wert DiscoveredMTU aus dem ersten Schritt übereinstimmt:

    apiVersion: networking.gke.io/v1alpha1
      kind: OverlayVPNTunnel
      metadata:
        name: vpc2
        namespace: kube-system
      Spec:
        mtu: 1300
        ikeKey:
          name: ike-key
          namespace: kube-system
        localTunnelIP: 169.254.0.2
        peer:
          publicIP: 34.100.10.10
        self:
          publicIP: 70.32.151.5
    
  4. Um die Änderungen zu übernehmen, speichern Sie und schließen Sie den Editor.

Weitere Informationen zur MTU und zu ihren Auswirkung auf die Traffic-Leistung finden Sie unter Überlegungen zur MTU.

Traffic-Fluss und Statistiken auf Anwendungsebene ansehen

Führen Sie ncgcli im Gateway-Pod aus, um den Traffic-Fluss und die Statistiken anzusehen.

  • Für eine sofortige Ansicht der Abläufe und Trafficanwendungen:

    ncgcli forwarding flows top
    
  • Für aggregierte Statistiken auf Ablaufebene:

    ncgcli forwarding flows aggregates show
    
  • Für aggregierte Statistiken auf Schnittstellenebene:

    ncgcli interfaces statistics show