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

Kubernetes集群中Pod可通过IP访问但无法通过名称访问的原因排查

K8s跨命名空间服务名访问超时、Pod IP访问正常的原因分析

集群状态判断

你的K8s集群是正常的。Pod之间能通过IP直接通信,说明CNI网络插件工作正常,节点间Pod网络连通性没问题;kube-proxy的基础转发逻辑也没有故障。

问题原因

K8s的DNS服务对Service的解析规则是:

  • 同命名空间内,可直接通过服务名访问(比如demo命名空间内的Pod用nginx就能解析到对应Service)
  • 跨命名空间访问时,必须使用完整域名:服务名.命名空间名.svc.cluster.local

你在default命名空间的busybox里直接执行wget nginx,DNS会在default命名空间下查找名为nginx的Service,找不到就会解析失败,最终导致请求超时。而用Pod IP访问时,跳过了DNS解析和Service的域名映射,直接发起Pod间的网络请求,所以能成功连通。

验证方法

在busybox终端里执行完整域名的访问命令,应该就能成功:

wget -q --timeout=5 nginx.demo.svc.cluster.local -O -

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 19:31:02