环境准备
物理主机:DPServerCore134 IP=192.168.100.134
物理主机:DPServerCore135 IP=192.168.100.135
安装并配置Consul
Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源. Consul 支持健康检查,并允许 HTTP 和 DNS 协议调用 API 存储键值对.
从consul官网下载(134,135)
cd /tmp
wget https://releases.hashicorp.com/consul/1.4.0/consul_1.4.0_linux_amd64.zip
解压安装(134,135)
unzip consul_1.4.0_linux_amd64.zip
mv consul /usr/local/bin/consul && chmod u+x /usr/local/bin/consul
创建运行目录(134,135)
mkdir -p /opt/consul
启动consul server(134)
nohup consul agent -server -bootstrap -ui -data-dir /opt/consul -client=0.0.0.0 -bind=192.168.100.134 &>/var/log/consul.log &
启动consul client(135)
nohup consul agent -data-dir /opt/consul -client=0.0.0.0 -bind=192.168.100.135 &>/var/log/consul.log &
加入集群操作(135)
consul join 192.168.100.134
查看集群
consul members
通过UI访问查看
http://192.168.100.134:8500/ui
配置docker启动脚本
配置脚本(134)
vi /lib/systemd/system/docker.service
#找到对应参数替换
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store consul://192.168.100.134:8500 --cluster-advertise 192.168.100.134:2375
配置脚本(135)
vi /lib/systemd/system/docker.service
#找到对应参数替换
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store consul://192.168.100.135:8500 --cluster-advertise 192.168.100.135:2375
重新加载docker配置
systemctl daemon-reload
重新启动docker
systemctl restart docker
创建overlay网络
在consul server端执行创建网络命令(134)
docker network create -d overlay multihost
检查网络(134、135)
docker network ls
参考
docker跨主机通信:https://www.cnblogs.com/gtarcoder/p/6425669.html