docker-nginx
docker-nginx copied to clipboard
kubernetes local dns issue
Latest version/or 1.17.... can't resolve kubernetes service name from core-dns. I am getting this error. server can't find [servicename].svc.cluster.local: NXDOMAIN If you sh to created pod run nslookup: $ kubectl run --image nginx:1.17-alpine --restart=Never --rm -it nginx -- sh /# nslookup kubernetes.default
error is: ** server can't find kubernetes.default: NXDOMAIN
Same works with 1.16-alpine.
Is this something to do with https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/#known-issues
@esinhalilov It seems like the problem of Linux/alpine, I run your example kubectl order,and I get this
[root@xxx: ~]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.43.0.1
[root@xxx: ~]# kubectl run --image nginx:1.17-alpine --restart=Never --rm -it nginx -- sh / # nslookup kubernetes.default Server: 10.43.0.10 Address: 10.43.0.10:53
** server can't find kubernetes.default: NXDOMAIN
** server can't find kubernetes.default: NXDOMAIN
/ # ping kubernetes.default PING kubernetes.default (10.43.0.1): 56 data bytes ^C --- kubernetes.default ping statistics --- 2 packets transmitted, 0 packets received, 100% packet loss / #
The ping method get the right IP-address, so this image-pod can call service of this k8s-cluster.
This is actually an alpine/musl/busybox issue, see: https://github.com/gliderlabs/docker-alpine/issues/539 and https://bugs.busybox.net/show_bug.cgi?id=12541