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.

Astuce

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.

    Note

    Dans 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

  1. Exécutez une capture de paquets à partir du réseau hôte sur certains nœuds en exécutant la commande suivante:

    $ oc adm must-gather \
        --dest-dir /tmp/captures \// <.>
        --source-dir '/tmp/tcpdump/' \// <.>
        --image registry.redhat.io/openshift4/network-tools-rhel8:latest \// <.>
        --node-selector 'node-role.kubernetes.io/worker' \// <.>
        --host-network=true \// <.>
        --timeout 30s \// <.>
        -- \
        tcpdump -i any \// <.>
        -w /tmp/tcpdump/%Y-%m-%dT%H:%M:%S.pcap -W 1 -G 300
    Copy to Clipboard Toggle word wrap

    &Lt;.&gt; 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. &lt;.&gt; 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. &lt;.&gt; Le --image argument spécifie une image de conteneur qui inclut la commande tcpdump. &lt;.&gt; 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. &lt;.&gt; L’argument --host-network=true est requis pour que les captures de paquets soient effectuées sur les interfaces réseau du nœud. &lt;.&gt; 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. &lt;.&gt; 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.

  2. 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.
  3. Examinez les fichiers de capture de paquets que oc adm doit recueillir transférés des pods à votre machine cliente:

    tmp/captures
    ├── event-filter.html
    ├── ip-10-0-192-217-ec2-internal  
    1
    
    │   └── registry-redhat-io-openshift4-network-tools-rhel8-sha256-bca...
    │       └── 2022-01-13T19:31:31.pcap
    ├── ip-10-0-201-178-ec2-internal  
    2
    
    │   └── registry-redhat-io-openshift4-network-tools-rhel8-sha256-bca...
    │       └── 2022-01-13T19:31:30.pcap
    ├── ip-...
    └── timestamp
    Copy to Clipboard Toggle word wrap
    1 2
    Les captures de paquets sont stockées dans des répertoires qui identifient le nom d’hôte, le conteneur et le nom de fichier. Dans le cas où vous n’avez pas spécifié l’argument --node-selector, le niveau de répertoire du nom d’hôte n’est pas présent.
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat