5.9. Collecte d'une trace du réseau de l'hôte
Parfois, le dépannage d'un problème lié au réseau est simplifié par le traçage des communications réseau et la capture des paquets sur plusieurs nœuds en même temps.
Vous pouvez utiliser une combinaison de la commande oc adm must-gather et de l'image conteneur registry.redhat.io/openshift4/network-tools-rhel8 pour collecter des captures de paquets à partir des nœuds. L'analyse des captures de paquets peut vous aider à résoudre les problèmes de communication du réseau.
La commande oc adm must-gather est utilisée pour exécuter la commande tcpdump dans des modules sur des nœuds spécifiques. La commande tcpdump enregistre les captures de paquets dans les modules. Lorsque la commande tcpdump se termine, la commande oc adm must-gather transfère les fichiers contenant les captures de paquets des modules vers votre ordinateur client.
L'exemple de commande de la procédure suivante montre comment réaliser une capture de paquets à l'aide de la commande tcpdump. Cependant, vous pouvez exécuter n'importe quelle commande dans l'image de 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
-
Vous avez accès au cluster en tant qu'utilisateur ayant le rôle
cluster-admin. -
Vous avez installé l'OpenShift CLI (
oc).
Procédure
Effectuez 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-dirspécifie queoc adm must-gatherstocke les captures de paquets dans des répertoires relatifs à/tmp/capturessur la machine cliente. Vous pouvez spécifier n'importe quel répertoire accessible en écriture. <.> Lorsquetcpdumpest exécuté dans le pod de débogage queoc adm must-gatherdémarre, l'argument--source-dirspécifie que les captures de paquets sont temporairement stockées dans le répertoire/tmp/tcpdumpsur le pod. <.> L'argument--imagespécifie une image de conteneur qui inclut la commandetcpdump. <.> L'argument--node-selectoret la valeur de l'exemple spécifient d'effectuer les captures de paquets sur les nœuds de travail. Vous pouvez également spécifier l'argument--node-namepour exécuter la capture de paquets sur un seul noeud. Si vous omettez les arguments--node-selectoret--node-name, les captures de paquets sont effectuées sur tous les nœuds. <.> L'argument--host-network=trueest nécessaire pour que les captures de paquets soient effectuées sur les interfaces réseau du noeud. <.> L'argument--timeoutet la valeur spécifient l'exécution du pod de débogage pendant 30 secondes. Si vous ne spécifiez pas l'argument--timeoutet une durée, le module de débogage s'exécute pendant 10 minutes. <.> L'argument-i anyde la commandetcpdumpspécifie la capture des paquets sur toutes les interfaces réseau. Vous pouvez également 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 pendant que la trace réseau capture les paquets.
Examinez les fichiers de capture de paquets que
oc adm must-gathera transférés des pods à votre ordinateur client :Copy to Clipboard Copied! Toggle word wrap Toggle overflow