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

从本地主机访问Kubernetes NodePort服务失败求助

NodePort服务无法访问:Endpoints为的排查与解决

核心问题

你的backend-org-1-substra-backend-server Service的Endpoints显示为,这是导致无法访问的根本原因——Service没有匹配到任何Pod,无法完成流量转发。

排查与解决步骤

1. 确认目标Pod是否存在且正常运行

执行以下命令,用Service的Selector标签过滤对应namespace下的Pod:

kubectl get pods -n org-1 -l app.kubernetes.io/instance=backend-org-1,app.kubernetes.io/name=substra-backend-server
  • 如果没有返回任何Pod,说明部署过程中Pod未成功创建。需进一步查看Deployment状态及事件:
    kubectl get deployment -n org-1
    kubectl describe deployment <deployment-name> -n org-1
    
    通过事件日志排查Pod创建失败的原因(如镜像拉取失败、资源不足、配置错误等)。

2. 验证Pod标签与Service Selector是否匹配

如果Pod存在,查看Pod的标签:

kubectl describe pods <pod-name> -n org-1 | grep Labels

对比Service的Selector:app.kubernetes.io/instance=backend-org-1,app.kubernetes.io/name=substra-backend-server

  • 若标签不匹配,Service无法关联Pod。需修正Pod的标签(或通过Helm values调整部署配置中的标签),确保两者完全一致。

3. 检查Pod内应用是否正常监听目标端口

Service的TargetPort为http/TCP,对应容器内应用的监听端口(通常为8000)。确认应用是否正常启动并监听端口:

  • 进入Pod查看端口监听状态:
    kubectl exec -it <pod-name> -n org-1 -- netstat -tulpn
    
  • 查看Pod日志确认应用启动状态:
    kubectl logs <pod-name> -n org-1
    

4. NodePort端口确认

注意到你提供的kubectl get all和kubectl describe svc中NodePort端口不一致(30068 vs 31960),以describe输出的31960为准,确保访问时使用正确的端口。

5. 部署配置排查

由于你通过官方文档的Helm部署,检查Helm release状态:

helm status backend-org-1 -n org-1

查看是否有部署失败的提示,或确认values配置中的标签、端口等参数是否符合要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 12:15:33