[Tips] Pod/Container의 NIC찾기
Overview
Pod/Container는 생성될 때, 사용할 Virtual Network Interface를 생성합니다.
디버깅 또는 트러블슈팅을 위해 Pod/Container의 Network Packet을 뜯어봐야 할 때가 있는데요
그러려면 실제 노드의 어떤 Virtual Network Interface를 Pod/Container가 사용하고 있는지 알아야 합니다.
아주 간단한 방법으로 알아내보도록 하겠습니다.
참고: Find out which network interface belongs to docker container
How-To
1. Pod/Container의 network장치 index 알아내기
Pod/Container에 shell로 접근해서 해당 Pod/Container가 사용하고 있는 네트워크 장치의 index number를 출력합니다.
sh-4.4$ cat /sys/class/net/eth0/iflink
6036
2. Virtual Network Interface
Pod/Container가 떠있는 노드로 가서 Network Interface 출력
$ oc debug node/10.178.50.247
Starting pod/1017850247-debug ...
To use host binaries, run `chroot /host`
Pod IP: 10.178.50.247
If you don't see a command prompt, try pressing enter.
sh-4.4# ip a |grep 6036
6036: caliaa48beb38b0@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1480 qdisc noqueue state UP group default
caliaa48beb38b0
가 pod의 Virtual Network Interface 이름입니다.
3. (Optional) TCPdump
이전단계에서 얻은 interface이름으로 tcpdump등의 명령어로 Pod의 Network packet을 확인할 수 있습니다.
sh-4.4# tcpdump -i caliaa48beb38b0 -n
댓글남기기