一、overlay网络简介
容器在两个跨主机进行通信的时候,可以使用overlay network这个网络模式进行通信,Overlay 技术是在现有的物理网络之上构建一个虚拟网络,上层应用只与虚拟网络相关,当前主流的 Overlay 技术主要有VXLAN, GRE/NVGRE和 STT。
二、实验目的
将上篇博客的实验进行改进,在两个宿主机分别创建容器redis和容器flask-redis,利用overlay网络进行通信。
三、实验环境
主机docker1:IP192.168.43.213,容器redis
主机docker2:IP192.168.43.220,容器flask-redis
四、实验步骤
1、在两台主机上安装分布式存储集群etcd,用于存储彼此的容器ip、名称等信息避免冲突
ps:关闭两台主机的防火墙
systemctl disable firewalld
systemctl stop firewalld
在docker1上
[root@docker1~]# tar zxvf etcd-v3.0.12-linux-amd64.tar.gz
[root@docker1~]# cd etcd-v3.0.12-linux-amd64
[root@docker1 etcd-v3.3.12-linux-amd64]# nohup ./etcd --name docker1 --initial-advertise-peer-urls http://192.168.43.213:2380 \
--listen-peer-urls http://192.168.43.213:2380 \
--listen-client-urls http://192.168.43.213:2379,http://127.0.0.1:2379 \
--advertise-client-urls http://192.168.43.213:2379 \
--initial-cluster-token etcd-cluster \
--initial-cluster docker1=http://192.168.43.213:2380,docker2=http://192.168.43.220:2380 \
--initial-cluster-state new&
在docker2上
[root@docker2 ~]# tar zxvf etcd-v3.0.12-linux-amd64.tar.gz
[root@docker2 ~]# cd etcd-v3.0.12-linux-amd64/
[root@docker2 etcd-v3.3.12-linux-amd64]# nohup ./etcd --name docker2 --initial-advertise-peer-urls http://192.168.43.220:2380 \
--listen-peer-urls http://192.168.43.220:2380 \
--listen-client-urls http://192.168.43.220:2379,http://127.0.0.1:2379 \
--advertise