Kubernetes(k8s)如何利用网络插件排查容器网络故障?
netcloud9: 检查网络插件状态: 确认网络插件(如Calico、Flannel)的Pod(如calico-node、flanneld)是否全部处于Running状态: kubectl get pods -n kube-system | grep -E 'calico|flannel' 查看插件日志: kubectl logs -n kube-system <插件Pod名称> 验证Pod网络配置: 检查问题Pod的IP是否分配:kubectl describe pod <Pod名称> 进入Pod执行网络测试: kubectl exec -it <Pod名称> -- ping <目标IP> 检查节点路由规则: 在节点执行ip route或route -n,确认目标Pod网段的路由指向正确。 跨节点场景验证节点间网络连通性(如VXLAN端口): telnet <目标节点IP> 8472(Flannel默认端口) 排查网络策略限制: 检查NetworkPolicy是否阻断流量: kubectl get networkpolicy --all-namespaces 分析Service/DNS问题: 测试Service域名解析: kubectl exec -it <Pod名称> -- nslookup <Service名称> 检查CoreDNS/Coredns Pod状态及日志。 抓包分析: 在源Pod所在节点抓包: tcpdump -i <网卡> host <目标PodIP> 在目标Pod对应网卡(如caliXXX)抓包。 防火墙/安全组检查: 确认节点间放行Pod网段、Service网段及插件所需端口(如NodePort范围)。