首页/云/云与容器速查/集群内服务 DNS 解析
Kubernetes68 条

集群内服务 DNS 解析

Pod 里解析服务名的完整形态是 name.namespace.svc.cluster.local:搜索域自动补全,短名仅在当前命名空间可用;跨命名空间调用必须写 name.namespace 或全域名。

云与容器速查云更新于 2026-10-12
短名web → 仅同命名空间可解析
跨命名空间web.dev、web.dev.svc.cluster.local
解析组件CoreDNS;resolv.conf 搜索域决定补全逻辑
Headless返回多个 Pod IP;SRV 记录含端口与实例名
排查exec 进 Pod 用 nslookup/getent 验证

验证与使用

验证与使用
kubectl exec -it web-1 -- cat /etc/resolv.conf
kubectl exec web-1 -- nslookup db.dev.svc.cluster.local
# 应用配置里推荐写:db.dev 或 db.dev.svc.cluster.local
ndots 配置影响解析次数与延迟:默认 ndots:5 时短名会先尝试搜索域拼接;跨命名空间一律写两级名字最省心。

易错点

  • 短名跨命名空间调用:解析失败报 Name or service not known
  • 改 Service 名当『零停机迁移』:老名字 DNS 立即失效,调用方全部报错

数据来源与参考

  • Kubernetes Docs:DNS for Services and Pods

相关工具

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