Kubernetes 抓包
如何对 Kubernetes 中的应用进行抓包调试,直接进入容器安装 tcpdump 过于粗暴,更好的方式是进入 Pod 所在命名空间。
找到容器所在节点:
1
$ kubectl get po nginx -o wide
登录节点,找到容器对应id (注意会出现两个相关容器,包括 pause 和本体,对这二者抓包都是可行的,这里选择 pause 容器):
1
$ docker ps | grep nginx | grep -v pause
找到容器pid,并进入其网络namespace:
1
2$ docker inspect CONTAINER_ID | grep Pid
$ nsenter -t PID -n抓包
1
$ tcpdump -i eth0 port 8080