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

Kubernetes客户端Pod连接server-service:5000失败,请求排查原因

可能的问题及排查方向

从你给出的错误信息和Kubernetes配置来看,客户端无法连接server-service:5000并出现Connection refused,以下是几个核心排查方向:

1. Service端口访问错误

你的服务器Service server-service 配置中,port字段为80,targetPort为5000。这意味着集群内访问该服务时,应该使用80端口而非5000端口。但客户端代码中请求的是server-service:5000,这是直接的配置不匹配问题,正确的访问地址应为server-service:80。

2. 服务器容器未在5000端口监听

Deployment里声明的containerPort:5000仅为端口标识,不代表容器内服务实际在该端口启动。你可以进入任意服务器Pod,执行命令检查端口监听状态:

kubectl exec -it <server-pod-name> -- netstat -tulpn

如果没有进程监听5000端口,要么调整服务配置让它监听5000,要么修改Service的targetPort到服务实际监听的端口。

3. Service与Pod标签不匹配

检查服务器Deployment的Pod模板标签和Service选择器是否完全一致:

  • Deployment Pod模板标签:app: server
  • Service选择器:app: server

用以下命令验证匹配情况:

# 查看Pod标签
kubectl get pods --show-labels -l app=server
# 查看Service后端Endpoint状态
kubectl describe service server-service

如果Endpoints字段为空,说明Service找不到匹配的Pod,大概率是标签拼写、大小写错误导致的。

4. 服务器Pod未就绪

如果服务器Pod的就绪探针配置错误,或者服务启动耗时过长,Pod会处于未就绪状态,此时Service不会将流量转发给它。查看Pod状态:

kubectl get pods -l app=server

若READY列显示0/1,说明Pod未就绪,执行kubectl describe pod <server-pod-name>查看事件日志,排查启动或探针失败的原因。

5. DoS模拟导致服务器拒绝连接

你的应用用于模拟拒绝服务攻击,若客户端并发请求量过大,服务器连接数被耗尽或服务被压垮,也会出现连接拒绝。可以先降低客户端请求速率,验证基础连接是否正常,再逐步增加压力测试攻击逻辑。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 01:50:20