Запись ПАКЕТОВ 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, который вы определили на предыдущем шаге. В следующих командах в качестве имени pod используется azure-vote-front-848767080-tf34m. Замените их правильным именем 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.