docker swarm集群搭建

docker swarm集群

1.修改主机名称

1
hostnamectl set-hostname 192.168.99.100

2.开放相应端口

暴露各个服务器的docker swarm需要的端口,如果不使用docker swarm不需要打开端口, 前面安装docker时已经暴露过了

3.安装docker-swarm

在本教程中,以下命令在manager1 机器上创建一个swarm

1
docker swarm init --advertise-addr 192.168.99.100
Swarm initialized: current node (dxn1zf6l61qsb1josjja83ngz) is now a manager.
To add a worker to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
    192.168.99.100:2377

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

该–advertise-addr标志配置管理器节点将其地址发布为192.168.99.100。群中的其他节点必须能够访问IP地址的管理器。
输出包括将新节点加入群集的命令。根据–token 国旗的价值,节点将作为经理或工人加入。

使用docker info和sudo xfs_info 查看黄色标记的是否正确保证Storage Driver: overlay2和ftype=1

4.部署项目

1.将docker-compose移入/usr/local/bin/docker-compose

1
2
3
4
5
6
7
##安装最新 docker-compose
curl -L https://mirrors.aliyun.com/docker-toolbox/linux/compose/$(curl -s https://mirrors.aliyun.com/docker-toolbox/linux/compose/ |egrep '^<a' |awk -F '">|</a>' '{print $2}' |sort -V |tail -1)docker-compose-Linux-x86_64 -o /usr/bin/docker-compose

chmod +x /usr/local/bin/docker-compose
docker-compose -v

sudo chmod +x /usr/local/bin/docker-compose&&docker-compose --version

2.创建自定义overlay网络,连接到同一 overlay 网络的 swarm 服务可以有效地将所有端口暴露给对方

1
docker network create -d overlay --attachable   wwl_deploy_netapp

3.启动stack服务

创建自定义overlay网络,连接到同一 overlay 网络的 swarm 服务可以有效地将所有端口暴露给对方

1
docker network create -d overlay --attachable   wwl_deploy_netapp

3.启动stack服务

1
docker stack deploy -c docker-data-stack.yml test-docker-data-stack

5集群

注意开放2375 2376 2377端口
修改docker监听端口
Swarm是通过监听2375端口进行通信的,所以在使用Swarm进行集群管理之前,需要设置一下2375端口的监听。所有主机节点docker开启2375监听,docker版本不同,配置方式不一样

1
vim  /lib/systemd/system/docker.service

在ExecStart加入:

1
2
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

重启docker服务

1
2
systemctl daemon-reload
systemctl restart docker

添加工作节点

1
2
3
4
5
docker swarm join-token worker

docker swarm join --token SWMTKN-1-5wi12y741fwd9155ul61yw33djyiwtewbamd0sv7ofv5fcsyor-9grmocq0ogtswwegghb176m2y 172.18.42.30:2377

docker node ls

This node joined a swarm as a worker.

1
2
3
docker node list
docker service ls
docker swarm leave --force
-------------本文结束-------------
0%