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

K8s Pod使用CoreDNS服务IP无法解析DNS,但使用CoreDNS Pod IP可正常解析的问题求助

K8s Pod使用CoreDNS服务IP无法解析DNS,但使用CoreDNS Pod IP可正常解析的问题求助

大家好,我碰到一个挺诡异的K8s DNS问题,想请教下社区的朋友们。

先说说我的环境:

  • 单节点K8s集群,运行在Ubuntu 22.04机器上
  • 集群是通过K8s源码编译启动的,启动命令如下:
    sudo CGROUP_DRIVER=systemd KUBELET_RESOLV_CONF=/run/systemd/resolve/resolv.conf hack/local-up-cluster.sh -O
    

问题的具体情况是这样的:
我创建了一个测试Pod:

kubectl run -it test --image=busybox -- sh

进入Pod后用nslookup github.com测试DNS解析,结果直接失败,报错:

;; connection timed out; no servers could be reached

但当我手动修改Pod内的/etc/resolv.conf,把nameserver从CoreDNS的**服务IP(10.0.0.10)改成CoreDNS的Pod IP(10.88.0.17)**之后,再执行nslookup github.com就完全正常了,输出如下:

Server: 10.88.0.17
Address: 10.88.0.17:53

Name: github.com
Address: 20.205.243.166

为了搞清楚原因,我在测试Pod里用tcpdump抓了UDP包:

tcpdump -i eth0 udp -n -vvv

发现当nameserver设为CoreDNS Pod IP时,执行nslookup会有正常的数据包交互,部分抓包内容如下:

16:53:35.770523 IP (tos ...

我现在搞不懂的是,为什么通过CoreDNS服务IP无法把DNS请求转发到对应的Pod呢?会不会是我的集群里的服务转发组件(比如kube-proxy)有配置问题?有没有大佬遇到过类似的情况,或者能给我一些排查的方向?

备注:内容来源于stack exchange,提问作者Eric

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 10:48:09