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


相关文章
|
Kubernetes Devops Docker
Kubernetes 和 Docker Swarm:现代 DevOps 的理想容器编排工具
本指南深入解析 Kubernetes 与 Docker Swarm 两大主流容器编排工具,涵盖安装、架构、网络、监控等核心维度,助您根据团队能力与业务需求精准选型,把握云原生时代的技术主动权。
999 115
|
缓存 前端开发 Docker
Docker Layer Caching:加速你的容器构建
Docker Layer Caching:加速你的容器构建
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
924 52
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
1072 6
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
1012 6
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
880 2
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
1481 4