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

无法连接Kubernetes部署的LoadBalancer服务,请求排查原因

排查步骤

1. 验证Pod内部应用是否正常运行

Pod显示1/1 Running不代表应用真的在监听80端口。执行以下命令进入Pod内部测试:

minikube kubectl exec -it test-55c8cc69b5-h7xj6 -- curl localhost:80
  • 如果返回hello world,说明应用本身没问题;
  • 如果超时或报错,检查镜像是否正确拉取(你的镜像地址*/helloworld:latest存在格式问题,可能导致拉取失败),或者镜像内的服务是否正常启动。

2. 验证集群内访问Service是否正常

使用Service的ClusterIP在集群内部测试连通性:

# 进入minikube节点
minikube ssh
# 访问Service的ClusterIP
curl 10.97.157.242:80

同时检查Service的Endpoints是否关联到Pod:

minikube kubectl describe service test | grep Endpoints
  • 如果Endpoints为空,确认Pod实际标签是否与Service的selector匹配,执行minikube kubectl describe pod test-55c8cc69b5-h7xj6 | grep Labels验证;
  • 如果Endpoints有Pod的IP但访问超时,检查是否存在网络策略限制访问。

3. 检查Minikube网络与ExternalIP的有效性

Minikube的LoadBalancer是模拟实现的,自定义externalIPs可能无法直接生效:

  1. 查看Minikube节点的实际IP:
minikube ip

对比你设置的192.168.0.10是否和Minikube节点IP一致。如果不一致,自定义的ExternalIP无法被宿主机访问。

  1. 尝试用Minikube自带方式暴露服务:
minikube service test

该命令会自动创建端口转发,访问输出的URL,看是否能正常返回内容。如果可以,说明你的ExternalIP配置不符合Minikube的网络环境。

4. 排查防火墙/端口拦截问题

  • 检查Minikube节点的防火墙规则,确认80端口是否放行:
minikube ssh -- sudo iptables -L -n | grep 80
  • 检查宿主机的防火墙,确认允许访问192.168.0.10:80。

5. 检查镜像地址的正确性

你的Deployment中镜像地址*/helloworld:latest是无效格式,Kubernetes无法拉取该镜像。确认镜像地址是否正确(比如docker.io/yourusername/helloworld:latest),并检查Pod启动日志:

minikube kubectl logs test-55c8cc69b5-h7xj6

查看是否有镜像拉取失败或服务启动报错的信息。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 00:22:42