问题背景:
线上测试环境,发现一个node节点的pod到其他节点的pod网络均不通,检查发现改节点flannel网络异常(k8s使用的为flannel网络插件)。继续排查该节点,发现根本原因为系统特定版本的NetworkManager组件导致的。
问题复现:
1.启动NetworkManager服务,发现该节点flannel.1的IP立马消失,同时flannel.1的链路状态断开。
2.通过service命令查看NetworkManager的status,日志显示flannel.1网络接口由unmanned状态变成unavailable状态
3.该节点的/var/log/message日志同样显示了flannel.1接口异常。
4.对比发现是不同的NetworkManager组件版本导致的异常,异常节点的NetworkManager版本低一点。
问题解决:
1. 升级异常节点的NetworkManager组件,大多数情况下,最好把NetworkManager服务停用并设置开机不启动。
2.生产环境,尽量保持节点的版本的一致性。此次异常节点,就是因为管理人员创建此虚拟机时,使用了旧的镜像,导致系统版本,内核版本都比其他节点低,为一个隐患点。