Résoudre les problèmes de connexion à Google

Ce document fournit des conseils de dépannage pour les problèmes liés à votre connexion à Google.

Network Connectivity Gateway

Cette section fournit des conseils de dépannage pour Network Connectivity Gateway.

Vérifier que les pods du contrôleur et de la passerelle sont en cours d'exécution

  • Répertoriez les pods de Network Connectivity Gateway :

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

    Remplacez CLUSTER_KUBECONFIG par le chemin d'accès du fichier kubeconfig de votre cluster.

    Dans le résultat, vérifiez qu'un pod contrôleur et un pod de passerelle s'affichent. Le nom du pod du contrôleur commence par ncg-controller, et le nom du pod de la passerelle commence par ncgd. Exemple :

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

    Notez le nom du pod de la passerelle. Vous en aurez besoin pour différentes commandes de dépannage.

Vérifier les journaux du pod de la passerelle

  • Vérifiez si les journaux du pod de la passerelle comportent des erreurs :

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

    Remplacez GATEWAY_POD par le nom du pod de la passerelle.

Exécuter ncgcli à l'intérieur du pod de la passerelle

Le pod de la passerelle comporte un outil de ligne de commande nommé ncgcli que vous pouvez utiliser pour obtenir des informations sur la passerelle et le trafic dans les tunnels.

  • Utilisez la commande suivante pour exécuter ncgcli dans le pod de la passerelle :

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

    Remplacez ncgCLI_COMMAND par une commande ncgcli.

    Exemple :

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

Les sections suivantes fournissent d'autres exemples de commandes ncgcli.

Le tunnel IPsec n'est pas opérationnel

  • Vérifiez l'état de la ressource personnalisée NetworkConnectivityGateway :

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

    Dans le résultat, vérifiez que Status: Healthy apparaît. Exemple :

    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
    
  • Vérifiez l'état de vos ressources personnalisées OverlayVPNTunnel :

    kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayVPNTunnel \
        --namespace kube-system --output yaml
    
  • Vérifiez l'état de vos tunnels depuis le pod de la passerelle :

    ncgcli overlay peers show
    

Pour plus d'informations, consultez la page Dépannage de Cloud VPN.

L'établissement de la session BGP a échoué

Vérifiez que vous avez utilisé des adresses IP de liaison locale, telles que 169.254.1.2 et 169.254.2.2, pour les sessions BGP entre le routeur cloud et le pod de passerelle de votre cluster.

  • Vérifiez l'état de vos sessions BGP :

    kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayBGPPeer \
        --namespace kube-system --output yaml
    
  • Vérifiez l'état de vos sessions BGP depuis le pod de la passerelle :

    ncgcli overlay routes show
    

Pour plus d'informations sur le dépannage de vos sessions BGP, consultez les sections États des sessions BGP et Dépannage d'ordre général.

Problèmes de transfert de trafic même si le tunnel est opérationnel

Si le transfert de trafic échoue, exécutez ncgcli dans le pod de la passerelle pour vérifier l'état des tunnels, du routage et de la programmation du plan de données.

  • Assurez-vous que le tunnel IPsec vers le pair est établi :

    ncgcli overlay peers show
    
  • Vérifiez que les routes en superposition ont été échangées sur BGP et résolues vers le tunnel IPsec approprié :

    ncgcli overlay routes show
    
  • Les routes d'affichage programmées dans le plan de données et le résultat doivent inclure des routes en superposition :

    ncgcli fast-path routes show
    

Ajuster l'unité de transmission maximale

L'unité de transmission maximale (MTU) correspond à la taille, en octets, du plus grand paquet accepté par un protocole de couche réseau. Elle inclut les en-têtes et les données. Si des problèmes de trafic sont dus aux limites de MTU du réseau sous-jacent, vous pouvez configurer la MTU sur la ressource personnalisée OverlayVPNTunnel. La MTU par défaut des tunnels est de 1 380 octets.

Pour ajuster la MTU de vos tunnels, procédez comme suit :

  1. Vérifiez l'état des tunnels :

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

    La section status doit ressembler à l'exemple qui suit :

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

    Si la valeur status.SLA.DiscoveredMTU est inférieure à la valeur par défaut de 1380, procédez comme suit pour modifier la valeur Spec.mtu de vos ressources personnalisées OverlayVPNTunel à mettre en correspondance.

  2. Ouvrez vos ressources personnalisées OverlayVPNTunnel pour les modifier à l'aide de la commande kubectl edit :

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

    Pour éviter de les perdre, configurez la même MTU pour les deux ressources personnalisées OverlayVPNTunnel utilisées par Network Connectivity Gateway.

  3. Définissez la valeur mtu pour qu'elle corresponde à la valeur DiscoveredMTU de la première étape :

    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. Pour appliquer vos modifications, enregistrez et fermez l'éditeur.

Pour plus d'informations sur la MTU et son incidence sur les performances du trafic, consultez la section Considérations concernant la MTU.

Afficher le flux de trafic et les statistiques au niveau de l'application

Pour afficher le flux de trafic et les statistiques, exécutez ncgcli dans le pod de la passerelle.

  • Pour obtenir une vue instantanée des flux et des applications de trafic, procédez comme suit :

    ncgcli forwarding flows top
    
  • Pour les statistiques globales au niveau du flux :

    ncgcli forwarding flows aggregates show
    
  • Pour les statistiques globales au niveau de l'interface :

    ncgcli interfaces statistics show