首页/网络/抓包与流量分析速查/节点侧抓包的覆盖面
抓包工具链61 条

节点侧抓包的覆盖面

节点抓包能看到该节点所有 Pod 流量与节点间overlay:适合排查跨 Pod 通信;需从封包头/端口区分目标业务流。

节点侧抓包看什么

在 Kubernetes 节点上抓包,能看到该节点上所有 Pod 的流量以及节点之间的 overlay 封装流量,适合排查跨 Pod 通信问题。难点不在采集本身,而在过滤:节点上流量又多又杂,必须先收窄到目标 Pod 地址或端口再开始采集,否则抓包文件会迅速膨胀到无法处理。

基本信息

适用平台Linux 节点,使用 tcpdump 或 dumpcap
采集接口物理接口与 overlay 隧道接口(如 VXLAN)
过滤要点目标 Pod IP 与端口
前置信息先从集群接口查到 Pod 对应的 IP

典型使用场景

  • 排查跨 Pod 通信异常
  • 确认节点间 overlay 封装是否正常
  • 定位服务网格 sidecar 与业务容器之间的流量
  • 排查集群内 DNS 解析异常
  • 验证网络策略改动是否按预期生效

采集与过滤

采集与过滤
tcpdump -i any -nn 'host 10.244.2.7 and port 8080'
# 先按目标 Pod 地址与端口收窄,避免抓到全节点流量
tcpdump -i any -nn -w pod.pcap 'host 10.244.2.7'
# 落盘后交给分析工具,overlay 场景要同时看外层与内层地址
# 容器内抓包需进入对应网络命名空间;节点抓包覆盖面更广但噪音也更多

采集位置对照

采集位置能看到注意
节点物理接口所有 Pod 出节点的流量overlay 场景看到的是封装形态
节点 overlay 接口节点间封装流量需展开内层才能看到业务报文
容器内单个容器的视角需进入对应网络命名空间
Service 访问路径可能经过多跳转发时延里包含额外的转发开销
节点抓包量级很大,务必先把过滤器收窄到目标 Pod 再开抓。使用 any 接口可以覆盖多个接口,但要注意同一报文可能在多个接口上各出现一次,统计时要按接口字段区分,避免重复计数。
物理接口与隧道接口并存时,接口选错就看不到 overlay 内层。另外如果只知道 Pod 名而不知道 IP,要先从集群接口把地址查出来再抓,否则过滤条件根本写不出来。

排查顺序

  • 先从集群接口查出目标 Pod 的 IP 与所在节点
  • 在节点上按目标地址加端口收窄过滤条件
  • 确认采集接口选对:物理接口看封装,隧道接口看内层
  • 分析时同时核对两端节点,区分单点问题与路径问题
  • 结合集群网络策略与服务配置,确认转发规则是否符合预期

易错点

  • 过滤器不加收窄:节点流量巨大,抓包文件迅速膨胀且分析无从下手
  • 接口选错:在物理接口上找 overlay 内层字段,怎么找都找不到
  • 不查 Pod IP 就抓包:过滤条件写不出来,只能全量抓取
  • 重复计数:同一报文在多个接口上各出现一次,统计口径被放大

数据来源与参考

  • Kubernetes 网络文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌