大家好,如果觉得小名写的文章对大家有帮助的话,麻烦三连一下下!(加关注,点个赞,转个发)
一、介绍
本次研究使用docker自带的overlay覆盖网络模式
1、overlay模式下指定具体ip网段 结果:可以
2、overlay模式下各主机各容器是否能相互内网访问。结果:可以
3、各主机是否能访问外网. 结果:可以
4、overlay对consul的依赖程度,在容器启动后关闭consul会有什么影响,,
影响:
各容器直接访问consul关闭前的状态,比如a容器 ping b容器,之前的通的,不管b容器有没有关闭,都是通的
依赖overlay网络的容器无法启动
二、搭建和测试
简单说下思路:
第一步:搭建consul做配置共享
第二步:各服务器启动dockerd,但是启动的时候指定配置保持至consul中
第三步:创建虚拟网络overlay
第四步:各服务器的容器启动的时候指定网络为虚拟网络overlay
使用的服务器ip分别是:
172.17.3.3和172.17.3.4
第一步:搭建consul做配置共享
先在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 &
第二步:各服务器启动dockerd,但是启动的时候指定配置保持至consul中
在172.17.3.4服务器上开启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 &
第三步:创建虚拟网络overlay
在172.17.3.4服务器上创建虚拟网络(默认网段为10.0.x.0/24)
docker network create -d overlay ov_net1
第四步:各服务器的容器启动的时候指定网络为虚拟网络overlay
两台服务器下载镜像
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