Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

coredns解析失败 #260

Closed
lusyoe opened this issue Jul 17, 2018 · 16 comments
Closed

coredns解析失败 #260

lusyoe opened this issue Jul 17, 2018 · 16 comments

Comments

@lusyoe
Copy link
Contributor

lusyoe commented Jul 17, 2018

环境:

  • 阿里云
  • 内网:172.19.7.xx网段
  • k8s v1.11.0
  • calico网络

单master模式,其他hosts配置默认使用的example/hosts.s-master.example
集群部署完成后,测试dns解析:

kubectl run busybox --rm -it --image=busybox /bin/sh

nslookup kubernetes

结果报以下错误:

Server:         10.68.0.2
Address:        10.68.0.2:53

** server can't find kubernetes: NXDOMAIN

*** Can't find kubernetes: No answer

期望结果:

Server:    10.68.0.2
Address 1: 10.68.0.2 coredns.kube-system.svc.cluster.local

Name:      kubernetes
Address 1: 10.68.0.1 kubernetes.default.svc.cluster.local

pod中/etc/resolv.conf文件内容:

nameserver 10.68.0.2
search default.svc.cluster.local. svc.cluster.local. cluster.local.
options ndots:5
@lusyoe
Copy link
Contributor Author

lusyoe commented Jul 17, 2018

实际是可以解析服务名的,通过curl [服务名]可正常访问,有可能只是打印的问题。。

@gjmzj
Copy link
Collaborator

gjmzj commented Jul 19, 2018

新版本,pod中直接使用nslookup的话需要使用完整域名kubernetes.default.svc.cluster.local,不能解析类似 nginx | nginx.default | nginx.default.svc等短域名;当然在应用调用时候是支持短域名的。详见 kubernetes/dns#109

@lusyoe
Copy link
Contributor Author

lusyoe commented Jul 19, 2018

感谢回复,不过刚多次验证了,使用完整的域名进行nslookup还是会报错。。
结果如下:

/ # nslookup kubernetes.default.svc.cluster.local
Server:         10.68.0.2
Address:        10.68.0.2:53

*** Can't find kubernetes.default.svc.cluster.local: No answer

或者如下错误:

/ # nslookup kubernetes.default.svc.cluster.local
Server:         10.68.0.2
Address:        10.68.0.2:53

Non-authoritative answer:

*** Can't find kubernetes.default.svc.cluster.local: No answer

@gjmzj
Copy link
Collaborator

gjmzj commented Jul 20, 2018

....本地集群测试如下

/ # nslookup kubernetes.default.svc.cluster.local
Server:		10.68.0.2
Address:	10.68.0.2:53

Name:	kubernetes.default.svc.cluster.local
Address: 10.68.0.1

*** Can't find kubernetes.default.svc.cluster.local: No answer

/ # nslookup kubernetes-dashboard.kube-system.svc.cluster.local
Server:		10.68.0.2
Address:	10.68.0.2:53

Name:	kubernetes-dashboard.kube-system.svc.cluster.local
Address: 10.68.187.32

*** Can't find kubernetes-dashboard.kube-system.svc.cluster.local: No answer
/ # 

@lusyoe
Copy link
Contributor Author

lusyoe commented Jul 20, 2018

嗯,我刚本地集群测试偶尔也会成功,但是大概率失败。阿里公有云ECS,就没成功过。。
就是想弄清楚下,是我们集群哪里配置的问题,还是官方的镜像问题,亦或者厂商问题?

@gjmzj
Copy link
Collaborator

gjmzj commented Jul 20, 2018

....本地集群测试如下

/ # nslookup kubernetes.default.svc.cluster.local
Server:		10.68.0.2
Address:	10.68.0.2:53

Name:	kubernetes.default.svc.cluster.local
Address: 10.68.0.1

*** Can't find kubernetes.default.svc.cluster.local: No answer

/ # nslookup kubernetes-dashboard.kube-system.svc.cluster.local
Server:		10.68.0.2
Address:	10.68.0.2:53

Name:	kubernetes-dashboard.kube-system.svc.cluster.local
Address: 10.68.187.32

*** Can't find kubernetes-dashboard.kube-system.svc.cluster.local: No answer
/ # 

1 similar comment
@gjmzj
Copy link
Collaborator

gjmzj commented Jul 20, 2018

....本地集群测试如下

/ # nslookup kubernetes.default.svc.cluster.local
Server:		10.68.0.2
Address:	10.68.0.2:53

Name:	kubernetes.default.svc.cluster.local
Address: 10.68.0.1

*** Can't find kubernetes.default.svc.cluster.local: No answer

/ # nslookup kubernetes-dashboard.kube-system.svc.cluster.local
Server:		10.68.0.2
Address:	10.68.0.2:53

Name:	kubernetes-dashboard.kube-system.svc.cluster.local
Address: 10.68.187.32

*** Can't find kubernetes-dashboard.kube-system.svc.cluster.local: No answer
/ # 

@lusyoe lusyoe closed this as completed Jul 21, 2018
@lusyoe
Copy link
Contributor Author

lusyoe commented Jul 21, 2018

nslookup测试相比以前还是有报错信息,只要不影响应用正常使用就好啦

@Costriod
Copy link

我也遇到同样的问题,我用的是kubedns,用busybox容器检测dns,发现dns无法解析
/ # nslookup kubernetes
Server: 10.254.0.2
Address: 10.254.0.2:53

** server can't find kubernetes: NXDOMAIN

*** Can't find kubernetes: No answer
如果输入域名全称,则会输出下面的内容
/ # nslookup kubernetes.default.svc.cluster.local.
Server: 10.254.0.2
Address: 10.254.0.2:53

Non-authoritative answer:
Name: kubernetes.default.svc.cluster.local
Address: 10.254.0.1

*** Can't find kubernetes.default.svc.cluster.local.: No answer
但是比较奇怪的是在busybox上面ping kubernetes直接就能解析出来
/ # ping kubernetes
PING kubernetes (10.254.0.1): 56 data bytes
^C
--- kubernetes ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss

@Costriod
Copy link

我发现是busybox版本问题,busybox latest的镜像在10天前更新了,我换成老一点的镜像busybox:1.28.3就能解析出dns信息

@techxel
Copy link

techxel commented Aug 2, 2018

@Costriod 的确是这个镜像版本的问题, 很坑

@echokk11
Copy link

echokk11 commented Aug 3, 2018

我也遇到了同样问题,但是dns正常使用

@snowcrumble
Copy link

我发现是busybox版本问题,busybox latest的镜像在10天前更新了,我换成老一点的镜像busybox:1.28.3就能解析出dns信息

管用!

@caihy05
Copy link

caihy05 commented Jan 4, 2019

管用latest,好坑

我发现是busybox版本问题,busybox latest的镜像在10天前更新了,我换成老一点的镜像busybox:1.28.3就能解析出dns信息

管用

@ronylee
Copy link

ronylee commented Jun 1, 2020

好吧,不知道,有没有人跟我一样,不是busybox版本问题

@solace20
Copy link

@Costriod 的确是这个镜像版本的问题, 很坑

确实,降级到1.28.3问题解决

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants