我正在使用Container-Optimized OS from Google运行我的一个码头容器。我已经看到我对的DNS查询数量非常高(数十亿),这是非常奇怪的。I只用于内部DNS查询。
因此,在尝试从容器内部执行dig之后,我看到它总是对nameserver执行一个查询(来自/etc/resolve.conf,它的Google名称服务器169.254.169.254 )。
因此,每个查询仍然对名称服务器执行一个查询,甚至一次都不访问缓存。
所以我去检查了它在ubuntu实例上是如何工作的,它在那里运行得很好。还检查了kubernetes上的部署,并按预期从kube-dns访问缓存。
有办法解决吗?我得到了数以十亿计的查询,而不是使用在本例中被忽略的DNS的正确的TTL。
发布于 2022-05-03 23:04:45
169.254.169.254不是名称服务器。即解析器的虚拟IP地址,它将请求转发到DNS服务器。
如果要缓存查询,则必须在容器内配置缓存解析器。看看像dnsmasq这样的产品。
https://stackoverflow.com/questions/72096367
复制相似问题