flannel 的连通与隔离 - 每天5分钟玩转 Docker 容器技术(61)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flannel 的连通与隔离 - 每天5分钟玩转 Docker 容器技术(61)相关的知识,希望对你有一定的参考价值。
上一节我们在 flannel 网络中部署了容器本节讨论 flannel 的连通和隔离特性。
flannel 网络连通性
测试 bbox1 和 bbxo2 的连通性
bbox1 能够 ping 到位于不同 subnet 的 bbox2通过 traceroute
分析一下 bbox1 到 bbox2 的路径。
bbox1 与 bbox2 不是一个 subnet数据包发送给默认网关 10.2.40.1docker0。
根据 host1 的路由表下图数据包会发给 flannel.1。
flannel.1 将数据包封装成 VxLAN通过 enp0s8 发送给 host2。
host2 收到包解封装发现数据包目的地址为 10.2.17.2根据路由表下图将数据包发送给 flannel.1并通过 docker0 到达 bbox2。
数据流向如图所示
另外flannel 是没有 DNS 服务的容器无法通过 hostname 通信。
flannel 网络隔离
flannel 为每个主机分配了独立的 subnet但 flannel.1 将这些 subnet 连接起来了相互之间可以路由。本质上flannel 将各主机上相互独立的 docker0 容器网络组成了一个互通的大网络实现了容器跨主机通信。flannel 没有提供隔离。
flannel 与外网连通性
因为 flannel 网络利用的是默认的 bridge 网络所以容器与外网的连通方式与 bridge 网络一样即
容器通过 docker0 NAT 访问外网
通过主机端口映射外网可以访问容器
详细讨论可参考前面 bridge 网络相关章节。
以上是 flannel vxlan 的相关知识点下一节我们讨论 flannel host-gw backend。
以上是关于flannel 的连通与隔离 - 每天5分钟玩转 Docker 容器技术(61)的主要内容,如果未能解决你的问题,请参考以下文章
macvlan 网络隔离和连通 - 每天5分钟玩转 Docker 容器技术(57)
macvlan 网络隔离和连通 - 每天5分钟玩转 Docker 容器技术(57)
在 Docker 中使用 flannel - 每天5分钟玩转 Docker 容器技术(60)
如何使用 flannel host-gw backend?- 每天5分钟玩转 Docker 容器技术(62)