kubernetes,pod无法通过域名进行通信

时间:2019-09-15 14:22:24

标签: kubernetes dns

最近,我们的域名由于某种原因而关闭,但这仅仅是kubernetes集群根本没有更改的域名。

现在,这些Pod无法通过域和子域进行通信,在ip上,它们的工作就像curl ip-to-any-pod可以,但是curl sub-domain.domain.com无法工作。它说curl: (6) Could not resolve host: sub-domain.domain.com  疯狂的是,它有时有效,有时却无效。

我已经浏览了互联网上的每个相关问题,但是找不到任何具体的东西,日志,事件等也没有告诉我任何事情。

我重新启动了Pod和Calico Network Pod,但仍然没有任何改变。

重新启动我的一个吊舱时,我收到了此消息一次

Warning  FailedCreatePodSandBox  45s                kubelet, ip-xxx-xx-xx-xx.ap-south-1.compute.internal  Failed create pod sandbox: rpc error: code = Unknown desc = [failed to set up sandbox container "db2249c98d0b8b4bbef79ac5cd7e5c36c957f3929637093268670e7002c2467f" network for pod "web-6576f9fcdc-kt9xw": NetworkPlugin cni failed to set up pod "web-6576f9fcdc-kt9xw_hc" network: dial tcp: lookup etcd-a.internal.cluster.xxxx.xx on xxx.xx.x.x:53: no such host, failed to clean up sandbox container "db2249c98d0b8b4bbef79ac5cd7e5c36c957f3929637093268670e7002c2467f" network for pod "web-6576f9fcdc-kt9xw": NetworkPlugin cni failed to teardown pod "web-6576f9fcdc-kt9xw_hc" network: dial tcp: lookup etcd-a.internal.cluster.xx.xx on xxx.xx.x.x:53: no such host]

2 个答案:

答案 0 :(得分:0)

通常,在设置域时,它会花费一些时间传播,并且传播不均匀。常见的情况是,在创建记录后,您将根本无法解析它,然后过一会儿它会变得片状,最终会稳定下来。有时,DNS需要花费数十个小时来传播。

您可以从Internet搜索中找到许多在线文章,这些文章解释了DNS传播为什么要花费这么多时间。还有DNS Checker之类的简洁工具,可以使您了解DNS记录在全球的传播情况。

正如您在评论中确认的那样,第二天您的问题就消失了。

答案 1 :(得分:0)

我认为您的问题非常复杂,无法简单回答。

请参考:

首先,请开始调试群集,并验证您的问题是否与域设置有关,或者是群集内部问题。 Debugging DNS Resolution

  • 请在您的pod内的/etc/resolv.conf中验证本地dns配置。

  • 请验证DNS,Coredns PODS中的错误。

要获取有关dns解析的更多信息,您可以使用其他工具,例如:nslkookup,dig,traceroute

example:
nslookup -type=a [domain.com]
using against specific domain server 
nslookup -type=a [domain.com] [ns server]

使用这些工具,您还可以获得有关非权威性或权威性答案的信息。

  

权威名称服务器是具有域区域文件的原始源文件的名称服务器。

因为在生产环境中非常重要,请尝试重新创建问题,以确保将来的服务保持健康。

希望获得帮助。

相关问题