Kubernetes

Istio Envoy Proxy의 TCP Dump 수집

백셀건전지 2021. 12. 24. 10:20

본 문서에서는 application의 sidecar로 떠 있는 istio-envoy container의 TCP Dump를 수집하는 방법에 대해서 설명한다.

TCP Dump란?

 TCP Dump는 주어진 조건식을 만족하는 네트워크 인터페이스를 거치는 패킷들의 헤더들을 출력해주는 프로그램이다. 주로 쓰임은 지정된 상대방 호스트로부터 들어오는 패킷을 체크하는 데 있다.

 

Worker node 확인

아래의 명령어로 내가 확인하고자 하는 pod가 어느 worker node에 떠있는지 확인한다.

kubectl get pod -A -o wide

Container Process ID 확인

Pod가 떠있는 worker node에 접속하여 아래의 명령어로 sidecar container의 Process ID를 확인한다.

여러 개의 pod 가 떠있는 node일 경우 domain을 확인하여 알맞은 sidecar process ID가 맞는지 유의한다.

ps -ef | grep sidecar

TCP Dump 수집

아래의 명령어를 입력하면, envoy proxy의 tcpdump를 수집할 수 있다. 

nsenter는 namespace enter의 약어로, 격리된 namespace에 진입하는 명령어이다.

sudo nsenter -n -t ${PID} tcpdump -nn -i eth0 -w ./sidecar-tcpdump.pcap

TCP Dump 수집을 종료하려면 ctrl+c를 누른다.

 

pcap 확장자의 tcpdump 파일은 wireshark와 같은 네트워크 프로토콜 분석 프로그램을 이용하여 확인할 수 있다.

 

'Kubernetes' 카테고리의 다른 글

Istio Proxy On-line config  (0) 2021.12.24
Pod Affinity를 적용하여 Pod 분산 배포하기  (0) 2021.09.01
Vertical Pod Autoscaling 적용하기  (0) 2021.09.01
Horizontal Pod Autoscaling 적용하기  (0) 2021.08.31
EKS에 EFS Mount하기  (0) 2021.08.31