首页/云/Kubernetes 速查/集群内 DNS 解析失败排查
本包目录(307 条)
kubectl 基础56 条工作负载36 条
网络与服务55 条
配置与存储54 条调度与资源52 条集群运维与排障54 条

集群内 DNS 解析失败排查

从一个 Pod 的解析行为入手:先看 Pod 的 resolv.conf 与搜索域,再查 CoreDNS 副本、Service 与上游转发。

Kubernetes 速查云更新于 2026-10-12

三步定位

三步定位
kubectl run dnsutils --rm -it --restart=Never --image=registry.k8s.io/e2e-test-images/agnhost:2.45 -- nslookup kubernetes.default
kubectl get pods -n kube-system -l k8s-app=kube-dns
kubectl logs -n kube-system -l k8s-app=kube-dns --tail=50
kubectl get svc -n kube-system kube-dns

看解析配置

看解析配置
kubectl exec -it web-x -- cat /etc/resolv.conf
resolv.conf 的 ndots 与 search 决定解析路径;部署 NodeLocal DNSCache 后解析走本机缓存,排查点也随之变化。

易错点

  • 只在故障 Pod 上验证:新建一个临时 Pod 对比,可区分个例与集群级问题
  • 忽略上游转发:集群内名字正常但外部域名失败,问题通常在上游 DNS 与 CoreDNS 转发配置

数据来源与参考

  • Kubernetes 官方文档 · DNS 服务与调试
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌