Capturer des paquets TCP à partir d’un pod sur un cluster AKS

Cet article explique comment effectuer une capture de trafic TCP sur un pod d’un cluster Azure Kubernetes Service (AKS) et télécharger la capture sur votre ordinateur local.

Conditions préalables

Vous devez exécuter Azure CLI version 2.0.59 ou ultérieure.

Exécutez az --version pour vérifier la version. Pour installer la dernière version d’Azure CLI, consultez Installer Azure CLI.

Identifier le pod et installer TCPdump

  1. Identifiez le nom du pod à partir duquel vous souhaitez capturer les paquets TCP. Il doit s’agir du pod qui présente les problèmes de connectivité. Pour ce faire, exécutez kubectl get pods -A pour afficher la liste des pods sur votre cluster AKS. Voici un exemple de sortie :

    NAME                               READY     STATUS    RESTARTS   AGE
    azure-vote-back-2549686872-4d2r5   1/1       Running   0          31m
    azure-vote-front-848767080-tf34m   1/1       Running   0          31m
    

    Si vous connaissez l’espace de noms dans lequel le pod s’exécute, vous pouvez également exécuter kubectl get pods -n <namespace> pour obtenir la liste des pods qui s’exécutent dans cet espace de noms.

  2. Connectez-vous au pod que vous avez identifié à l’étape précédente. Les commandes suivantes utilisent « azure-vote-front-848767080-tf34m » comme nom de pod. Remplacez-les par le nom de pod correct. Si le pod n’est pas dans l’espace de noms par défaut, vous devez ajouter le --namespace paramètre à la kubectl exec commande .

    kubectl exec azure-vote-front-848767080-tf34m -it -- /bin/bash
    
  3. Après vous être connecté au pod, exécutez tcpdump --version pour déterminer si tcPdump est installé. Si vous recevez un message « commande introuvable », exécutez la commande suivante pour installer tcPdump dans le pod :

    apt-get update && apt-get install tcpdump
    

    Si votre pod utilise Alpine Linux, exécutez la commande suivante pour installer TCPdump :

     apk add tcpdump
    

Capturer des paquets TCP et les enregistrer dans un répertoire local

  1. Exécutez tcpdump -s 0 -vvv -w /capture.cap pour commencer à capturer les paquets TCP sur votre pod.

  2. Une fois la capture de paquets terminée, quittez votre session d’interpréteur de commandes de pod.

  3. Exécutez la commande suivante pour enregistrer les paquets dans le répertoire actif :

    kubectl cp azure-vote-front-848767080-tf34m:/capture.cap capture.cap
    

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.