最近在处理 Kuberntes 中的 DNS 解析问题, 正好借这个机会学习下 Kubernetes 中的 DNS 服务器工作原理, 处理的 DNS 服务器问题会稍后再水一篇博客介绍....我对解析过程的了解也比较粗浅, 仅介绍下配置中的内容.
Pod 中的 DNS 概览
众所周知, DNS 服务器用于将域名转换为 IP (具体为啥要转换建议复习下 7 层网络模型)....Linux 服务器中 DNS 解析配置位于/etc/resolv.conf, 在 Pod 中也不例外, 下面是某个 Pod 中的配置:
nameserver 10.96.0.10
search kube-system.svc.cluster.local...服务器 – nameserver
我们先从nameserver 10.96.0.10来看, 为什么请求这个地址可以进行 DNS 解析....可以看到, 解析域名时, 如果给定的域名无法查找, 会添加search后面的后缀进行查找(假如以.结尾, 类似kube-dns., 这样的域名不会再去尝试, FQDN域名).
search的工作就是帮我们去尝试