别裁伪体亲风雅,转益多师是汝师。这篇文章主要讲述K8s对pod进行网络抓包相关的知识,希望能为你提供帮助。
对pod抓包有两种办法:
一、进入pod内使用tcpdump抓包:
- kubectl get pod -owide -n namespace | grep podname
- kubectl exec -it podname -n namespace -- bash
- tcpdump -i any -vnn host 192.168.1.5 and udp and port 6033 -w name.pcap
tcpdump的使用请参照:??https://www.cnblogs.com/howhy/p/6396664.html?。
二、pod所在的宿主机(node)上抓包
【K8s对pod进行网络抓包】使用nsenter转换网络命名空间,nsenter就是namespace enter的意思,它可以进入到目标程序所在的namespace中,因此可以用来调试容器程序。我们都知道目前存在的几个namespace,比如网络,用户,pid等,nsenter都有对应的参数可以指定,从而进入该namespace。
- 获取pod所在的node:kubectl get pod -owide -n namespace | grep podname
- 查看指定 pod 运行的容器 ID:kubectl describe podname -n namespase 或者 docker ps | grep podname
- 获得容器进程的 pid:
docker inspect --format "{{.State.Pid}}" 容器 ID
- 进入该容器的 network namespace:nsenter -n --target PID
- 使用tcpdump抓包:tcpdump -i any -vnn host 192.168.1.5 and udp and port 6033 -w name.pcap
推荐阅读
- 使用 du -h --max-depth=1 逐个目录清点占用磁盘存储空间
- 无法阻止网站重定向
- 无法将自定义页面模板添加到我的子主题
- 可以将home_url()动态传递给使用React构建的主题吗()
- 在第790行的config-woocommerce/config.php中的非对象上调用成员函数get_cart_subtotal()
- 调用未定义的WordPress函数get_header()错误,但标题仍显示
- 根据帖子数在循环内调用变量
- 从头开始构建主题–标头未显示
- 从WordPress中的functions.php调用jQuery