繁体   English   中英

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

[英]kubernetes, pods can not communicate via domain name

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

现在,这些Pod无法通过域和子域进行通信,在ip上它们可以像curl ip-to-any-pod一样工作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]

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

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

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

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

请参阅:

  • 核心DNS
  • kubernetes 1.15.3中特定于集群的问题(您可以在环境中验证此设置)

    kubernetes区域中DNS记录的默认TTL已从5s更改为30s,以与基于dnsmasq的旧kube-dns保持一致。 可以使用命令kubectl edit -n kube-system configmap/coredns自定义TTL将kubeadm cluster-dns 的CoreDNS版本恢复为1.3.1

  • 等同于kube-dns的 CoreDNS 配置

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

  • 请在您的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]

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

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

由于这在生产环境中非常重要,请尝试重现此问题,以确保将来的服务保持健康。

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM