K8s集群某节点出现异常,新分配到node上面的pod不能ping通外部pod,同节点pod、宿主机IP也不行,外部pod也不可以ping通IP
首先对问题pod进行排查,发现他不能解析域名和svc,网路模式是IPVS的,集群内部可以ping通svc地址,我们中间件的pod来的,一开始怀疑是dns解析问题,查看了pod内部的dns解析文件内容
cat /etc/resolv.conf
IP地址和集群的dns地址一致,通过该节点其他pod对这个问题pod进行ping,发现还是不通,ping同节点其他pod是正常的,问题定位在这个pod上面,接着怀疑是svc未绑定问题,查看endpoint发现是绑定了pod的地址的,问题pod每次ping都是地址不可达,后将其切换至其他节点发现运行正常,也可以正常ping通其他pod,问题在节点上面,删建了一个deployment的pod,在该节点重新启动后故障现象和之前一样,问题现象明确:文章来源:https://www.toymoban.com/news/detail-774963.html
1.问题节点旧pod是正常的,对外访问ping没问题
2.问题节点新建pod是异常的,网络模式像是none的,当时也去节点的docker inspect 容器 上面去查过这个容器的网络模式是host的和其他容器一致,ping不出去,也进不来,端口telnet也是一样
3.迁到其他节点没问题,问题在node上面
最终在网络上面发现IP出现问题,环境是云平台虚拟机,上面有2张网卡,一张是内网的,一张平台上的弹性地址,发现这个弹性地址不见了,查看网卡内容,该网卡是dhcp的,网卡状态UP,查看systemctl status NetworkManage,发现一直提示IPV4 DHCP timeout类型错误,查看路由表,发现全局路由默认是走这张网卡的,异常节点的路由表是没有全局路由的,0.0.0.0是不存在的,所以导致ping出去地址不可达,因为pod也是默认走这个网卡出去的,至此问题溯源成功,联系云平台进行虚机后台重启,启动后网卡正常,pod访问正常。(注:一定要云平台后台关机重启,测试过reboot启动后还是不行)
###这里没分析到为什么旧的pod是正常网络的,可以ping出去,也正是这个问题一开始干扰了问题排查思路,应该是calico网卡维护了一部分路由表信息吧??文章来源地址https://www.toymoban.com/news/detail-774963.html
到了这里,关于K8s集群某节点出现异常,新分配到node上面的pod不能ping通外部pod,同节点pod、宿主机IP也不行,外部pod也不可以ping通IP的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!