K8s Service暴露NodePort无法访问 连接ETIMEDOUT超时排查
Kubernetes NodePort服务访问超时排查
问题背景
在Kubernetes集群部署SpringBoot应用时遇到Service暴露端口无法正常工作的问题,已确认:
- Pod创建成功,运行状态正常
- Service资源创建成功,状态正常
- 数据库服务正常,相关业务表已完成创建
Service对外暴露的NodePort端口为30119,通过Postman发起POST、GET请求均返回连接超时: - POST请求地址:
http://192.168.99.100:30119/stock,报错:Error: connect ETIMEDOUT 192.168.99.100:30119 - GET请求地址:
http://192.168.99.100:30119/stock/1,报错:Error: connect ETIMEDOUT 192.168.99.100:30119

部署使用的YAML配置
apiVersion: apps/v1 kind: Deployment metadata: name: sharemarket-crud-deployment spec: selector: matchLabels: app: sharemarket-k8s-sb-service replicas: 2 template: metadata: labels: app: sharemarket-k8s-sb-service spec: containers: - name: sharemarket-k8s-sb-service-container image: joy999/shareserviceproj:release06 ports: - containerPort: 8080 env: - name: DB_HOST valueFrom : configMapKeyRef : name : db-config key : host - name: DB_NAME valueFrom : configMapKeyRef : name : db-config key : dbName - name: DB_USERNAME valueFrom : secretKeyRef : name : mysql-secrets key : username - name: DB_PASSWORD valueFrom : secretKeyRef : name : mysql-secrets key : password --- apiVersion: v1 kind: Service metadata: name: springboot-sb-service-svc spec: selector: app: springboot-k8s-sb-service ports: - protocol: "TCP" port: 8080 targetPort: 8080 type: NodePort
根因定位
核心故障原因为Service标签选择器与Pod实际标签不匹配:
- Deployment定义的Pod标签为
app: sharemarket-k8s-sb-service - Service的selector配置的筛选标签为
app: springboot-k8s-sb-service
二者标签不一致,导致Service无法选中任何后端Pod,没有可用的转发端点,外部请求到达Service后无法路由到实际运行的SpringBoot实例,最终触发连接超时。
修正标签后若仍存在访问异常,按以下优先级排查:
- 检查SpringBoot应用启动配置,确认服务监听地址为
0.0.0.0:8080,若绑定127.0.0.1会导致跨网络命名空间访问失败 - 检查节点本地防火墙、云平台安全组规则,确认放通NodePort默认端口段(30000-32767)
- 执行
kubectl get endpoints springboot-sb-service-svc命令,确认返回的端点列表中存在运行中Pod的IP:8080记录,若列表为空说明标签匹配仍存在错误 - 若使用minikube部署本地集群,执行
minikube ip获取节点真实IP,不要使用虚机映射的其他地址访问
修复方案
修改Service的selector配置,与Pod标签保持一致,修正后的Service核心配置段如下:
spec: selector: app: sharemarket-k8s-sb-service
重新应用Service配置后等待数秒,即可通过NodePort正常访问接口。
内容的提问来源于stack exchange,提问作者user2746466
相关产品推荐
相关产品推荐

