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 conncgd
. 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 comandoncgcli
.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:
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 di1380
, segui questi passaggi per modificare il valore delleSpec.mtu
nelle risorse personalizzate diOverlayVPNTunel
.Apri le risorse personalizzate
OverlayVPNTunnel
per la modifica con il comandokubectl 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.Imposta il valore
mtu
in modo che corrisponda al valoreDiscoveredMTU
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
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