Risolvere i problemi di connessione a Google

Questo documento fornisce indicazioni sulla risoluzione dei problemi relativi alla connessione a Google.

Gateway connettività di rete

Questa sezione fornisce suggerimenti per la risoluzione dei problemi relativi al gateway di connettività di rete.

Verifica che i pod del controller e del gateway siano in esecuzione

  • Elenca i pod del gateway per la connettività di rete:

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

    Sostituisci CLUSTER_KUBECONFIG con il percorso del file kubeconfig del cluster.

    Nell'output, verifica che siano presenti un pod controller e un pod gateway. Il nome del pod controller inizia con ncg-controller e il nome del gateway inizia con ncgd. Ad esempio:

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

    Prendi nota del nome del pod del gateway. Ti servirà per vari comandi per la risoluzione dei problemi.

Controlla i log del pod del gateway

  • Verifica se sono presenti errori nei log dal pod gateway:

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

    Sostituisci GATEWAY_POD con il nome del pod del gateway.

Esecuzione di ncgcli all'interno del pod del gateway

Il pod gateway ha uno strumento a riga di comando denominato ncgcli che puoi utilizzare per ottenere informazioni sul gateway e sul traffico nei tunnel.

  • Utilizza il comando seguente per eseguire ncgcli all'interno del pod del gateway:

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

    Sostituisci ncgCLI_COMMAND con un comando ncgcli.

    Ad esempio:

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

Le seguenti sezioni forniscono altri esempi di comandi ncgcli.

Impossibile rilevare il tunnel IPsec

  • Controlla lo stato della risorsa personalizzata NetworkConnectivityGateway:

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

    Nell'output, verifica che sia visualizzato Status: Healthy. Ad esempio:

    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
    
  • Controlla lo stato delle tue risorse personalizzate OverlayVPNTunnel:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayVPNTunnel \
        --namespace kube-system --output yaml
    
  • Verifica lo stato dei tuoi tunnel dall'interno del pod del gateway:

    ncgcli overlay peers show
    

Per ulteriori informazioni, consulta la pagina Risoluzione dei problemi di Cloud VPN.

Impossibile stabilire la sessione BGP

Verifica di aver utilizzato indirizzi IP locali rispetto al collegamento, come 169.254.1.2 e 169.254.2.2, per le sessioni BGP tra il router Cloud e il pod del gateway nel tuo cluster.

  • Verifica lo stato delle sessioni BGP:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayBGPPeer \
        --namespace kube-system --output yaml
    
  • Verifica lo stato delle sessioni BGP dall'interno del pod del gateway:

    ncgcli overlay routes show
    

Per maggiori informazioni sulla risoluzione dei problemi relativi alle sessioni BGP, consulta gli stati delle sessioni BGP e la Risoluzione dei problemi generali.

Problemi di inoltro del traffico anche se il tunnel è attivo

Se l'inoltro del traffico non va a buon fine, esegui ncgcli all'interno del pod del gateway per verificare lo stato della programmazione dei tunnel, del routing e del piano dati.

  • Assicurati che il tunnel IPsec verso il peer sia stabilito:

    ncgcli overlay peers show
    
  • Verifica che le route dell'overlay siano state scambiate tramite BGP e risolte nel tunnel IPsec appropriato:

    ncgcli overlay routes show
    
  • Le route display programmate nel piano dati e l'output devono includere route overlay:

    ncgcli fast-path routes show
    

Regolare l'unità massima di trasmissione

L'unità di trasmissione massima (MTU) corrisponde alla dimensione, in byte, del pacchetto più grande supportato da un protocollo a livello di rete, inclusi intestazioni e dati. In caso di problemi di traffico causati da limitazioni di MTU di rete sottostanti, puoi configurare la MTU nella risorsa personalizzata OverlayVPNTunnel. L'MTU predefinita per i tunnel è di 1380 byte.

Per regolare la MTU per i tuoi tunnel:

  1. Verifica lo stato dei tunnel:

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

    La sezione status dovrebbe essere simile all'esempio seguente:

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

    Se il valore di status.SLA.DiscoveredMTU è inferiore a quello predefinito di 1380, segui questi passaggi per modificare il valore delle Spec.mtu nelle risorse personalizzate di OverlayVPNTunel.

  2. Apri le risorse personalizzate OverlayVPNTunnel per la modifica con il comando kubectl edit:

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

    Per evitare la perdita di pacchetti, configura la stessa MTU per le due risorse personalizzate OverlayVPNTunnel utilizzate dal gateway di connettività di rete.

  3. Imposta il valore mtu in modo che corrisponda al valore DiscoveredMTU del primo passaggio:

    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. Per applicare le modifiche, salva e chiudi l'editor.

Per ulteriori informazioni su MTU e sul suo impatto sulle prestazioni del traffico, consulta Considerazioni su MTU.

Visualizza il flusso del traffico e le statistiche a livello di applicazione

Per visualizzare il flusso del traffico e le statistiche, esegui ncgcli all'interno del pod del gateway.

  • Per una visualizzazione istantanea di flussi e applicazioni di traffico:

    ncgcli forwarding flows top
    
  • Per le statistiche aggregate a livello di flusso:

    ncgcli forwarding flows aggregates show
    
  • Per le statistiche aggregate a livello di interfaccia:

    ncgcli interfaces statistics show