我们的nginx入口日志不断地填充以下错误消息:
dns.lua:61: resolve(): server returned error code: 3: name error, context: ngx.timer我们使用Kubeadm创建了Kubernetes集群,默认情况下使用CoreDNS。
/data # kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
calico-node-8jr7t 2/2 Running 2 4d22h
calico-node-cl5f6 2/2 Running 4 4d22h
calico-node-rzt28 2/2 Running 2 4d22h
coredns-fb8b8dccf-n68x9 1/1 Running 3 3d23h
coredns-fb8b8dccf-x9wr4 1/1 Running 1 3d23h它还有一个指向核心-dns荚的kube服务.
kube-system kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP 7m29s我在日志中找不到任何能帮助我解决这个问题的东西。
更新:
我们使用externalName提供了一个服务,如这里所建议的> https://github.com/coredns/coredns/issues/2324#issuecomment-484005202
发布于 2019-05-15 05:27:13
正如在这个注释中所建议的,我们有一个类型为"ExternalName“的服务。https://github.com/coredns/coredns/issues/2324#issuecomment-484005202
一旦我们删除了这个服务,我们就停止了这个错误。使用IP地址而不是DNS名称也应该是有效的,但我从未尝试过。
发布于 2021-09-30 05:30:48
正如Venkatesh所建议的,我还能够通过将ExternalName从IP地址更新到主机名来解决这个问题。在我的例子中,一些服务包含一个IP地址而不是主机名,更新到主机名解决了我的问题。
注意:如果任何ExternalName都是IP,并且尝试使用IP作为A记录查询名称服务器,则会发生这种情况。因此,您所需要做的就是将is转换为主机名来解决这个问题。
https://stackoverflow.com/questions/55682917
复制相似问题