nginx-ingress 控制器抛出这个 DNS 解析错误。上下文:ngx.timer
nginx-ingress controller throws this DNS resolution error. context: ngx.timer
我们的 nginx-ingress 日志不断充满此错误消息:
dns.lua:61: resolve(): server returned error code: 3: name error, context: ngx.timer
我们使用默认使用 CoreDNS 的 Kubeadm 创建了 Kubernetes 集群。
/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
它还有一个指向 core-dns 的 kube-dns 服务 pods。
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
正如此评论中所建议的,我们有一个类型为 "ExternalName" 的服务。
https://github.com/coredns/coredns/issues/2324#issuecomment-484005202
一旦我们删除了这个服务,我们就不再收到这个错误。使用 IP 地址而不是 DNS 名称应该也可以,但我从未尝试过。
根据 Venkatesh 的建议,我还可以通过将 ExternalName 从 IP 地址更新为主机名来解决问题。在我的情况下,一些服务包含 IP 地址而不是主机名,更新到主机名解决了我的问题。
注意: 当任何 ExternalName 是一个 IP 时,它会尝试以该 IP 作为 A 记录查询名称服务器.因此,您需要做的就是将 IP 转换为主机名来解决此问题。
我们的 nginx-ingress 日志不断充满此错误消息:
dns.lua:61: resolve(): server returned error code: 3: name error, context: ngx.timer
我们使用默认使用 CoreDNS 的 Kubeadm 创建了 Kubernetes 集群。
/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
它还有一个指向 core-dns 的 kube-dns 服务 pods。
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
正如此评论中所建议的,我们有一个类型为 "ExternalName" 的服务。 https://github.com/coredns/coredns/issues/2324#issuecomment-484005202
一旦我们删除了这个服务,我们就不再收到这个错误。使用 IP 地址而不是 DNS 名称应该也可以,但我从未尝试过。
根据 Venkatesh 的建议,我还可以通过将 ExternalName 从 IP 地址更新为主机名来解决问题。在我的情况下,一些服务包含 IP 地址而不是主机名,更新到主机名解决了我的问题。
注意: 当任何 ExternalName 是一个 IP 时,它会尝试以该 IP 作为 A 记录查询名称服务器.因此,您需要做的就是将 IP 转换为主机名来解决此问题。