Capturar pacotes TCP de um pod em um cluster do AKS

Este artigo discute como fazer uma captura de tráfego TCP em um pod de um cluster do AKS (Serviço de Kubernetes do Azure) e baixar a captura no computador local.

Pré-requisito

Você deve executar a CLI do Azure versão 2.0.59 ou uma versão posterior.

Execute az --version para verificar a versão. Para instalar a versão mais recente da CLI do Azure, consulte Instalar a CLI do Azure.

Identificar o pod e instalar o TCPdump

  1. Identifique o nome do pod do qual você deseja capturar os pacotes TCP. Esse deve ser o pod que tem os problemas de conectividade. Para fazer isso, execute kubectl get pods -A para ver a lista de pods no cluster do AKS. Este é um exemplo do resultado:

    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
    

    Se você souber o namespace em que o pod é executado, você também poderá executar kubectl get pods -n <namespace> para obter uma lista de pods que estão em execução nesse namespace.

  2. Conecte-se ao pod que você identificou na etapa anterior. Os comandos a seguir usam "azure-vote-front-848767080-tf34m" como o nome do pod. Substitua-os pelo nome correto do pod. Se o pod não estiver no namespace padrão, você deverá adicionar o --namespace parâmetro ao kubectl exec comando.

    kubectl exec azure-vote-front-848767080-tf34m -it -- /bin/bash
    
  3. Depois de se conectar ao pod, execute tcpdump --version para determinar se o TCPdump está instalado. Se você receber uma mensagem "comando não encontrado", execute o seguinte comando para instalar o TCPdump no pod:

    apt-get update && apt-get install tcpdump
    

    Se o pod usar o Alpine Linux, execute o seguinte comando para instalar o TCPdump:

     apk add tcpdump
    

Capturar pacotes TCP e salvá-los em um diretório local

  1. Execute tcpdump -s 0 -vvv -w /capture.cap para começar a capturar pacotes TCP no pod.

  2. Depois que a captura de pacotes for concluída, saia da sessão do shell do pod.

  3. Execute o seguinte comando para salvar os pacotes no diretório atual:

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

Entre em contato conosco para obter ajuda

Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.