docker swarm 集群环境搭建【一主二从】
十年河东,十年河西,莫欺少年穷
学无止境,精益求精
前提条件:
准备三台虚拟机,分别安装docker并将docker设置为开机自启动,并执行如下操作
设置主机名
- 设置192.168.182.128 的主机名:
hostnamectl set-hostname broker0 ------------这台机器为管理者---------------
- 设置192.168.182.129 的主机名:
hostnamectl set-hostname broker1
- 设置192.168.182.130 的主机名:
hostnamectl set-hostname broker2
其中broker0作为管理者
1、docker swarm --help
docker swarm --help
其他帮助命令自行查看
2、初始化管理者节点
docker swarm init --advertise-addr 192.168.182.128
其中 192.168.182.128 为管理者节点borker0
执行该命令后,会给出如下提示:
3、工作节点加入
分别在broker1 和 broker2 虚拟机上执行如下命令,加入集群
docker swarm join --token SWMTKN-1-4u682r66phgqnyug03jkfsnlfesrvd5yw50a1n04wcigu3onok-ey1n0pdbg0tfi5jc08zylk4w7 192.168.182.128:2377
执行完毕后,回到管理节点,查看当前集群接点情况
docker node ls
由上图可知,有一个管理节点,两个工作节点
在一主二从中,如果管理者节点宕机,我们需要指定一个工作节点来顶替管理者,可通过如下指令
docker node promote broker1 --------------当管理者宕机后,由broker1工作节点接管管理者----------------
执行完毕后,查看是否生效
docker node ls
在实际环境中,最好将两个工作节点都设置为Reachable 状态,因为这样设置的好处是:当管理者宕机后,整个集群依旧可以工作!半数原则。
4、强制离开集群
docker swarm leave -f
执行该命令后,将会将节点从集群中移除。如果三台虚拟机都执行了该命令,则集群解散
至此,一主二从服务器集群环境搭建完毕!
@陈大六的博客