2

我按照本教程安装了 kubernetes 。

我的一个容器尝试从外部域(例如 google.com)获取资源。但它失败了,因为 kubernetes dns 不使用外部名称解析。

如何使用 dns 8.8.8.8 配置 kubernetes?

4

2 回答 2

1

nslookup google.com容器和节点中的结果是什么?

如果 pod 的 dnsPolicy 是 ClusterFirst,google.com DNS 查询应该被转发到节点指定的上游 DNS。

显示 kube-dns 容器配置和日志也很有用。

默认查找流程

于 2017-09-18T23:52:04.913 回答
0

我们也在研究这个怪癖。silverfox 已经提到了“dnsPolicy”——默认情况下,pod 配置为从托管节点继承 dns 配置。

我还没有尝试过(我们通过 api 控制我们的 pod 规范),但显然您可以通过在 pod yaml 中将 Pods dnsPolicy 指定为“None”来覆盖它。您需要使用 dnsConfig 自定义 pod 的配置。

在 yml 中:

spec:
   dnsPolicy: None
   dnsConfig:
     nameservers:
       - 1.1.1.1
       - 8.8.8.8

该文档写得很好:https ://kubernetes.io/docs/concepts/services-networking/dns-pod-service/

于 2018-04-11T15:56:49.720 回答