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

使用NodePort访问Minikube中Pod服务遭连接拒绝

排查步骤及解决方案

1. 修正kubectl port-forward命令

你当前的port-forward命令错误地将本地8500端口转发到Pod的31000端口,但31000是Service的NodePort,并非Pod内部容器暴露的端口(容器仅监听80端口)。

正确命令应为:

kubectl port-forward pod/<你的Pod名称> 8500:80

也可以通过Deployment转发(Pod重启后无需重新执行):

kubectl port-forward deployment/<你的Deployment名称> 8500:80

2. 验证Pod内部服务状态

Pod状态为Running不代表容器内的Web服务已正常启动。进入Pod内部检查:

kubectl exec -it <你的Pod名称> -- /bin/bash

在容器内执行以下操作:

  • 若容器装有curl:curl localhost:80,确认是否返回正常响应
  • 若容器装有netstat:netstat -tulpn | grep 80,检查80端口是否被监听
  • 查看服务启动日志:kubectl logs <你的Pod名称>,排查是否有启动报错

3. 检查Deployment容器端口配置

确认Deployment YAML中容器的containerPort是否设置为80,示例正确配置片段:

spec:
  containers:
  - name: <容器名称>
    image: <你的镜像名称>
    ports:
    - containerPort: 80

4. 验证NodePort Service可用性

通过Minikube IP访问NodePort,确认Service与Pod的通信是否正常:

  1. 获取Minikube IP:minikube ip
  2. 在浏览器访问http://<Minikube_IP>:31000,若能访问则说明Service和Pod间通信正常,问题仅出在port-forward环节;若仍无法访问,需检查Service的targetPort是否为80,以及Service与Pod的标签匹配是否正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 03:50:17