您的位置 首页 docker

大规模跨主机通信-overlay(基于vxlan技术实现)

大规模跨主机通信-overlay(基于vxlan技术实现)

(1)部署consul服务,如果你的网卡名称不是eth0,需要修改,比如ens33.(镜像不建议使用最新的,可能会启动不了!推荐使用2022下半年的镜像即可)
root@ubuntu211:~#   docker run -d --network host --restart always --name=dev-consul -e CONSUL_BIND_INTERFACE=eth0 consul:1.13.8


	(2)docker客户端指定consul服务的地址(客户端对应的cluster-advertise值要根据实际情况调整)
[root@centos201 ~]#  cat > /etc/docker/daemon.json <<'EOF'
{
  "registry-mirrors": ["https://tuv7rqqq.mirror.aliyuncs.com"],
   "cluster-store": "consul://10.0.0.211:8500",
   "cluster-advertise": "10.0.0.201:6666"
}
EOF
systemctl restart docker




[root@centos202 ~]# cat > /etc/docker/daemon.json <<'EOF'
{
  "registry-mirrors": ["https://tuv7rqqq.mirror.aliyuncs.com"],
   "cluster-store": "consul://10.0.0.211:8500",
   "cluster-advertise": "10.0.0.202:7777"
}
EOF
systemctl restart docker




	(3)任何客户端节点创建网络,其他客户端会通过consul来实时同步配置哟
[root@centos201 ~]# docker network create -d overlay --subnet 172.30.0.0/16 --gateway 172.30.0.254 baimei-overlay

	(4)10.0.0.201 节点基于自定义网络启动容器
[root@centos201 ~]# docker container run --rm -it --name c1 --network baimei-overlay alpine 

	(5)10.0.0.202节点基于自定义网络启动容器
[root@centos202 ~]# docker container run --rm -it --name c2 --network baimei-overlay alpine 

	(6)原理如上图所示。
tcpdump -i docker_gwbridge -nn icmp



docker相关参数说明:
	bip:
		指定docker0的IP地址网段。
	data-root:
		指定docker的数据存储目录。
	insecure-registries:
		指定私有仓库。
	storage-driver:
		指定存储驱动。
	cluster-store:
		配置的是consul服务监听的地址。
	cluster-advertise:
		指定的是docker的宿主机注册到consul中的指定网卡中的ip,也可以写ip和端口号,端口只要没被占用就可以了。


 

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章