当前位置: 代码迷 >> 综合 >> 【Kubernetes】在Pod内部无法使用coredns解析域名问题
  详细解决方案

【Kubernetes】在Pod内部无法使用coredns解析域名问题

热度:96   发布时间:2023-12-05 21:15:58.0

在学习coredns部署时出现了这种情况

在Pod外部,即集群宿主机上是没问题的

# nslookup cassandra.default.svc.cluster.local 10.96.0.10
Server:        10.96.0.10
Address:    10.96.0.10#53

Name:    cassandra.default.svc.cluster.local
Address: 10.97.200.71

但在Pod内部进行时,就出现了问题,虽然能够找到默认的coredns,但是解析不出IP地址

/ # nslookup cassandra
Server:        10.96.0.10
Address:    10.96.0.10:53

** server can't find cassandra.default.svc.cluster.local: NXDOMAIN

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

后经测试是我使用的busybox镜像不太对,这个镜像的nslookup工具出现了问题。

# kubectl exec -it util-pod /bin/sh
/ # ping cassandra
PING cassandra (10.97.200.71): 56 data bytes

解决方法:更改镜像

infoblox/dnstools或者busybox:1.28.3

dnstools# nslookup cassandra
Server:        10.96.0.10
Address:    10.96.0.10#53

Name:    cassandra.default.svc.cluster.local
Address: 10.97.200.71

dnstools#

 

  相关解决方案