Resolver problemas de conexão com o Google

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 com ncgd. 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 comando ncgcli.

    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:

  1. 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 de 1380, use as etapas a seguir para mudar o valor de Spec.mtu nos recursos personalizados de OverlayVPNTunel a serem correspondidos.

  2. Abra seus recursos personalizados do OverlayVPNTunnel para edição com o comando kubectl 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.

  3. Defina o valor mtu para corresponder ao valor DiscoveredMTU 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
    
  4. 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