最近在处理 Kuberntes 中的 DNS 解析问题, 正好借这个机会学习下 Kubernetes 中的 DNS 服务器工作原理, 处理的 DNS 服务器问题会稍后再水一篇博客介绍....我对解析过程的了解也比较粗浅, 仅介绍下配置中的内容.
Pod 中的 DNS 概览
众所周知, DNS 服务器用于将域名转换为 IP (具体为啥要转换建议复习下 7 层网络模型)....可以看到, 解析域名时, 如果给定的域名无法查找, 会添加search后面的后缀进行查找(假如以.结尾, 类似kube-dns., 这样的域名不会再去尝试, FQDN域名).
search的工作就是帮我们去尝试...(我们测试时使用了一个不存在的域名, 解析工具尝试了全部的可能)
ndots 的不妥当设置, 可能会给 DNS 服务器造成压力(假如域名是存在的, dns查询会尽快返回, 不会继续查找了, 会减少服务器压力...服务器的压力 我个人用的话, 改成 2 就好
总结
很抱歉, 这篇文章的大部分篇幅都是在说 nameserver 是如何解析的, resolv.conf中的内容比较少, 主要原因是我前些天一直在看iptables