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

通过浏览器访问Kubernetes Pod内运行的应用失败该如何解决?

Kubernetes NodePort访问异常排查步骤
  • 第一步:确认Pod运行状态与端口监听配置
    执行kubectl get pods app-pod6确认Pod处于Running状态,无异常重启记录;执行kubectl logs app-pod6查看应用运行日志是否存在报错。
    进一步进入Pod内部执行ss -tunlp | grep 3000,确认3000端口绑定的地址是0.0.0.0而非127.0.0.1,如果绑定的是本地回环地址,外部请求无法进入容器,需要修改应用启动配置调整监听地址。
  • 第二步:验证Service配置与集群内转发可用性
    执行kubectl get endpoints app-svc6确认ENDPOINTS字段已正确关联Pod的IP和3000端口,若ENDPOINTS为空说明Service未正确匹配Pod。
    先在Kubernetes节点本地执行curl 127.0.0.1:31974/app/home验证是否能正常返回结果:
    • 如果本地访问正常,说明问题出在节点外部访问的网络限制上
    • 如果本地访问也失败,执行curl [Service的ClusterIP]:3000/app/home验证ClusterIP是否能正常访问,排查Service到Pod的转发链路
  • 第三步:检查节点端口访问限制
    先确认节点防火墙是否放开NodePort端口:
    • 若节点使用firewalld,执行firewall-cmd --add-port=31974/tcp --permanent && firewall-cmd --reload开放端口
    • 若节点使用ufw,执行ufw allow 31974/tcp开放端口
      同时确认如果是云环境部署,云服务器的安全组规则也需要放开31974/tcp端口的入方向访问。可临时关闭selinux验证是否为selinux限制:setenforce 0。
  • 第四步:验证kube-proxy运行状态
    执行kubectl get pods -n kube-system | grep kube-proxy确认对应节点的kube-proxy Pod处于Running状态,执行kubectl logs -n kube-system [kube-proxy的Pod名称]查看是否有转发规则配置报错,kube-proxy负责维护NodePort的iptables/ipvs转发规则,异常会导致端口不通。
  • 额外注意事项:访问时需要携带完整路径192.168.102.128:31974/app/home,不要直接访问根路径,避免应用未配置根路径路由导致的404错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:15:07