nginx-ingress 控制器抛出此 DNS 解析错误。上下文:ngx.timer

Ven*_*nan 1 kubernetes nginx-ingress

我们的 nginx-ingress 日志不断充满以下错误消息:

 dns.lua:61: resolve(): server returned error code: 3: name error, context: ngx.timer
Run Code Online (Sandbox Code Playgroud)

我们使用 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
Run Code Online (Sandbox Code Playgroud)

它还具有指向 core-dns pod 的 kube-dns 服务。

kube-system   kube-dns                                           ClusterIP      10.96.0.10       <none>                                                     53/UDP,53/TCP                 7m29s
Run Code Online (Sandbox Code Playgroud)

我在日志中找不到任何其他内容可以帮助我解决此问题。

更新:

我们有一个带有 externalName 的服务,如此处建议的> https://github.com/coredns/coredns/issues/2324#issuecomment-484005202

Ven*_*nan 5

正如此评论中所建议的,我们有一个类型为“ExternalName”的服务。 https://github.com/coredns/coredns/issues/2324#issuecomment-484005202

删除此服务后,我们就不再收到此错误。使用 IP 地址而不是 DNS 名称应该也可以,但我从未尝试过。