首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >k8s 如何进行pod级的抓包

k8s 如何进行pod级的抓包

作者头像
保持热爱奔赴山海
发布2019-09-17 15:05:23
发布2019-09-17 15:05:23
3K0
举报
文章被收录于专栏:DevOpsDevOps数据库相关

因为某些关系原因,有时候需要排查pod和外部服务之间是否有网络异常情况,我们需要进行tcpdump抓包操作。

下面,是抓包的具体步骤:

1 列出待抓包的pod 及分布在哪些节点上

kubectl get pods -n ns1 -o wide | egrep myapp

2 找到对应的containerID

kubectl get pod -n ns1 myapp-xxxxxx-xxxx  -o json

这里我们可以看到一些 containerID 的信息,记录下来,例如我的是 f712d63e9415c02472dd247219fe2245bae8a13c03838b3043434dae81c2565e 

3 到对应的K8s Node节点上执行下面命令:

docker exec f712d63e9415c02472dd247219fe2245bae8a13c03838b3043434dae81c2565e /bin/bash -c 'cat /sys/class/net/eth0/iflink'

得到结果类似:533

4 然后去找对应的虚拟网卡地址:

for i in /sys/class/net/veth*/ifindex; do grep -l 533 $i; done

得到结果类似:/sys/class/net/veth79c1674f/ifindex

5 这样就可以在宿主机上抓包:

tcpdump -i veth79c1674f -w /root/tcpdump.cap 

6 然后用wireshark分析:

例如常用的条件表达式: ip.addr == x.x.x.x

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档