作用:跨docker宿主机进行docker和docker之间的通信,所有node节点要安装flannel插件
1:安装插件
yum -y install flannel
image.png
2:修改flannel配置
配置/etc/sysconfig/flanneld-------修改为master节点ectd所在地址
每个容器的ip地址会存储在etcd里边
3:设置docker容器ip地址范围
master执行
etcdctl set /atomic.io/network/config '{"NETWORK":"172.16.0.0/16"}'
image.png
4:启动网络插件
启动flannel服务
systemctl start/enable flanneld.service
image.png
重启docker服务,让flannel生效,docker0地址段会变化
重启前
image.png
重启docker服务后
image.png
剩余node节点照此操作
5:测试容器跨主机通信
测试方法
两个node节点docker pull busybox
然后分别docker run -it busybox进入容器后ping另一个容器地址,发现无法通信
image.png
原因为docker 1.13版本后iptable规则修改
iptables -L -n --------图中可以看出forward默认drop
image.png
修改规则
image.png
再次测试,已通
image.png
需要将iptable策略加到docker启动服务中,否则机器重启会失效
网友评论