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

部署Kubernetes NodePort服务后,Minikube IP无法通过浏览器访问求助

排查NodePort服务无法访问的问题

第一步:确认Pod状态正常

执行以下命令查看Pod的运行状态:

kubectl get pods

如果输出中client-pod的STATUS不是Running,或者READY不是1/1,说明Pod没有正常启动。此时可以查看Pod日志排查原因:

kubectl logs client-pod

或者查看Pod的详细事件:

kubectl describe pod client-pod

常见问题包括镜像拉取失败(比如网络问题导致无法拉取dibyajyoti47/multi-client)、容器启动失败等。

第二步:验证Service与Pod的关联

执行命令查看Service的详情:

kubectl describe service client-node-port

重点检查Endpoints字段,如果该字段为空,说明Service的Selector没有匹配到对应的Pod(虽然你的YAML中component: web的标签是匹配的,但仍需确认是否有拼写错误)。也可以用以下命令快速查看Service的Endpoints:

kubectl get service client-node-port -o wide

第三步:检查容器内服务是否正常监听

进入Pod内部,验证容器内的服务是否真的在3001端口运行:

kubectl exec -it client-pod -- /bin/bash

在Pod内部执行:

curl localhost:3001

如果返回正常内容,说明服务在容器内正常运行;如果连接失败,说明容器内的服务没有启动或者没有监听3001端口。

第四步:处理minikube Docker驱动的网络访问问题

由于你使用的是minikube的Docker驱动,minikube节点本身是一个Docker容器。在VirtualBox中的Ubuntu系统里,直接访问minikube ip:31515可能需要额外的网络配置,更简单的方法是使用minikube自带的服务暴露命令:

minikube service client-node-port

这个命令会自动配置端口转发,并打开浏览器访问服务,避免手动处理网络问题。

第五步:排查Windows到Ubuntu的网络转发

如果你需要从Windows主机直接访问,需要在VirtualBox中配置端口转发规则:

  1. 打开VirtualBox,选中你的Ubuntu虚拟机,点击「设置」-「网络」-「高级」-「端口转发」
  2. 添加一条规则:
    • 名称:任意,比如k8s-node-port
    • 协议:TCP
    • 主机端口:31515
    • 子系统端口:31515
    • 主机IP:留空
    • 子系统IP:留空
      配置完成后,在Windows浏览器中访问localhost:31515即可尝试访问服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 06:45:22