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

Kubernetes LoadBalancer服务ExternalIP pending或无法访问求助

排查LoadBalancer服务手动绑定ExternalIP后无法访问的问题

看起来你已经完成了服务暴露和手动指定ExternalIP的操作,但访问时遇到了卡点,我来帮你一步步拆解排查可能的原因:

1. 先确认后端Pod状态正常

首先得保证你的hotspot-deployment对应的Pod是健康运行的,没有启动失败或异常重启的情况:

kubectl get pods -l app=hotspot-deployment # 注意这里的标签要和你的Deployment selector保持一致

如果Pod状态不是Running,立刻查看Pod日志定位启动问题:

kubectl logs <你的Pod名称>

2. 检查Service与Pod的关联是否生效

Service是通过标签选择器匹配Pod的,如果两者标签不匹配,哪怕绑定了ExternalIP,流量也无法转发到后端。查看Service详情,重点关注Endpoints字段:

kubectl describe svc hotspot-deployment

如果Endpoints为空,说明你的Service的selector和Deployment的labels不匹配,需要调整两者标签保持一致。

3. 验证NodePort本身是否可访问

你的Service的NodePort是31354,先绕开ExternalIP,直接通过Minikube节点IP访问NodePort,确认服务本身是可用的:

curl $(minikube ip):31354

如果这个访问也失败,说明问题出在服务本身或Pod到Service的转发环节,而非ExternalIP配置。

4. 确认手动指定的IP与Minikube节点的关联

你手动指定的192.168.98.103需要是Minikube节点实际拥有的IP,或是本地网络能路由到Minikube节点的IP。先确认Minikube节点的真实IP:

minikube ip

如果192.168.98.103不是Minikube节点的IP,要么调整网络环境让这个IP能路由到Minikube节点,要么换成Minikube节点的实际IP再尝试。

5. 排查防火墙与内部网络策略

  • 本地机器的防火墙可能拦截了对192.168.98.103:8080的访问,可以临时关闭防火墙测试,或添加允许该端口的规则。
  • Minikube内部如果配置了NetworkPolicy,可能会阻止外部流量访问Service,检查是否存在相关策略:
kubectl get networkpolicy

如果有,确认它是否允许外部流量访问你的Service。

6. 重启minikube tunnel重试

哪怕之前没报错,有时候tunnel可能没正确处理手动指定的ExternalIP,尝试清理并重启:

minikube tunnel --cleanup
minikube tunnel

保持tunnel运行的状态下,再次访问http://192.168.98.103:8080试试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:46:05