Our nginx-ingress log is continuously filled with this error message:
dns.lua:61: resolve(): server returned error code: 3: name error, context: ngx.timer
We created the Kubernetes cluster with Kubeadm which uses CoreDNS by default.
/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
It also has a kube-dns service that points to the core-dns pods.
kube-system kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP 7m29s
I can't find anything else in the logs that would help me resolve this issue.
UPDATE:
We had a service with externalName as suggested here > https://github.com/coredns/coredns/issues/2324#issuecomment-484005202
As suggested in this comment, we had a service with type "ExternalName". https://github.com/coredns/coredns/issues/2324#issuecomment-484005202
Once we deleted this service, we stopped getting this error. Using IP address instead of DNS name should work as well but I never tried it.