Pod网络异常原因

网络异常大概分为如下几类:

  • 网络不可达,主要现象为ping不通,其可能原因为:
  • 源端和目的端防火墙(iptables, selinux)限制
  • 网络路由配置不正确
  • 源端和目的端的系统负载过高,网络连接数满,网卡队列满
  • 网络链路故障
  • 端口不可达:主要现象为可以ping通,但telnet端口不通,其可能原因为:
  • 源端和目的端防火墙限制
  • 源端和目的端的系统负载过高,网络连接数满,网卡队列满,端口耗尽
  • 目的端应用未正常监听导致(应用未启动,或监听为127.0.0.1等)
  • DNS解析异常:主要现象为基础网络可以连通,访问域名报错无法解析,访问IP可以正常连通。其可能原因为
  • Pod的DNS配置不正确
  • DNS服务异常
  • pod与DNS服务通讯异常
  • 大数据包丢包:主要现象为基础网络和端口均可以连通,小数据包收发无异常,大数据包丢包。可能原因为:
  • 可使用 ping -s 指定数据包大小进行测试
  • 数据包的大小超过了 dockero,CNI 插件,或者宿主机网卡的 MTU 值。
  • CNI异常:主要现象为Node可以通,但Pod无法访问集群地址,可能原因有:
  • kube-proxy 服务异常,没有生成 iptables 策略或者 ipvs 规则导致无法访问
  • CIDR耗尽,无法为Node注入 PodCIDR 导致 CNI 插件异常
  • 其他 CNI 插件问题

那么整个Pod网络异常分类可以如下图所示:

图片[1]-Pod网络异常原因-不念博客

总结一下,Pod最常见的网络故障有,网络不可达(ping不通);端口不可达(telnet不通);DNS解析异常(域名不通)与大数据包丢失(大包不通)。

© 版权声明
THE END