【docker系列】Docker Swarm 集群,跨主机网络通信环境搭建

1、现在有三台 阿里云linux服务器。对应的公网Ip和主机名称

47.111.111.100  master
47.111.111.101  slave1
47.111.111.102  slave2

2、 三台 分别需要安装 docker环境
参考:
【docker系列】阿里云Centos7上安装docker

3、如果需要修改主机的名称,那修改 阿里云的 主机名,命令:

[root@localhost /]# hostnamectl set-hostname 新的主机名

4、 修改 三台主机的 docker.service 文件

vim /lib/systemd/system/docker.service

# 可通过 find 命令 查找 docker.service 文件
# find / -name docker.service

## 在“ExecStart=/usr/bin/dockerd”后添加“-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock”

# 如下

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock -H fd:// --containerd=/run/containerd/containerd.sock

5、重启服务

systemctl daemon-reload
systemctl restart docker

6、在集群中要被选举为manager的docker节点中运行以下命令:

docker swarm init --advertise-addr 47.111.111.100

7、保存 生成的 命令,如下:

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-3oovrzba9wjaf4fe5i3mbdnksmrdb0mjfw206qmxpsbiflmxw5-bcjueneetcbvgdhhtk3awkfno 47.111.111.100:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

8、查看 集群节点 (每台阿里云上,都需要开放 2375/2377 端口,用于互联)

docker node ls

9、将其他节点加入集群,复制 第7步生成的  docker swarm join --token....................

[root@localhost ~]# docker swarm join \
>     --token SWMTKN-1-3oovrzba9wjaf4fe5i3mbdnksmrdb0mjfw206qmxpsbiflmxw5-bcjueneetcbvgdhhtk3awkfno 47.111.111.100:2377 \
>     192.168.1.130:2377
This node joined a swarm as a worker.

10、在 msater节点 查看所有节点信息

[root@master /]# docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
x2h88pu8237u0aqbqnmvy3vnc *   master     Ready               Active              Leader              19.03.5
uzwuj9aavrvw6fdcisoiigktm     slave1     Ready               Active                                  19.03.5
pdwlvvud2t08565njvw63ssuv     slave2     Ready               Active                                  19.03.4

11、创建 overlay 网络,用于跨主机 容器间的通信

docker network create --driver overlay  --subnet=18.0.0.0/24 --gateway=18.0.0.254 --attachable cluster-overlay-software

说明:
--driver overlay              网络类型
--subnet=18.0.0.0/24    子网段
--gateway=18.0.0.254  设置网关ip
--attachable 用于          swarm 服务和独立容器跟其他 Docker 守护进程中运行的独立容器通信的 overlay 网络
 

发布了125 篇原创文章 · 获赞 43 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/weixin_42697074/article/details/104558653