Docker Overlay Network
Overlay网络是指在不改变现有网络基础设施的前提下,通过某种约定通信协议,把二层报文封装在IP报文之上的新的数据格式。这样不但能够充分利用成熟的IP路由协议进程数据分发;而且在Overlay技术中采用扩展的隔离标识位数,能够突破VLAN的4000数量限制支持高达16M的用户,并在必要时可将广播流量转化为组播流量,避免广播数据泛滥。
因此,Overlay网络实际上是目前最主流的容器跨节点数据传输和路由方案。
要想使用Docker原生Overlay网络,需要满足下列任意条件
- Docker 运行在Swarm
- 使用键值存储的Docker主机集群
使用键值存储搭建Docker主机集群
使用键值存储的Docker主机集群,需满足下列条件:
- 集群中主机连接到键值存储,Docker支持 Consul、Etcd和Zookeeper
- 集群中主机运行一个Docker守护进程
- 集群中主机必须具有唯一的主机名,因为键值存储使用主机名来标识集群成员
- 集群中linux主机内核版本在3.12+,支持VXLAN数据包处理,否则可能无法通行
部署docker内置的OverLAY网络
环境准备说明
host | ip- |
---|---|
node01 | 10.0.0.15 |
node02 | 10.0.0.16 |
安装Consul
下载地址:Download Consul
启动命令
bash
|
|
配置docker链接consul
bash
|
|
创建 overlay网络
bash
|
|
这边自动回进行通步,因为使用的是同一个服务器发件。
bash
|
|
创建使用overlay网络的容器
bash
|
|
进入查看ip信息。
node01
bash
|
|
node02
bash
|
|
测试网络
bash
|
|