Risolvere i problemi di connessione a Google

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

Network Connectivity Gateway

Questa sezione fornisce suggerimenti per la risoluzione dei problemi relativi a Network Connectivity Gateway.

Se hai bisogno di ulteriore assistenza, contatta l'assistenza clienti Google Cloud. Puoi anche consultare la sezione Richiedere assistenza per saperne di più sulle risorse di assistenza, tra cui:
  • Requisiti per l'apertura di una richiesta di assistenza.
  • Strumenti per aiutarti a risolvere i problemi, ad esempio la configurazione dell'ambiente, i log e le metriche.
  • Componenti supportati.

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

  • Elenca i pod di Network Connectivity Gateway:

    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 di visualizzare un pod controller e un pod gateway. Il nome del pod controller inizia con ncg-controller, mentre il nome del pod gateway inizia con ncgd. Ad esempio:

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

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

Controlla i log del pod gateway

  • Controlla se sono presenti errori nei log del pod gateway:

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

    Sostituisci GATEWAY_POD con il nome del pod gateway.

Esecuzione di ncgcli all'interno del pod 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 seguente comando 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 di ncgcli.

Impossibile attivare il tunnel IPsec

  • Controlla lo stato della risorsa personalizzata NetworkConnectivityGateway:

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

    Nell'output, verifica di visualizzare 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 risorse personalizzate OverlayVPNTunnel:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayVPNTunnel \
        --namespace kube-system --output yaml
    
  • Controlla lo stato dei tunnel da all'interno del pod gateway:

    ncgcli overlay peers show
    

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

Impossibile stabilire la sessione BGP

Verifica di aver utilizzato indirizzi IP link-local, ad esempio 169.254.1.2 e 169.254.2.2, per le sessioni BGP tra il router Cloud e il pod gateway nel cluster.

  • Controlla lo stato delle sessioni BGP:

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

    ncgcli overlay routes show
    

Per saperne di più sulla risoluzione dei problemi relativi alle sessioni BGP, consulta quanto segue:

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 gateway per controllare lo stato dei tunnel, del routing e della programmazione del piano dati.

  • Assicurati che il tunnel IPsec al peer sia stabilito:

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

    ncgcli overlay routes show
    
  • Visualizza le route programmate nel piano dati e l'output deve includere le route di overlay:

    ncgcli fast-path routes show
    

Regolare l'unità massima di trasmissione

L'unità massima di trasmissione (MTU) è la dimensione in byte del pacchetto più grande supportato da un protocollo del livello di rete, che include intestazioni e dati. Se si verificano problemi di traffico causati da limitazioni MTU della rete di base, puoi configurare l'MTU nella risorsa personalizzata OverlayVPNTunnel. L'MTU predefinita per i tunnel è 1380 byte.

Per regolare l'MTU per i tunnel:

  1. Controlla 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 al valore predefinito di 1380, segui questi passaggi per modificare il valore di Spec.mtu nelle tue risorse personalizzate OverlayVPNTunel in modo che corrisponda.

  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 lo stesso MTU per le due risorse personalizzate OverlayVPNTunnel utilizzate da Network Connectivity Gateway.

  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 saperne di più sulla MTU e su come influisce sul rendimento del traffico, consulta la sezione Considerazioni sulla MTU.

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

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

  • Per una visualizzazione immediata delle applicazioni di flussi e 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
    

Passaggi successivi

Se hai bisogno di ulteriore assistenza, contatta l'assistenza clienti Google Cloud. Puoi anche consultare la sezione Richiedere assistenza per saperne di più sulle risorse di assistenza, tra cui:
  • Requisiti per l'apertura di una richiesta di assistenza.
  • Strumenti per aiutarti a risolvere i problemi, ad esempio la configurazione dell'ambiente, i log e le metriche.
  • Componenti supportati.