docker swarm搭建之阿里云服务器实战(二)

看完上一遍文章的——docker swarm搭建之阿里云服务器实战(一)
生产环境进阶

一、自动锁定

Docker Swarm 开启自动锁定功能主要是为了增强集群的安全性。当启用自动锁定功能时,Swarm 管理节点会在启动或重启后要求提供一个解锁密钥(也称为令牌),以确保只有授权用户才能访问和操作集群。这种机制能够有效防止未经授权的访问,即使有人物理上获得了对运行管理节点服务器的访问权限,也无法轻易接管 Swarm 集群。

swarm 开启了一种集群自动锁定功能,为 manager 间的通信启用了 TLS 加密

自动锁定的主要原因包括:

  • 提高安全性:通过强制使用解锁密钥来保护 Swarm 集群免受未授权访问。这增加了额外的安全层,减少了潜在的安全风险。

  • 防止意外变更:在没有正确的解锁密钥的情况下,即使是合法的管理员也无法随意修改 Swarm 集群的状态。这有助于避免因误操作导致的服务中断或其他问题。

  • 数据保护:如果管理节点被攻击者获取控制权,他们将无法直接读取或篡改 Swarm 的内部状态(例如网络配置、服务定义等),除非他们拥有解锁密钥。

1. 查看
# 执行命令
docker info

发现:Autolock Managers:false结果如下图所示,则说明自动锁定未开启
在这里插入图片描述

2. 开启

在服务器1中执行

# 方式一:在搭建集群时就开启

# 方式二:在搭建完集群之后开启
docker swarm update --autolock=true

在这里插入图片描述
到此,就开启成功了!找个记事本保存生成的key
【虽然在docker的swarm管理端启动时可以通过命令docker swarm unlock-key再次查询出如下图所示。】
在这里插入图片描述

建议永久保存一下

注:

  1. 开启成功后,当docker重启之后,需要执行如下命令来 解锁 docker swarm
  2. 如果没有报错,并且docker swarm的管理者都挂掉了,那么恭喜你重新搭建docker swarm即可,原来的找不回来了。

二、升级于降级

以下操作均在管理节点执行

  1. 查看当前的所有node节点

    docker node ls
    

    在这里插入图片描述

  2. 将工作节点升级为管理节点

    docker node promote [升级的节点ID]
    
  3. 将管理节点降级为工作节点

    docker node demote [降级的节点ID]
    

三、docker swarm 的ca证书过期

默认的过期时间时90天,在其即将过期时,可以通过如下命令,来平滑的生产新的ca证书

docker swarm ca --rotate

查看证书还有多久过期

docker info | grep "Expiry Duration"

四、docker创建服务

1. 提前加载镜像

在创建服务时,尽量去对应服务器中先下载好对应的镜像,要不然创建服务时可能会失败

2. 修改task备份【扩容】

仅仅针对副本模式下的扩容,全局模式下是不行的

# 方法一:
docker service update --replicas [个数] [服务name]

# 方法二:
docker service scale [服务name]=[个数]

一个虚拟机可以有多个节点,但这多个节点中只有一个节点属于激活状态,一个节点上又可以有多个任务

3. 暂停扩容

可以先查看docker node update --help
可以看到–availability有三个参数active【激活】、pause【暂停】、drain【排除】
在这里插入图片描述

当你进行task扩容时,如果不想往其中某一个服务器中扩容,可以使用如下命令先暂停该服务器的节点【暂停时不会影响该服务区原有节点的运行,只是不允许往该节点进行task扩容】

docker node update --availability pause [要暂停的服务器主机名]

注:

  • pause 只会影响扩容,不用影响缩容
  • drain 可以将某个节点上的所有任务全部移除,并将移除的任务在扩容到其他节点中,并且扩容后任务的name仍为原来的名称
  • active 当将drain状态 - --变为–> active状态 时,该节点原有的task恢复工作,而之前扩容的任务全部shutdown。
4. 镜像版本改变与回滚

镜像版本改变

docker service update --image [镜像名称]:[版本号] [服务名称]

镜像版本回滚

docker service update --rollback [服务名称]
5.全部模式与副本模式
5.1 全局模式

全局模式,即golobal模式。该模式下,全局有几个节点,就会创建几个副本

该模式下创建的副本,会有一个特性,就是当你再次增加节点时,新增的节点会在生产时就带着全局模式下创建的副本

docker service create --name toms --mode global -p 8080:8080 tomcat:8.5.0
5.1 副本模式

副本模式,即replicated模式。该模式下,指定有几个节点,就会创建几个副本

docker service create --name toms --replicas 6 -p 8080:8080 tomcat:8.5.0

五、docker swarm的overlay网络

在这里插入图片描述

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值