Поделиться через


Сбор TCP-пакетов из модуля pod в кластере AKS

В этой статье описывается, как записать трафик TCP в pod кластера Служба Azure Kubernetes (AKS) и скачать запись на локальный компьютер.

Предварительные требования

Необходимо запустить Azure CLI версии 2.0.59 или более поздней версии.

Запустите az --version , чтобы проверить версию. Чтобы установить последнюю версию Azure CLI, см. статью "Установка Azure CLI".

Определение модуля pod и установка TCPdump

  1. Определите имя модуля pod, из которого требуется записать tcp-пакеты. Это должен быть модуль pod, который имеет проблемы с подключением. Для этого выполните команду kubectl get pods -A , чтобы просмотреть список модулей pod в кластере AKS. Выходные данные могут выглядеть так:

    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
    

    Если вы знаете пространство имен, в котором выполняется модуль pod, можно также запустить kubectl get pods -n <namespace> , чтобы получить список модулей pod, работающих в этом пространстве имен.

  2. Подключитесь к модулем pod, который вы определили на предыдущем шаге. Следующие команды используют azure-vote-front-848767080-tf34m в качестве имени pod. Замените их правильным именем pod. Если модуль pod не находится в пространстве имен по умолчанию, необходимо добавить --namespace параметр в kubectl exec команду.

    kubectl exec azure-vote-front-848767080-tf34m -it -- /bin/bash
    
  3. После подключения к pod выполните команду tcpdump --version , чтобы определить, установлен ли TCPdump. Если вы получите сообщение "Команда не найдена", выполните следующую команду, чтобы установить TCPdump в pod:

    apt-get update && apt-get install tcpdump
    

    Если модуль pod использует Alpine Linux, выполните следующую команду, чтобы установить TCPdump:

     apk add tcpdump
    

Захват пакетов TCP и сохранение их в локальном каталоге

  1. Запустите tcpdump -s 0 -vvv -w /capture.cap , чтобы начать запись TCP-пакетов в модуле pod.

  2. После завершения записи пакетов выйдите из сеанса оболочки pod.

  3. Выполните следующую команду, чтобы сохранить пакеты в текущем каталоге:

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

Свяжитесь с нами для получения помощи

Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.