将kube-dns的IP作为env传递给容器

时间:2017-03-23 15:43:28

标签: kubernetes kube-dns

有没有办法将kube-dns服务器IP传递给容器,以便容器内的服务可以正确解析名称?

我正在尝试运行nginx,它需要指定一个resolver指令来解析DNS服务器的名称。

我不想使用公共DNS服务器;只有kube-dns提供的那个。

此外,我需要一种动态的方式来传递IP,因为DNS服务器IP可以在各种云平台或裸机配置中进行更改。所以,我不能使用硬编码的10.0.0.10 IP。

1 个答案:

答案 0 :(得分:1)

好吧,看起来很简单。 我错过了几点。

  1. kube-dnskube-system命名空间中作为Kubernetes服务运行。
  2. 该服务的DNS名称为kube-dns.kube-system.svc.cluster.local
  3. 我们可以使用env将其传递给容器。
  4. 编辑:

    看来我在看错了地方。它确实使用本地解析器解析。问题是我在NGINX中点击了一个“功能”,它将查找缓存300秒并导致名称解析失败,我正在调查k8s。