开发者社区> 问答> 正文

为什么docker0网桥在带有法兰绒的kubernetes集群中显示?

我有一个使用kubadm和1个master和2个worker创建的kubernetes集群。法兰绒被用作网络插件。注意,docker0网桥在所有工作节点和主节点上均已关闭,但集群网络正常运行。如果我们在kubernetes集群中使用诸如法兰绒的任何网络插件,那么docker0桥是否会被关闭?

docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN
    link/ether 02:42:ad:8f:3a:99 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0

展开
收起
祖安文状元 2020-01-08 15:05:27 528 0
1 条回答
写回答
取消 提交回答
  • 我正在从该 SO线程发布社区Wiki答案,因为我相信它可以回答您的问题。

    这里有Docker和Kubernetes两个网络模型。

    Docker模型

    默认情况下,Docker使用主机-专用网络。它创建一个docker0默认情况下调用的虚拟网桥,并从RFC1918中为该网桥定义的专用地址块之一分配一个子网。对于Docker创建的每个容器,它都会分配一个虚拟以太网设备(称为veth),该设备连接到网桥。eth0使用Linux命名空间将veth映射为在容器中显示。容器内eth0接口从网桥的地址范围获得IP地址。

    结果是,仅当Docker容器位于同一台机器(因此位于同一虚拟桥)上时,它们才能与其他容器对话。不同机器上的容器无法相互访问 -实际上,它们最终可能具有完全相同的网络范围和IP地址。

    2020-01-08 15:05:32
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ACK 云原生弹性方案—云原生时代的加速器 立即下载
ACK集群类型选择最佳实践 立即下载
企业运维之云原生和Kubernetes 实战 立即下载