GKE DNS解析错误

时间:2018-07-25 07:35:13

标签: dns kubernetes google-kubernetes-engine

我们在GKE(1.9版)上使用Kubernetes cronjobs来运行多个定期任务。在Pod中,我们需要对网络外部的外部API进行多次调用。通常(但并非始终如此),这些呼叫由于DNS解析超时而失败。

我目前的假设是,我们尝试联系的服务的上游DNS服务器正在限制请求的速率,在这些请求中,我们进行大量重复的DNS请求是因为这些记录的TTL太低或仅仅是因为我们丢弃了dnsmasq缓存中的这些条目是由于缓存大小较小所致。

我尝试编辑kube-dns部署,以更改传递给dnsmasq容器的缓存大小和ttl参数,但由于它是GKE托管的部署,因此更改被还原。 有没有办法保留这些更改,以使GKE不会覆盖它们?还有其他解决GKE或Kubernetes引擎上的dns问题的想法吗?

2 个答案:

答案 0 :(得分:1)

不确定是否覆盖所有旋钮,但是如果更新部署使用的ConfigMap,则应该能够在GKE上重新配置KubeDNS。部署新实例时,它将使用ConfigMap。然后,对现有的Pod进行核对,以使用新的配置重新部署它们。

答案 1 :(得分:0)

我建议您使用ExternalDNS吊舱,就像KubeDNS一样,它从Kubernetes API检索资源列表(服务,入口等),以确定所需的DNS记录列表。