다음을 통해 공유


AKS 클러스터의 Pod에서 TCP 패킷 캡처

이 문서에서는 AKS(Azure Kubernetes Service) 클러스터의 Pod에서 TCP 트래픽 캡처를 가져와서 로컬 컴퓨터에 캡처를 다운로드하는 방법을 설명합니다.

필수 구성 요소

Azure CLI 버전 2.0.59 이상을 실행해야 합니다.

을 실행 az --version 하여 버전을 확인합니다. 최신 버전의 Azure CLI를 설치하려면 Azure CLI 설치를 참조하세요.

Pod 식별 및 TCPdump 설치

  1. TCP 패킷을 캡처할 Pod의 이름을 식별합니다. 연결 문제가 있는 Pod여야 합니다. 이렇게 하려면 를 실행 kubectl get pods -A 하여 AKS 클러스터의 Pod 목록을 확인합니다. 다음은 출력의 예입니다.

    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가 기본 네임스페이스에 없는 경우 명령에 매개 변수를 kubectl exec 추가 --namespace 해야 합니다.

    kubectl exec azure-vote-front-848767080-tf34m -it -- /bin/bash
    
  3. Pod에 연결한 후 를 실행 tcpdump --version 하여 TCPdump가 설치되어 있는지 여부를 확인합니다. "명령을 찾을 수 없음" 메시지가 표시되면 다음 명령을 실행하여 Pod에 TCPdump를 설치합니다.

    apt-get update && apt-get install tcpdump
    

    Pod에서 Alpine Linux를 사용하는 경우 다음 명령을 실행하여 TCPdump를 설치합니다.

     apk add tcpdump
    

TCP 패킷 캡처 및 로컬 디렉터리에 저장

  1. 를 실행 tcpdump -s 0 -vvv -w /capture.cap 하여 Pod에서 TCP 패킷 캡처를 시작합니다.

  2. 패킷 캡처가 완료되면 Pod 셸 세션을 종료합니다.

  3. 다음 명령을 실행하여 패킷을 현재 디렉터리에 저장합니다.

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

도움을 요청하십시오.

질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.