本次研究使用docker自带的overlay覆盖网络模式
1、overlay模式下指定具体ip网段 结果:可以
2、overlay模式下各主机各容器是否能相互内网访问。结果:可以
3、各主机是否能访问外网. 结果:可以
4、overlay对consul的依赖程度,在容器启动后关闭consul会有什么影响,,
影响:
各容器直接访问会依赖consul关闭前的状态,比如a容器 ping b容器,之前的通的,不管b容器有没有关闭,都是通的
依赖overlay网络的容器无法启动
使用的服务器ip分别是:
172.17.3.3和172.17.3.4
先在172.17.3.4部署consul服务,用来做配置同步,该服务可做成单机也可集群看实际需求,这边研究就用来单机模式
1、下载consul启动包
wget https://releases.hashicorp.com/consul/1.2.1/consul_1.2.1_linux_amd64.zip
2、解压并启动consul服务
unzip consul_1.2.1_linux_amd64.zip
nohup /root/consul agent -server -bootstrap -ui -data-dir=/root/consul-data -client=0.0.0.0 -bind=172.17.3.4 -node=172.17.3.4 &
创建覆盖网络(默认网段为10.0.x.0/24)
docker network create -d overlay ov_net1
我这边使用二进制安装包安装的docker服务,所以先开启docker守护进程
nohup /usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store consul://172.17.3.4:8500 --cluster-advertise 172.17.3.4:2375 &
--服务器172.17.3.3
开启docker守护进程
nohup /usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store consul://172.17.3.4:8500 --cluster-advertise 172.17.3.3:2375 &
两台服务器下载镜像
docker pull wuweichina/kong:v0.10.4
两台服务器开启容器kong
docker run -ti -p 8000:8000 --restart=always --network ov_net1 --name kong -v kong:/data -d wuweichina/kong:v0.10.4
然后登录两台服务器进行网络操作,看看是否通,也可以通过以下命令查看网段中ip的分配信息具体信息
docker network inspect ov_net1
结束,后面有需要也可以看看,修改网段测试的命令
如果需要创建指定新覆盖网络网段
docker network create -d overlay --subnet 10.22.1.0/24 ov_net2
然后把之前的ov_net1移到ov_net2
增加新网络
docker network connect ov_net2 kong
移除旧网络
docker network disconnect ov_net1 kong
查看网段具体信息
docker network inspect ov_net1