k8s 进行pod级的抓包
1、列出待抓包的pod 及分布在哪些节点上
[root@iZbp18at9sb674mrpzdu60Z ~]# kubectl get pod -l app=sso-gateway2 -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
sso-gateway2-deployment-5c48bc855b-gqb5t 1/1 Running 0 123m 172.20.0.65 172.16.0.217 <none> <none>
[root@iZbp18at9sb674mrpzdu60Z ~]#
2、进入目标pod容器
[root@iZbp18at9sb674mrpzdu60Z ~]# kubectl exec -ti sso-gateway2-deployment-5c48bc855b-gqb5t /bin/bash
bash-4.4# cat /sys/class/net/eth0/iflink
79
bash-4.4#
3、在pod所在node,去找对应的虚拟网卡地址:
[root@iZbp18at9sb674mrpzdu60Z ~]# cd /sys/class/net/
[root@iZbp18at9sb674mrpzdu60Z net]# ls
cni0 eth0 lo veth2e37e4ea veth6e37f52e veth8252e210 veth91191ef8 vetha1df5495 vethcc8599fe vethf22c53c9
docker0 flannel.1 veth0d3fb64a veth3c2a4c7d veth7a2cdc06 veth8826aa04 veth98167868 vethaf46f526 vethdab0065f
dummy0 kube-ipvs0 veth12b77bb7 veth6b98bc98 veth7e88ce26 veth898963f0 vetha0188c74 vethcb62024f vethe81593b5
[root@iZbp18at9sb674mrpzdu60Z net]# pwd
/sys/class/net
[root@iZbp18at9sb674mrpzdu60Z net]# grep -E '79' veth*/ifindex
veth898963f0/ifindex:79
[root@iZbp18at9sb674mrpzdu60Z net]#
4、这样就可以在宿主机上抓包:
tcpdump -i veth898963f0 -w /root/tcpdump.cap
5、用wireshark分析
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!