5.5. Collecte d’une trace du réseau hôte
Le dépannage d’un problème lié au réseau est parfois simplifié en traçant la communication réseau et en capturant des paquets sur plusieurs nœuds en même temps.
Il est possible d’utiliser une combinaison de la commande oc adm must-collectther et de l’image du conteneur register.redhat.io/openshift4/network-tools-rhel8 pour collecter des captures de paquets à partir de nœuds. L’analyse des captures de paquets peut vous aider à résoudre les problèmes de communication réseau.
La commande oc adm must-collectther est utilisée pour exécuter la commande tcpdump dans des pods sur des nœuds spécifiques. La commande tcpdump enregistre les captures de paquets dans les pods. Lorsque la commande tcpdump sort, la commande oc adm must-collectther transfère les fichiers avec les captures de paquets des pods à votre machine cliente.
La commande d’échantillon dans la procédure suivante démontre l’exécution d’une capture de paquet avec la commande tcpdump. Cependant, vous pouvez exécuter n’importe quelle commande dans l’image conteneur spécifiée dans l’argument --image pour recueillir des informations de dépannage à partir de plusieurs nœuds en même temps.
Conditions préalables
En tant qu’utilisateur, vous êtes connecté à OpenShift avec le rôle de cluster-admin.
NoteDans les déploiements dédiés à OpenShift, les clients qui n’utilisent pas le modèle Customer Cloud Subscription (CCS) ne peuvent pas utiliser la commande oc adm must-collectther car cela nécessite des privilèges cluster-admin.
- L’OpenShift CLI (oc) a été installé.
Procédure
Exécutez une capture de paquets à partir du réseau hôte sur certains nœuds en exécutant la commande suivante:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ≪.> l’argument --dest-dir spécifie que oc adm must-collectther stocke les captures de paquets dans des répertoires relatifs à /tmp/captures sur la machine cliente. <.> Lorsque tcpdump est exécuté dans le pod debug que oc adm must-collectther démarre, l’argument --source-dir spécifie que les captures de paquets sont temporairement stockées dans le répertoire /tmp/tcpdump sur le pod. <.> Le --image argument spécifie une image de conteneur qui inclut la commande tcpdump. <.> L’argument --node-selector et la valeur d’exemple spécifient pour effectuer les captures de paquets sur les nœuds de travail. Comme alternative, vous pouvez spécifier l’argument --node-name à la place pour exécuter la capture de paquets sur un seul nœud. En omettant à la fois l’argument --node-selector et l’argument --node-name, les captures de paquets sont effectuées sur tous les nœuds. <.> L’argument --host-network=true est requis pour que les captures de paquets soient effectuées sur les interfaces réseau du nœud. <.> L’argument --timeout et la valeur spécifient pour exécuter le pod debug pendant 30 secondes. Lorsque vous ne spécifiez pas l’argument --timeout et une durée, le pod debug s’exécute pendant 10 minutes. <.> L’argument -i pour la commande tcpdump spécifie pour capturer des paquets sur toutes les interfaces réseau. Comme alternative, vous pouvez spécifier un nom d’interface réseau.
- Effectuez l’action, telle que l’accès à une application Web, qui déclenche le problème de communication réseau tandis que la trace réseau capture des paquets.
Examinez les fichiers de capture de paquets que oc adm doit recueillir transférés des pods à votre machine cliente:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow