You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes中Pod时通时断不稳定、Ingress返回404问题排查求助

问题排查与修复指南

一、NodePort随机返回No route to host问题排查

排查步骤

  • 先确认集群节点防火墙规则,k3s默认需要放行6443、10250、30000-32767端口,以及flannel/vxlan所需的8472UDP端口,执行以下命令检查各节点防火墙状态:
    iptables -L -n | grep 30081
    ufw status(如果是ufw管理防火墙)
    firewall-cmd --list-all(如果是firewalld管理)
  • 检查各节点kube-proxy是否正常运行,执行kubectl get pods -n kube-system | grep proxy,确认所有proxy pod状态为Running
  • 验证节点路由规则,执行ip route show确认集群Pod网段、Service网段路由是否指向正确的flannel接口
  • 检查是否存在ARP缓存异常,执行arp -a查看集群节点MAC地址映射是否冲突

解决方案

  • 放行所有节点对应端口,以firewalld为例:
    firewall-cmd --add-port=8472/udp --permanent
    firewall-cmd --add-port=30000-32767/tcp --permanent
    firewall-cmd --reload
  • 若kube-proxy异常,重启对应pod:kubectl delete pod -n kube-system <kube-proxy-pod-name>
  • 清理异常ARP缓存:arp -d <冲突IP地址>

二、Ingress返回404问题排查

排查步骤

  • 首先确认Nginx Ingress Controller是否正常运行,执行kubectl get pods -n kube-system | grep ingress-nginx,所有pod状态需为Running
  • 检查Ingress规则配置是否正确,确认serviceName、servicePort与目标Service完全匹配,host字段是否为apache.v-kube-cluster.local
  • 查看Ingress Controller日志确认请求路由情况:kubectl logs -n kube-system <ingress-nginx-controller-pod-name>
  • 验证本地DNS解析是否正确,确认apache.v-kube-cluster.local解析到的IP是Ingress Controller对外暴露的节点IP或负载均衡IP

解决方案

  • 若Ingress规则配置错误,修正后重新apply配置
  • 若DNS解析异常,可临时在本地hosts文件添加解析记录:192.168.30.13 apache.v-kube-cluster.local
  • 若Ingress Controller异常,重启对应pod:kubectl delete pod -n kube-system <ingress-nginx-controller-pod-name>

三、集群稳定性优化建议

  • 定期检查集群节点磁盘、内存、CPU负载,避免资源耗尽导致组件异常
  • 开启k3s自带的服务自愈功能,确认所有系统组件配置了restartPolicy: Always
  • 禁用节点不必要的防火墙规则,避免与k8s iptables规则冲突
  • 定期清理节点异常ARP缓存、iptables残留规则

内容的提问来源于stack exchange,提问作者Sebastian Sommerfeld

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 07:51:03