flannel网络概述

flannel是由CoreOS开发的容器网络解决方案,为每个主机分配子网,实现跨主机容器无NAT通信。它使用etcd存储网络配置,通过vxlan或host-gw等backend进行数据包转发。flannel在Docker跨主机网络通信工具中,以其简单的网络模型和高可扩展性脱颖而出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**

flannel网络概述

**
flannel 是 CoreOS 开发的容器网络解决方案。flannel 为每个 host 分配一个 subnet(子网),容器从此 subnet 中分配 IP,这些 IP 可以在主机间路由,容器间无需 NAT 和 port mapping(端口映射) 就可以跨主机通信。

flannel的作用
因为flannel实现跨主机的子网通信是通过主机中的dr0网卡进行通信的,由flannel分配的子网都是从手动指定的一个大的子网中划分出来分配的。

flannel 会在每个主机上运行一个叫 flanneld 的代理。其职责就是从池子中分配 subnet。为了在各个主机间共享信息,flannel 用 etcd(与 consul 类似的 key-value 分布式数据库)存放网络配置、已分配的 subnet、host 的 IP 等信息。

数据包转发原理
数据包如何在主机间转发是由 backend 实现的。flannel 提供了多种 backend,最常用的有 vxlan 和 host-gw

其他 backend 请参考 https://github.com/coreos/flannel

跨主机容器网络通信实现工具
Docker跨主机容器间网络通信实现的工具有pipework、flannel、weave、open vswitch(虚拟交换机)、calico

其中flannel和weave的区别是:

weave的思路
在每个宿主机上布置一个特殊的route的容器,不同宿主机的route容器连接起来。 route拦截所有普通容器的ip请求,并通过udp包发送到其他

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值