这个现象表明 tunl0 接口的 IP 地址配置出现了异常。以下是排查和修复步骤:
1. 检查当前 tunl0 状态
ip addr show tunl0
正常情况应显示类似:
4: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
link/ipip 0.0.0.0 brd 0.0.0.0
inet 172.22.132.134/32 scope global tunl0
valid_lft forever preferred_lft forever
如果显示 inet 0.0.0.0,说明配置异常。
2. 重启 Calico(如果是 Calico 网络插件)
# 重启 Calico 相关服务
systemctl restart calico-node
# 或重启整个 Calico Pod(K8s 环境)
kubectl delete pod -n kube-system -l k8s-app=calico-node
3. 手动重新配置 tunl0 IP
# 删除现有配置
ip addr del 0.0.0.0/32 dev tunl0
# 重新添加正确 IP
ip addr add 172.22.132.134/32 dev tunl0
# 启用接口(如果需要)
ip link set tunl0 up
4. 检查 Calico 配置
确认节点的 IPIP 模式配置是否正确:
#查看 calico node状态(需要先安装calicoctl)
calicoctl get node <node-name> -o yaml
#检查 ipPool中的cidr和ipipMode是否正确
kubectl get ippool -o yaml
确保 spec.ipip.mode为”Always”或”CrossSubnet”
5、检查主机网络冲突
-确认没有其他进程占用tunl设备
-检查是否有重复的IP地址分配
6、重启节点网络服务
systemctl restart network
#或者重启NetworkManager
systemctl restart NetworkManager
7、最后手段:重启节点
如果以上方法无效,尝试重启整个节点。
建议按顺序执行这些步骤,通常重启Calico服务可以解决问题。如果问题持续存在,可能需要深入检查Calico的日志和配置。
内容由零声教学AI助手提供,问题来源于学员提问




