Resolva problemas de ligação à Google

Este documento fornece orientações de resolução de problemas relacionados com a sua ligação à Google.

Gateway de conetividade de rede

Esta secção oferece sugestões de resolução de problemas relacionados com o Network Connectivity Gateway.

Se precisar de assistência adicional, contacte o apoio ao cliente do Google Cloud. Também pode consultar o artigo Receber apoio técnico para mais informações sobre recursos de apoio técnico, incluindo o seguinte:
  • Requisitos para abrir um registo de apoio técnico.
  • Ferramentas para ajudar a resolver problemas, como a configuração do ambiente, os registos e as métricas.
  • Componentes suportados.

Verifique se os Pods do controlador e da gateway estão em execução

  • Liste os pods do Network Connectivity Gateway:

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

    Substitua CLUSTER_KUBECONFIG pelo caminho do ficheiro kubeconfig do cluster.

    Na saída, verifique se 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 da gateway começa com ncgd. Por exemplo:

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

    Anote o nome do pod da gateway. Vai precisar dele para vários comandos de resolução de problemas.

Verifique os registos do pod de gateway

  • Verifique se existem erros nos registos do pod de gateway:

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

    Substitua GATEWAY_POD pelo nome do seu Pod de gateway.

Executar ncgcli no agrupamento do gateway

O pod de gateway tem uma ferramenta de linha de comandos denominada ncgcli que pode usar para obter informações sobre o gateway e o tráfego nos túneis.

  • Use o seguinte comando para executar ncgcli no pod do gateway:

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

    Substitua ncgCLI_COMMAND por um comando ncgcli.

    Por exemplo:

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

As secções seguintes apresentam mais exemplos de comandos ncgcli.

O túnel IPsec não foi estabelecido

  • Verifique o estado do NetworkConnectivityGateway recurso personalizado:

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

    Na saída, verifique se vê Status: Healthy. Por 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 estado dos seus OverlayVPNTunnel recursos personalizados:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayVPNTunnel \
        --namespace kube-system --output yaml
    
  • Verifique o estado dos seus túneis a partir do interior do pod do gateway:

    ncgcli overlay peers show
    

Para mais informações, consulte o artigo Resolução de problemas da VPN do Google Cloud.

Falha ao estabelecer sessão de BGP

Verifique se usou endereços IP locais de ligação, como 169.254.1.2 e 169.254.2.2, para as sessões BGP entre o Cloud Router e o gateway Pod no seu cluster.

  • Verifique o estado das suas sessões BGP:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayBGPPeer \
        --namespace kube-system --output yaml
    
  • Verifique o estado das suas sessões BGP a partir de dentro do pod do gateway:

    ncgcli overlay routes show
    

Para mais informações sobre a resolução de problemas das suas sessões BGP, consulte o seguinte:

Problemas de encaminhamento de tráfego, mesmo que o túnel esteja ativo

Se o encaminhamento de tráfego falhar, execute ncgcli no interior do pod de gateway para verificar o estado dos túneis, do encaminhamento e da programação do plano de dados.

  • Certifique-se de que o túnel IPsec para o par está estabelecido:

    ncgcli overlay peers show
    
  • Confirme que as rotas de sobreposição foram trocadas através do BGP e resolvidas para o túnel IPsec adequado:

    ncgcli overlay routes show
    
  • Apresente os encaminhamentos programados no plano de dados e a saída deve incluir encaminhamentos de sobreposição:

    ncgcli fast-path routes show
    

Ajuste a unidade de transmissão máxima

A unidade de transmissão máxima (MTU) é o tamanho, em bytes, do maior pacote suportado por um protocolo de camada de rede, incluindo cabeçalhos e dados. Se existirem problemas de tráfego causados por limitações de MTU da rede subjacente, pode configurar a MTU no recurso personalizado OverlayVPNTunnel. A MTU predefinida para os túneis é de 1380 bytes.

Para ajustar a MTU dos seus túneis:

  1. Verifique o estado dos túneis:

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

    A secção status deve ser semelhante ao seguinte exemplo:

    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 inferior ao valor predefinido de 1380, use os seguintes passos para alterar o valor de Spec.mtu nos seus recursos personalizados de OverlayVPNTunel para corresponder.

  2. Abra os seus recursos personalizados 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 conetividade de rede.

  3. Defina o valor mtu para corresponder ao valor DiscoveredMTU do primeiro passo:

    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, guarde e feche o editor.

Para mais informações acerca da MTU e de como afeta o desempenho do tráfego, consulte o artigo Considerações sobre a MTU.

Veja o fluxo de tráfego e as estatísticas ao nível da aplicação

Para ver o fluxo de tráfego e as estatísticas, execute ncgcli no pod do gateway.

  • Para uma vista instantânea das aplicações de fluxos e tráfego:

    ncgcli forwarding flows top
    
  • Para estatísticas agregadas ao nível do fluxo:

    ncgcli forwarding flows aggregates show
    
  • Para estatísticas agregadas ao nível da interface:

    ncgcli interfaces statistics show
    

O que se segue?

Se precisar de assistência adicional, contacte o apoio ao cliente do Google Cloud. Também pode consultar o artigo Receber apoio técnico para mais informações sobre recursos de apoio técnico, incluindo o seguinte:
  • Requisitos para abrir um registo de apoio técnico.
  • Ferramentas para ajudar a resolver problemas, como a configuração do ambiente, os registos e as métricas.
  • Componentes suportados.