开发者社区> 问答> 正文

kubernetes vs Docker DNS配置

k8s小能手 2019-02-22 16:07:29 473

在Mac上使用Docker,我正在尝试将docker run参数移植到kubernetes yaml配置,今天我们正在运行一个带有以下DNS标志的容器:

--dns =“8.8.8.8”--dns =“8.8.4.4”

当我对这个容器进行码头工检查时,我看到:

"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推出的容器时,我看到了

"Dns": null
这是预期的吗?配置是否正确?也许Kubernetes网络绕过容器配置,所以容器不知道......

Kubernetes 网络协议 C++ Docker 容器 Perl
分享到
取消 提交回答
全部回答(1)
  • k8s小能手
    2019-07-17 23:29:13

    由于fiunchinho澄清了行为是正确的。配置Pod DNS策略会对容器产生影响,但是您将无法通过docker命令看到它,就像在其他一些情况下一样。这是因为docker和Kubernetes在堆栈的不同层上运行。

    因此,添加DNS参数docker run将导致将它们写入/etc/resolv.conf并且添加时会发生同样的事情,dnsConfig尽管在最后一个示例中Docker将不会意识到它。所以回答这个问题,是的,这是预期的行为。

    0 0
+ 订阅

云原生时代,是开发者最好的时代

推荐文章
相似问题