“Overlay 故障”在不同技术场景下含义不同,最常见的是 容器/云原生中的 Overlay 网络(如 Docker Overlay、Kubernetes Flannel/VXLAN、Calico、Overlay 网络),也可能指 存储 Overlay(OverlayFS) 或 网络 Overlay(SDN)。下面以最常见、最易出问题的「容器/网络 Overlay 故障」为主,给你一套系统化排查思路。
先确认类型,避免排查错方向:
overlay 网络overlayfs(容器镜像层)ping 通但 curl 不通Overlay 依赖底层网络:
# 节点间
ping <node-ip>
# 端口是否通(VXLAN 通常是 UDP 4789)
nc -vuz <node-ip> 4789
✅ 不通 → 先修物理/云网络、安全组、防火墙
Docker
docker network ls
docker network inspect overlay_net
K8s
kubectl get networkattachmentdefinitions
ip link show | grep -E "flannel|vxlan|cali"
Overlay 会封装报文,MTU 通常要 ≤ 1450
ip link show
查看 vxlan / flannel.1 / eth0 的 MTU
✅ 问题表现:
curl 卡住✅ 修复示例(Flannel):
--iface=eth0
--mtu=1450
ip route
确认:
示例:
10.244.0.0/24 dev flannel.1
bridge fdb show
ip neigh
✅ 没有对端 MAC → Overlay 无法转发
常见被挡:
iptables -L -n -v
确认:
FORWARD 未 DROPMASQUERADE 正确在发送端
tcpdump -i eth0 udp port 4789
在接收端
tcpdump -i flannel.1
✅ 看:
docker ps
kubectl get pods -o wide
kubectl describe pod xxx
如果是 overlayfs 挂载失败:
mount | grep overlay
dmesg | grep overlay
常见问题:
如果你能告诉我:
我可以直接给你针对性命令和解决方案。