Solucionar problemas de conexión con Google

En este documento se ofrecen directrices para solucionar problemas relacionados con tu conexión a Google.

Network Connectivity Gateway

En esta sección se ofrecen consejos para solucionar problemas relacionados con Network Connectivity Gateway.

Si necesitas más ayuda, ponte en contacto con el servicio de atención al cliente de Cloud. También puedes consultar la sección Obtener asistencia para obtener más información sobre los recursos de asistencia, incluidos los siguientes:
  • Requisitos para abrir un caso de asistencia.
  • Herramientas para ayudarte a solucionar problemas, como la configuración de tu entorno, los registros y las métricas.
  • Componentes admitidos.

Verifica que los pods del controlador y de la pasarela se estén ejecutando

  • Lista los pods de Network Connectivity Gateway:

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

    Sustituye CLUSTER_KUBECONFIG por la ruta del archivo kubeconfig de tu clúster.

    En la salida, comprueba que veas un pod de controlador y un pod de pasarela. El nombre del pod del controlador empieza por ncg-controller y el del pod de la pasarela, por ncgd. Por ejemplo:

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

    Anota el nombre del pod de la pasarela. La necesitarás para varios comandos de solución de problemas.

Comprobar los registros del pod de la pasarela

  • Comprueba si hay algún error en los registros del pod de la pasarela:

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

    Sustituye GATEWAY_POD por el nombre de tu pod de la pasarela.

Ejecutar ncgcli dentro del pod de la pasarela

El pod de la pasarela tiene una herramienta de línea de comandos llamada ncgcli que puedes usar para obtener información sobre la pasarela y el tráfico de los túneles.

  • Usa el siguiente comando para ejecutar ncgcli en el pod de la pasarela:

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

    Sustituye ncgCLI_COMMAND por un comando de ncgcli.

    Por ejemplo:

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

En las siguientes secciones se ofrecen más ejemplos de comandos de ncgcli.

No se ha podido establecer el túnel IPsec

  • Comprueba el estado del recurso personalizado NetworkConnectivityGateway:

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

    En la salida, comprueba que aparece Status: Healthy. Por ejemplo:

    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
    
  • Consulta el estado de tus OverlayVPNTunnelrecursos personalizados:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayVPNTunnel \
        --namespace kube-system --output yaml
    
  • Consulta el estado de tus túneles desde el pod de la pasarela:

    ncgcli overlay peers show
    

Para obtener más información, consulta Solución de problemas de Cloud VPN.

No se ha podido establecer la sesión de BGP

Verifica que hayas usado direcciones IP locales de enlace, como 169.254.1.2 y 169.254.2.2, para las sesiones de BGP entre Cloud Router y el pod de la pasarela de tu clúster.

  • Comprueba el estado de tus sesiones de BGP:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayBGPPeer \
        --namespace kube-system --output yaml
    
  • Consulta el estado de tus sesiones BGP desde el interior del pod de la pasarela:

    ncgcli overlay routes show
    

Para obtener más información sobre cómo solucionar problemas con tus sesiones BGP, consulta lo siguiente:

Problemas de reenvío del tráfico aunque el túnel esté activo

Si falla el reenvío de tráfico, ejecuta ncgcli dentro del pod de la pasarela para comprobar el estado de los túneles, el enrutamiento y la programación del plano de datos.

  • Asegúrate de que el túnel IPsec al peer esté establecido:

    ncgcli overlay peers show
    
  • Confirma que las rutas de superposición se han intercambiado a través de BGP y se han resuelto en el túnel IPsec adecuado:

    ncgcli overlay routes show
    
  • Muestra las rutas programadas en el plano de datos. La salida debe incluir rutas de superposición:

    ncgcli fast-path routes show
    

Ajustar la unidad máxima de transmisión

La unidad de transmisión máxima (MTU) es el tamaño, en bytes, del paquete más grande admitido por un protocolo de capa de red, incluidos los encabezados y los datos. Si hay problemas de tráfico causados por limitaciones de MTU de la red subyacente, puedes configurar la MTU en el recurso personalizado OverlayVPNTunnel. El MTU predeterminado de los túneles es de 1380 bytes.

Para ajustar la MTU de tus túneles, sigue estos pasos:

  1. Comprueba el estado de los túneles:

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

    La sección status debería tener el siguiente aspecto:

    status:
      IfName: ipsec2
      LastTransition: "2022-06-16T07:13:28Z"
      SLA:
        DiscoveredMTU: 1300
        Jitter(ms): 1
        Latency(ms): 26
        Loss(%): "0.00"
    

    Si el valor de status.SLA.DiscoveredMTU es inferior al valor predeterminado de 1380, siga estos pasos para cambiar el valor de Spec.mtu en sus recursos personalizados de OverlayVPNTunel.

  2. Abre tus OverlayVPNTunnelrecursos personalizadoskubectl edit para editarlos con el comando:

    kubectl --kubeconfig CLUSTER_KUBECONFIG edit OVERLAY_VPN_TUNNEL_NAME
        --namespace kube-system --output yaml
    

    Para evitar la pérdida de paquetes, configura el mismo MTU para los dos OverlayVPNTunnel recursos personalizados que usa Network Connectivity Gateway.

  3. Asigne al valor mtu el mismo valor que DiscoveredMTU del primer paso:

    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 los cambios, guarda el editor y ciérralo.

Para obtener más información sobre la MTU y cómo afecta al rendimiento del tráfico, consulta Consideraciones sobre la MTU.

Ver el flujo de tráfico y las estadísticas a nivel de aplicación

Para ver el flujo y las estadísticas del tráfico, ejecuta ncgcli dentro del pod de la pasarela.

  • Para ver al instante los flujos y las aplicaciones de tráfico, haz lo siguiente:

    ncgcli forwarding flows top
    
  • Para ver estadísticas agregadas a nivel de flujo:

    ncgcli forwarding flows aggregates show
    
  • Para obtener estadísticas agregadas a nivel de interfaz:

    ncgcli interfaces statistics show
    

Siguientes pasos

Si necesitas más ayuda, ponte en contacto con el servicio de atención al cliente de Cloud. También puedes consultar la sección Obtener asistencia para obtener más información sobre los recursos de asistencia, incluidos los siguientes:
  • Requisitos para abrir un caso de asistencia.
  • Herramientas para ayudarte a solucionar problemas, como la configuración de tu entorno, los registros y las métricas.
  • Componentes admitidos.