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

Ubuntu minikube环境下无法从集群外访问K8s NodePort服务求助

问题根因与修复步骤

1. 修复Service端口配置错误

官方Nginx镜像默认监听80端口,你当前的Service配置将targetPort设置为8080,流量转发到Pod的8080端口无服务响应,是访问失败的核心原因。
修正Service YAML配置如下:

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  type: NodePort
  selector:
    app: front-end
    name: nginx
  ports:
  - port: 8080
    targetPort: 80 # 此处修改为Nginx容器实际监听的80端口
    nodePort: 31008

修改完成后执行命令更新配置:
kubectl apply -f <你的Service配置文件名>.yaml

2. 修正访问地址

你将minikube部署在AWS的Ubuntu服务器上,minikube默认不会将端口直接绑定到宿主机的localhost,直接在本地访问http://localhost:31008无法命中服务,按以下场景调整访问方式:

  • AWS服务器本地测试:先执行minikube ip获取minikube节点IP,访问http://<MINIKUBE_IP>:31008验证连通性
  • 本地电脑远程访问:
    1. 先在AWS Ubuntu服务器上执行端口转发命令:kubectl port-forward service/nginx-service 31008:8080 --address 0.0.0.0
    2. 登录AWS控制台,在对应EC2实例的安全组入站规则中,放开31008端口的公网访问权限
    3. 使用http://<AWS EC2公网IP>:31008访问服务

3. 辅助验证

如果调整后仍无法访问,执行以下命令确认Pod服务正常:
kubectl exec -it <nginx-pod名称> -- curl localhost:80
如果返回Nginx默认页面内容,说明Pod服务正常,问题出在端口转发链路或安全组配置上。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 00:06:04