Swarm 之集群部署

环境

  • 服务器
    192.168.200.164 manager
    192.168.200.165 node1
    192.168.200.166 node2
  • docker
    version 1.12.0+

准备

三台服务都需安装 docker,建议使用的 docker 版本一致。


部署

1. 初始化 Swarm 集群

  1. 在 192.168.200.164 服务器执下面命令,执行玩后可以看到,得到一个 token 命令,这个命令用于,其他节点加入 swarm 集群使用。
docker swarm init

在这里插入图片描述

docker swarm join --token SWMTKN-1-2hwisw74jk5g0nttsrq85ank1hhr7wgd9z57fg2m0eku73690q-05w3j0k91qgszc31eon8l7vru 192.168.200.164:2377
  1. 查看集群,可看到当前集群只有 192.168.200.164 一台服务器。
docker node ls

在这里插入图片描述

2. 集群加入成员

  1. 在 192.168.200.165、192.168.200.166 服务器执行下面命令
docker swarm join  --token SWMTKN-1-2hwisw74jk5g0nttsrq85ank1hhr7wgd9z57fg2m0eku73690q-05w3j0k91qgszc31eon8l7vru  192.168.200.164:2377

在这里插入图片描述

3. 查看集群

  1. 192.168.200.164 服务器执行下面命令,可以看到当前机器中已有单台节点1台 leader 2 台 workers,此时集群就以搭建完成。
docker node ls

在这里插入图片描述

4. 扩展

如果装有 portainer 的同学,可以再 leader 节点,查看 swarm 集群信息,也可以进行一些相关操作。
在这里插入图片描述

命令行操作

 1. 节点

  1.1 删除节点

docker node rm aljoiwud0ge61jypmesquc20e

在这里插入图片描述

  1.2 增加工作节点

此命令在集群初始化是会反馈得到,此命令在 node 节点执行

docker swarm join  --token SWMTKN-1-2hwisw74jk5g0nttsrq85ank1hhr7wgd9z57fg2m0eku73690q-05w3j0k91qgszc31eon8l7vru  192.168.200.164:2377

  1.3 查看集群

此命令需在 manager 节点执行

docker node ls

  1.4 工作节点升级为管理节点

为了保证管理节点的高可用,可以将工作节点升级为管理节点,在管理节点上运行下面的命令

docker node promote hostname

在这里插入图片描述
在这里插入图片描述

  1.4 管理节点降级为工作节点

docker node demote hostname

  1.5 节点退出集群

加上-f就是强制退出

docker swarm leave [-f] 

 2. 服务

  2.1 查看服务

查看当前 Swarm 集群运行的服务

docker service ls

  2.2 查看服务详情

docker service ps nginx

  2.3 查看服务日志

docker service logs nginx

  2.4 删除服务

从 Swarm 集群移除服务

docker service rm nginx

异常及解决方案

  1. 集群没有数半已经的 manager 在线,出现此错误可能由 manager 降为 worker 时发生。

Error response from daemon: rpc error: code = Unknown desc = The swarm
does not have a leader. It’s possible that too few managers are
online. Make sure more than half of the managers are online.

解决:在 192.168.200.164 服务器,执行此命令,192.168.200.164 会初始化为 manager 在线

docker swarm init --force-new-cluster --advertise-addr 192.168.200.164

在这里插入图片描述

Token 相关

swarm join-token :可以查看或更换join token。
docker swarm join-token worker:查看加入woker的命令。
docker swarm join-token manager:查看加入manager的命令
docker swarm join-token --rotate worker:重置woker的Token。
docker swarm join-token -q worker:仅打印Token。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟厚非

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值