flannel 的连通与隔离 - 每天5分钟玩转 Docker 容器技术(61)

简介:

上一节我们在 flannel 网络中部署了容器本节讨论 flannel 的连通和隔离特性。

flannel 网络连通性

测试 bbox1 和 bbxo2 的连通性

bbox1 能够 ping 到位于不同 subnet 的 bbox2通过 traceroute 分析一下 bbox1 到 bbox2 的路径。

  1. bbox1 与 bbox2 不是一个 subnet数据包发送给默认网关 10.2.40.1docker0。

  2. 根据 host1 的路由表下图数据包会发给 flannel.1。

  3. flannel.1 将数据包封装成 VxLAN通过 enp0s8 发送给 host2。

  4. 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 网络一样即

  1. 容器通过 docker0 NAT 访问外网

  2. 通过主机端口映射外网可以访问容器

详细讨论可参考前面 bridge 网络相关章节。

以上是 flannel vxlan 的相关知识点下一节我们讨论 flannel host-gw backend。


本文转自CloudMan6 51CTO博客,原文链接:http://blog.51cto.com/cloudman/1961000


相关文章
|
11月前
|
Kubernetes Devops Docker
Kubernetes 和 Docker Swarm:现代 DevOps 的理想容器编排工具
本指南深入解析 Kubernetes 与 Docker Swarm 两大主流容器编排工具,涵盖安装、架构、网络、监控等核心维度,助您根据团队能力与业务需求精准选型,把握云原生时代的技术主动权。
936 115
|
11月前
|
缓存 前端开发 Docker
Docker Layer Caching:加速你的容器构建
Docker Layer Caching:加速你的容器构建
|
12月前
|
运维 持续交付 开发者
Docker:现代应用开发的容器化革命
Docker:现代应用开发的容器化革命
|
10月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
870 52
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
10月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
983 6
|
10月前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
914 6