首页/网络/抓包与流量分析速查/Kubernetes Pod 抓包路径
抓包工具链61 条

Kubernetes Pod 抓包路径

Pod 在节点上的 netns 里:节点上以特权临时容器或 nsenter 进入目标 netns;确认目标容器(多容器 Pod)与接口名。

K8s Pod 怎么抓包

在编排环境里每个 Pod 都有自己的网络命名空间,抓包一般从节点侧入手:用临时的特权容器加入目标 Pod 的命名空间,或者直接在节点上进入该命名空间执行抓包命令。操作前要确认三件事:Pod 调度的节点、多容器场景下流量属于哪个容器、以及接口名称。抓包属于诊断动作,临时容器用完即删,不要让它常驻集群,否则既是资源占用也是安全风险。

基本信息

抓包位置节点侧,进入目标 Pod 的网络命名空间
前提确认所在节点、目标容器、接口名称
常用工具节点上的容器运行时命令与命名空间工具
权限要求节点侧的特权操作
清理要求临时容器与落盘文件用完即删

典型使用场景

  • Pod 流量排查:确认应用容器的真实收发情况
  • 多容器场景:确认流量落在哪个容器的接口上
  • 服务网格环境:区分边车容器与业务容器的流量
  • 节点级定位:确认 Pod 与节点网络之间的关系
  • 临时诊断:在不修改业务镜像的前提下采集数据

定位步骤

定位步骤
# 1) 先确认 Pod 调度在哪个节点
# 2) 节点上定位目标容器的运行实例
# 3) 取得其网络命名空间后执行抓包
# 4) 采集完成立即删除临时容器与落盘文件

定位步骤与检查

步骤目的检查点
确认节点知道去哪台机器操作Pod 是否发生过迁移
确认容器多容器时选对目标边车与业务容器要区分
确认接口抓取正确的网卡接口名与流量方向
清理回收临时资源临时容器与文件都要删
多容器 Pod(例如网关边车模式)必须先确认流量在哪个容器的接口上,抓错容器会得出应用没有收发数据的错误结论。
服务网格引流之后,抓到的大多是边车与业务容器之间的流量,形态与直连不同,解读前先明确链路结构。

易错点

  • 多容器 Pod 不先确认目标容器,抓到的可能是边车流量,结论会完全跑偏
  • 服务网格环境下流量被边车接管,按直连形态解读会误判连接建立与关闭行为
  • 临时诊断容器用完不删会长期占用资源并扩大权限面
  • Pod 迁移或重建后节点与命名空间都会变化,按旧信息操作会抓不到任何流量

数据来源与参考

  • Kubernetes 调试文档
  • crictl 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌