Este documento fornece orientações para resolver problemas relacionados à sua conexão com o Google.
Gateway de conectividade de rede
Esta seção fornece dicas de solução de problemas relacionadas ao gateway de conectividade de rede.
Verificar se os pods do controlador e do gateway estão em execução
Liste os pods do gateway de conectividade de rede:
kubectl --kubeconfig CLUSTER_KUBECONFIG get pods \ --namespace kube-system | grep ncg
Substitua
CLUSTER_KUBECONFIG
pelo caminho do arquivo de configuração do cluster kubeconfig.Na resposta, verifique se você vê um pod de controlador e um pod de gateway. O nome do pod do controlador começa com
ncg-controller
e o nome do pod do gateway começa comncgd
. Exemplo:ncg-controller-5f5d489b68-r87pp 1/1 Running ncgd-gvl76 1/1 Running
Anote o nome do pod de gateway. Você precisará dele para vários comandos de solução de problemas.
Verificar os registros do pod de gateway
Verifique se há erros nos registros do pod do gateway:
kubectl --kubeconfig CLUSTER_KUBECONFIG logs GATEWAY_POD \ --namespace kube-system
Substitua
GATEWAY_POD
pelo nome do pod de gateway.
Como executar ncgcli
no pod de gateway
O pod de gateway tem uma ferramenta de linha de comando chamada ncgcli
que pode ser usada para
ver informações sobre o gateway e o tráfego nos túneis.
Use o seguinte comando para executar
ncgcli
dentro do pod de gateway:kubectl --kubeconfig CLUSTER_KUBECONFIG exec -it GATEWAY_POD \ --namespace kube-system -- ncgCLI_COMMAND
Substitua
ncgCLI_COMMAND
por um comandoncgcli
.Exemplo:
kubectl --kubeconfig my-kubeconfig exec ncgd-6hkk2 --namespace kube-system \ -- ncgcli --help
As seções a seguir mostram mais exemplos de comandos ncgcli
.
Falha ao abrir o túnel IPsec
Verifique o status do recurso personalizado
NetworkConnectivityGateway
:kubectl --kubeconfig CLUSTER_KUBECONFIG get NetworkConnectivityGateway \ --namespace kube-system --output yaml
Na resposta, verifique se aparece
Status: Healthy
. Exemplo: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
Verifique o status dos recursos personalizados do
OverlayVPNTunnel
:kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayVPNTunnel \ --namespace kube-system --output yaml
Verifique o status dos túneis de dentro do pod de gateway:
ncgcli overlay peers show
Para mais informações, consulte Solução de problemas do Cloud VPN.
Falha ao estabelecer a sessão BGP
Verifique se você usou endereços IP de link local, como 169.254.1.2
e
169.254.2.2
, para as sessões do BGP entre o Cloud Router e o
pod de gateway no cluster.
Verifique o status das sessões do BGP:
kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayBGPPeer \ --namespace kube-system --output yaml
Verifique o status das sessões do BGP de dentro do pod de gateway:
ncgcli overlay routes show
Para mais informações sobre como solucionar problemas de sessões do BGP, consulte Estados de sessão do BGP e Solução de problemas geral.
Problemas no encaminhamento de tráfego mesmo se o túnel estiver ativo
Se o encaminhamento de tráfego falhar, execute ncgcli
dentro do pod de gateway
para verificar o status de túneis, roteamento e programação do plano de dados.
Verifique se o túnel IPsec para o peering está estabelecido:
ncgcli overlay peers show
Confirme se as rotas de sobreposição foram trocadas pelo BGP e resolvidas no túnel IPsec apropriado:
ncgcli overlay routes show
As rotas de exibição programadas no plano de dados e a saída precisam incluir rotas de sobreposição:
ncgcli fast-path routes show
Ajustar a unidade máxima de transmissão
A
Unidade máxima de transmissão
(MTU, na sigla em inglês)
é o tamanho em bytes do maior pacote compatível com um protocolo de camada de
rede, incluindo cabeçalhos e dados. Se houver problemas de tráfego causados por
limitações da MTU de rede, você poderá configurar a MTU no
recurso personalizado OverlayVPNTunnel
. A MTU padrão dos túneis é de 1.380 bytes.
Para ajustar a MTU dos túneis, siga estas etapas:
Verifique o status dos túneis:
kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayVPNTunnel \ --namespace kube-system --output yaml
A seção
status
deverá ser semelhante ao exemplo a seguir:status: IfName: ipsec2 LastTransition: "2022-06-16T07:13:28Z" SLA: DiscoveredMTU: 1300 Jitter(ms): 1 Latency(ms): 26 Loss(%): "0.00"
Se o valor de
status.SLA.DiscoveredMTU
for menor que o padrão de1380
, use as etapas a seguir para mudar o valor deSpec.mtu
nos recursos personalizados deOverlayVPNTunel
a serem correspondidos.Abra seus recursos personalizados do
OverlayVPNTunnel
para edição com o comandokubectl edit
:kubectl --kubeconfig CLUSTER_KUBECONFIG edit OVERLAY_VPN_TUNNEL_NAME --namespace kube-system --output yaml
Para evitar a perda de pacotes, configure a mesma MTU para os dois recursos personalizados
OverlayVPNTunnel
usados pelo gateway de conectividade de rede.Defina o valor
mtu
para corresponder ao valorDiscoveredMTU
da primeira etapa: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
Para aplicar as alterações, salve e feche o editor.
Para saber mais sobre MTU e como isso afeta o desempenho do tráfego, consulte Considerações sobre MTU.
Ver estatísticas do fluxo de tráfego e do aplicativo
Para ver o fluxo de tráfego e as estatísticas, execute ncgcli
dentro do pod de gateway.
Para uma visualização instantânea dos fluxos e aplicativos de tráfego:
ncgcli forwarding flows top
Para estatísticas agregadas no nível do fluxo:
ncgcli forwarding flows aggregates show
Para estatísticas agregadas no nível da interface:
ncgcli interfaces statistics show