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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

上一节我们在 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


相关文章
|
3月前
|
存储 容器
46.[HarmonyOS NEXT RelativeContainer案例三] 打造自适应容器:内容驱动的智能尺寸调整技术
在HarmonyOS NEXT的UI开发中,创建能够根据内容自动调整尺寸的容器是实现灵活布局的关键。RelativeContainer结合自适应尺寸设置,可以实现内容驱动的智能尺寸调整,使UI更加灵活且易于维护。本教程将详细讲解如何创建自适应尺寸的RelativeContainer,帮助你掌握这一实用技术。
116 5
|
1月前
|
Kubernetes Cloud Native 持续交付
Docker:轻量级容器化技术解析
Docker:轻量级容器化技术解析
|
1月前
|
运维 测试技术 Docker
Docker:轻量级容器化技术革命
Docker:轻量级容器化技术革命
|
5月前
|
弹性计算 Java Maven
从代码到容器:Cloud Native Buildpacks技术解析
Cloud Native Buildpacks(CNB)是一种标准化、云原生的容器镜像构建系统,旨在消除手动编写Dockerfile,提供可重复、安全且高效的构建流程。它通过分层策略生成符合OCI标准的镜像,实现应用与基础镜像解耦,并自动化依赖管理和更新。阿里云应用管理支持通过CNB技术一键部署应用至ECS,简化构建和运行流程。
|
6月前
|
存储 虚拟化 Docker
|
6月前
|
安全 API 算法框架/工具
大模型文件Docker镜像化部署技术详解
大模型文件Docker镜像化部署技术详解
845 2
|
2月前
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
233 57
|
2月前
|
存储 监控 Java
如何对迁移到Docker容器中的应用进行性能优化?
如何对迁移到Docker容器中的应用进行性能优化?
222 58
|
2月前
|
NoSQL Redis Docker
使用Docker Compose工具进行容器编排的教程
以上就是使用Docker Compose进行容器编排的基础操作。这能帮你更有效地在本地或者在服务器上部署和管理多容器应用。
292 11
|
2月前
|
缓存 Java Docker
如何对应用代码进行优化以提高在Docker容器中的性能?
如何对应用代码进行优化以提高在Docker容器中的性能?
193 1