文档章节

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

CloudMAN
 CloudMAN
发布于 2017/08/30 07:41
字数 427
阅读 60
收藏 1

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

flannel 网络连通性

测试 bbox1 和 bbxo2 的连通性:

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

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

  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。

二维码+指纹.png

© 著作权归作者所有

共有 人打赏支持
CloudMAN
粉丝 511
博文 360
码字总数 221704
作品 0
海淀
Network Policy - 每天5分钟玩转 Docker 容器技术(171)

Network Policy 是 Kubernetes 的一种资源。Network Policy 通过 Label 选择 Pod,并指定其他 Pod 或外界如何与这些 Pod 通信。 默认情况下,所有 Pod 是非隔离的,即任何来源的网络流量都能...

cloudman6
05/22
0
0
部署 k8s Cluster(下)- 每天5分钟玩转 Docker 容器技术(119)

上节我们通过 kubeadm 在 k8s-master 上部署了 Kubernetes,本节安装 Pod 网络并添加 k8s-node1 和 k8s-node2,完成集群部署。 安装 Pod 网络 要让 Kubernetes Cluster 能够工作,必须安装 ...

CloudMAN
01/15
0
0
每天5分钟玩转Docker容器技术(一)

写在最前面 《每天5分钟玩转Docker容器技术》是一个有关容器技术的教程,有下面两个特点: 系统讲解当前最流行的容器技术 从容器的整个生态环境到各种具体的技术,从整体到细节逐一讨论。 重...

2017/12/25
0
0
查看 Secret - 每天5分钟玩转 Docker 容器技术(156)

可以通过 查看存在的 secret。 显示有两个数据条目, 查看条目的 Key: 如果还想查看 Value,可以用 : 然后通过 base64 将 Value 反编码: 下节学习如何在 Pod 中使用 Secret。 书籍: 1.《...

cloudman6
04/17
0
0
环境变量方式使用 Secret - 每天5分钟玩转 Docker 容器技术(158)

通过 Volume 使用 Secret,容器必须从文件读取数据,会稍显麻烦,Kubernetes 还支持通过环境变量使用 Secret。 Pod 配置文件示例如下: 创建 Pod 并读取 Secret。 通过环境变量 和 成功读取到...

cloudman6
04/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

10-《深度拆解JVM》JVM是怎么实现invokedynamic的?(下)

一、问题引入 上回讲到,为了让所有的动物都能参加赛马,Java 7 引入了 invokedynamic 机制,允许调用任意类的“赛跑”方法。不过,我们并没有讲解 invokedynamic,而是深入地探讨了它所依赖...

飞鱼说编程
16分钟前
0
0
457. Circular Array Loop

Description Difficulty : Medium You are given an array of positive and negative integers. If a number n at an index is positive, then move forward n steps. Conversely, if it's n......

52iSilence7
32分钟前
0
0
MySQL SQL 常见用法

某字段重复记录 select a.fieldA from tableA a group by a.fieldA having count(a.fieldA)>1;==select * from (select a.fieldA, count(1) as faCount from tableA a group......

园领T
今天
1
0
如何使用 iptables 和 firewalld 工具来管理 Linux 防火墙规则

以下是如何使用 iptables 和 firewalld 工具来管理 Linux 防火墙规则。 防火墙 防火墙是一组规则。当数据包进出受保护的网络区域时,进出内容(特别是关于其来源、目标和使用的协议等信息)会...

linuxprobe16
今天
1
0
发生系统错误 5 拒绝访问

1、使用命令net start *开启一个服务的时候,出现发生系统错误5,拒绝访问。 解决:切换到管理员模式执行此命令即可。

fang_faye
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部