首页/云/云与容器速查/服务访问超时(跨命名空间/策略)排查
本包目录(340 条)

服务访问超时(跨命名空间/策略)排查

TCP 连不上表现为超时或 connection refused:refused 多为无进程监听/无端点,timeout 多为网络链路被策略或路由拦截。两者指向不同层。

云与容器速查云更新于 2026-10-12
refused目标端口无监听或 Endpoints 为空(kube-proxy 无规则)
timeout链路被拦:NetworkPolicy、安全组、路由黑洞
跨命名空间确认服务名写法 name.namespace 与策略双向放行
验证工具临时 Pod 里 nc -vz host port 与 dig 双验证
DNS 先行域名解析失败与网络不通的报错相似,先分清

排查命令

排查命令
kubectl run tmp --rm -it --image=nicolaka/netshoot -- sh
# 容器内:
dig +short db.dev.svc.cluster.local
nc -vz db.dev 3306
curl -m 5 -sS http://web.dev/
kubectl get networkpolicy -n dev
NetworkPolicy 是命名空间级默认放行:只加了一条 allow 不会拒绝其他流量;要默认拒绝需显式声明 deny-all 策略。

易错点

  • 把 refused 当防火墙问题:其实是没有后端在听端口
  • 测试 Pod 与目标不在同命名空间:策略差异导致结论不可复现

数据来源与参考

  • Kubernetes Docs:Network Policies
  • Kubernetes Docs:Service

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌