【发布时间】:2019-02-22 00:17:54
【问题描述】:
在 Mac 上使用 Docker,我正在尝试将 docker run 参数移植到 kubernetes yaml 配置中,今天我们正在运行具有以下 DNS 标志的容器:
--dns="8.8.8.8" --dns="8.8.4.4"
当我对这个容器执行 docker 检查时,我看到:
"Dns": [
"8.8.8.8",
"8.8.4.4"
]
阅读 Kubernetes 文档后,我将 pod yaml 配置如下:
dnsPolicy: "None"
dnsConfig:
nameservers:
- 8.8.8.8
- 8.8.4.4
但是当我对 Kubernetes 启动的容器执行 docker 检查时,我看到了
"Dns": null
这是预期的吗?配置正确吗?也许 Kubernetes 网络绕过了容器配置,所以容器不知道......我根本不知道。
【问题讨论】:
-
您好,也许 dnsPolicy 的值应该不同,如果您想附加主机的值,那么“ClusterFirstWithHostNet”可能会有用
-
如果您在容器内
cat /etc/resolv.conf怎么办?你看到了什么? -
@SureshVishnoi 根据文档和 github dnsPolicy 上的 k8s 代码应该是 None 才能使 dnsConfig 生效。
-
@fiunchinho,它显示了我的 mac 设置(使用其他名称服务器)
-
嗨,我使用了上面的值,得到了下面的值 ``` sh-4.2# cat /etc/resolv.conf nameserver 8.8.8.8 nameserver 8.8.4.4 sh-4.2# ```
标签: docker kubernetes