当条目为CNAME时,Kubernetes CoreDNS wget DNS查询挂起

xzv2uavs  于 12个月前  发布在  Kubernetes
关注(0)|答案(1)|浏览(166)

我在一个使用Kubespray引导的1.26.5集群上发生了一件非常奇怪的事情(一个主节点,只有一个节点)。该集群使用CoreDNS,并自动使用Kubespray设置nodelocaldns。
我看到的第一件事是我的证书之一不是用cert-manager自动生成的。
起初我以为是发夹纳特,但运行几个测试放弃了这个理论。
我继续使用一个可抛出的pod运行一些查询,得到了这个(我用假的替换了真实的域名和真实的IP):

❯ kubectl run --rm -it busybox-2 --image=arunvelsriram/utils:latest
If you don't see a command prompt, try pressing enter.
utils@busybox-2:~$ nslookup admin-test-info.my.domain.com
Server:         169.254.25.10
Address:        169.254.25.10#53

Non-authoritative answer:
admin-test-info.my.domain.com        canonical name = my.domain.com.
Name:   my.domain.com
Address: 50.50.50.50

utils@busybox-2:~$ curl -v http://admin-test-info.my.domain.com
* Rebuilt URL to: http://admin-test-info.my.domain.com/
^C

字符串
这个curl请求挂在那里,没有来自DNS服务器的响应。然后我继续直接在规范名称上尝试curl请求,我得到了这个:

utils@busybox-2:~$ nslookup my.domain.com
Server:         169.254.25.10
Address:        169.254.25.10#53

Non-authoritative answer:
Name:   my.domain.com
Address: 50.50.50.50

utils@busybox-2:~$ curl -v http://my.domain.com
* Rebuilt URL to: http://my.domain.com/
*   Trying 50.50.50.50...
* TCP_NODELAY set
* Connected to my.domain.com (50.50.50.50) port 80 (#0)
> GET / HTTP/1.1
> Host: my.domain.com
> User-Agent: curl/7.58.0
> Accept: */*
> 
< HTTP/1.1 404 Not Found
< Content-Type: text/plain; charset=utf-8
< X-Content-Type-Options: nosniff
< Date: Mon, 04 Dec 2023 15:26:45 GMT
< Content-Length: 19
< 
404 page not found
* Connection #0 to host my.domain.com left intact


404在这里是正常的,因为这个特定的主机没有Ingress路由。
我已经修改了nodelocaldns配置,使域admin-test-info.my.domain.com看起来像一个指向本地IP的A条目,我解决了我的问题,但我仍然需要了解这里发生了什么。有线索吗?

ehxuflar

ehxuflar1#

可能是DNS上的配置或网络设置导致了问题。您可以尝试此故障排除步骤以缩小可能导致问题的原因。
1.再次检查/etc/resolv.conf/文件中的DNS配置是否正确。
1.确保您的网络设置(如IP地址和掩码)正确。
1.检查您的日志,特别是那些带有警告或与以下内容相关的日志
admin-test-info.my.domain.com
1.您可以尝试在不同的节点上部署另一个pod,以检查问题是否仍然存在。

相关问题