getaddrinfo:名称解析kubernetes+;科雷恩斯
我们有一个服务,发送大量事件。它基本上会打开多个http POST连接 由于我们将服务移动到kubernetes,因此我们不时出现getaddrinfo:名称解析kubernetes+;科雷恩斯,kubernetes,coredns,Kubernetes,Coredns,我们有一个服务,发送大量事件。它基本上会打开多个http POST连接 由于我们将服务移动到kubernetes,因此我们不时出现getaddrinfo:名称解析中的临时故障错误。(大多数电话都能正常工作,但也有一些失败了,这很奇怪 有人能解释为什么以及如何修复吗?检查点火器柱,他们也有类似的问题: 以及其dns信息的来源: TLDR:检查arp表缓存gc_*主机参数,尝试在containers/etc/gai.conf中禁用AAAA查询,将DNS移动到守护程序集,并将主机IP作为DNS服务
getaddrinfo:名称解析中的临时故障
错误。(大多数电话都能正常工作,但也有一些失败了,这很奇怪
有人能解释为什么以及如何修复吗?检查点火器柱,他们也有类似的问题: 以及其dns信息的来源: TLDR:检查arp表缓存gc_*主机参数,尝试在containers/etc/gai.conf中禁用AAAA查询,将DNS移动到守护程序集,并将主机IP作为DNS服务器注入POD
此外,为了帮助解决这一问题并加快dns解析速度,请在所有域(即:database.example.com.)中添加一个结束点,这样coredns将直接尝试该查询(一个查询,两个使用ipv6),而不是尝试所有kubernetes搜索域列表(大约5个,10个使用ipv6)。只在您查询kubernetes资源或不喜欢它的应用程序中保留该点(如果存在,这是一个错误,所有DNS总是以一个点结束,而大多数情况下,我们可以保留该点,这是正确的方式,不能失败)您能否更具体地说明哪些调用失败?您如何处理另一个服务?我正在对集群外的不同域(在web上)进行多个调用。有时调用会失败。coredns日志中的错误如下:
.ec2.internal.AAAA:无法访问的后端:读取udp 10.0.158.199:51893->10.0.0.2:53:i/o超时
-coredns试图访问.ec2.internal而不仅仅是。此外,我不明白为什么会超时。更新,kubernetes 1.18(发布时)将允许在守护程序中使用特殊的DNS,因此每个节点都将拥有自己的本地DNS,绕过conntrack表,这将有助于解决此类问题