Docker网络驱动

  1. Overlay: 基于VXLAN封装实现Docker原生Overlay网络
  2. Macvlan: Docker主机网卡接口逻辑上分为多个子接口,每个子接口标识一个VLAN。容器接口直接连接Docker主机
  3. 网卡接口: 通过路由策略转发到另一台Docker主机

   第三方网络项目

        隧道方案

    -- Flannel: 支持UDP和VLAN封装传输方式

               -- Weave: 支持UDP(sleeve模式)和 VXLAN(优先fastdb模式)

               -- OpenvSwitch: 支持VXLAN和GRE协议

             路由方案

                Calico: 支持BGP协议和IPIP隧道。每台宿主机作为虚拟路由,通过BGP协议实现不同主机容器间通信 

Docker Overlay Network

Overlay网络是指在不改变现有网络基础设施的前提下,通过某种约定通信协议,把二层报文封装在IP报文之上的新的数据格式。这样不但能够充分利用成熟的IP路由协议进程数据分发;而且在Overlay技术中采用扩展的隔离标识位数,能够突破VLAN的4000数量限制支持高达16M的用户,并在必要时可将广播流量转化为组播流量,避免广播数据泛滥。

  因此,Overlay网络实际上是目前最主流的容器跨节点数据传输和路由方案。

  要想使用Docker原生Overlay网络,需要满足下列任意条件

  • Docker 运行在Swarm
  • 使用键值存储的Docker主机集群

需满足下列条件:

  • 集群中主机连接到键值存储,Docker支持 Consul、Etcd和Zookeeper
  • 集群中主机运行一个Docker守护进程
  • 集群中主机必须具有唯一的主机名,因为键值存储使用主机名来标识集群成员
  • 集群中linux主机内核版本在3.12+,支持VXLAN数据包处理,否则可能无法通行

需满足下列条件:

  • 集群中主机连接到键值存储,Docker支持 Consul、Etcd和Zookeeper
  • 集群中主机运行一个Docker守护进程
  • 集群中主机必须具有唯一的主机名,因为键值存储使用主机名来标识集群成员
  • 集群中linux主机内核版本在3.12+,支持VXLAN数据包处理,否则可能无法通行
12-20 05:37
查看更多