Docker Swarm 节点维护

这篇具有很好参考价值的文章主要介绍了Docker Swarm 节点维护。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker Swarm Mode
Docker Swarm 集群搭建
Docker Swarm 节点维护
Docker Service 创建

1.角色转换

Swarm 集群中节点的角色只有 manager 与 worker,所以其角色也只是在 manager 与worker 间的转换。即 worker 升级为 manager,或 manager 降级为 worker。

1.1 worker 升级为 manager

在manager节点通过 docker node promote 命令可以将 worker 升级为 manager。例如,下面的命令是将docker4 与 docker5 两个节点升级为了 manager,即当前集群中全部为 manager。

docker swarm 升级为 manager,云原生,docker,云原生,后端

1.2 manager 降级为 worker

在manager节点通过 docker node demote 命令可以将 manager 降级为 worker。例如,下面将docker2 与 docker3 两个节点降级为了 worker。

docker swarm 升级为 manager,云原生,docker,云原生,后端

1.3 docker node update 变更角色

除了通过 docker node demote|promote 可以变更节点角色外,通过 docker node update --role [manager|worker] [node]也可变更指定节点的角色。

再将 docker2 与 docker3 两个节点变为 manager。

docker swarm 升级为 manager,云原生,docker,云原生,后端

将 docker4 与 docker5 两个节点变为 worker。

docker swarm 升级为 manager,云原生,docker,云原生,后端

2. 节点标签

swarm 可以通过命令为其节点添加描述性标签,方便运维人员去了解该节点的更多信息。

2.1 添加/修改节点标签

通过 docker node update --label-add 命令可以为指定 node 添加指定的 key=value 的标签。若该标签的 key 已经存在,则会使用新的 value 替换掉该 key 的原 value。不过需要注意的是,若要添加或修改多个标签,则需要通过多个--label-add 选项指定。

docker node update --label-add auth=zhangsan --label-add email=123@qq.com aodw1lselnf114wdfdca8fm16
# 通过 docker node inspect 在查看该节点详情时可看到添加的标签
docker node inspect aodw1lselnf114wdfdca8fm16

docker swarm 升级为 manager,云原生,docker,云原生,后端

docker node inspect --pretty <node> 可以 key:value 的形式显示信息。

docker swarm 升级为 manager,云原生,docker,云原生,后端

2.2 删除节点标签

通过 docker node update --label-rm 命令可以为指定的 node 删除指定 key 的标签。同样,若要删除多个标签,则需要通过多个--label-rm 选项指定要删除 key 的标签。

docker node update --label-rm auth --label-rm email aodw1lselnf114wdfdca8fm16

查看节点详情,两个标签已经消失。

3. 节点删除

manager 节点通过 docker node rm 命令可以删除一个 Down 状态的、指定的 worker 节点。

注意,该命令只能删除 worker 节点,不能删除 manager 节点。

3.1 有问题的删除

验证:对于 Ready 状态的 worker 节点是无法直接删除的。对于 manager 节点也是无法删除的。

docker swarm 升级为 manager,云原生,docker,云原生,后端

3.2 正确的删除

若要删除一个 worker 节点,首先要将该节点的 Docker 关闭,使该节点变为 Down 状态,然后再进行删除。

停止docker4中的docker

systemctl stop docker

docker swarm 升级为 manager,云原生,docker,云原生,后端

3.3 强制删除

上面的删除方式有些麻烦,其实也可以通过添加-f 选项来实现强制删除。

docker swarm 升级为 manager,云原生,docker,云原生,后端

此时去docker5中查看docker状态发现:swarm: active

docker swarm 升级为 manager,云原生,docker,云原生,后端

但对于 manager 节点,强制删除也不能删除。(可以通过先降级为worker,再强制删除)

docker node rm –f 命令会使一个节点强制退群,而 docker swarm leave 命令是使当前的docker 主机关闭 swarm 模式。

4. manager 集群容灾

4.1 热备容灾

 Swarm 的 manager 节点集群采用的是热备方式来提升集群的容灾能力。即在 manager集群中只有一个处于 leader 状态,用于完成 swarm 节点的管理,其余 manager 处于热备状态。当 manager leader 宕机,其余 manager 就会自动发起 leader 选举,重新选举产生一个新的 manager leader。

4.2 容灾能力

 manager 集群的 leader 选举采用的是 Raft 算法。Raft 算法是一种比较复杂的一致性算法,其选举 leader 的简单思路是,所有可用的 manager 全部具有选举权与被选举权。最终获得过半选票的 manager 当选新的 leader。为了保证一次性可以选举出新的leader,官方推荐使用奇数个manager。但并不是说偶数个manager就无法选举出leader。

4.3 容灾模拟

目前是 docker、docker2、docker3 三个 manager,其中 docker 为 leader。

docker swarm 升级为 manager,云原生,docker,云原生,后端

现在关闭 docker 主机的 docker daemon,模拟其宕机。

systemctl stop docker

然后在 docker2 或 docker3 主机上查看当前的节点情况,可以看到 docker2 或 docker3已经成为了新的 leader。

docker swarm 升级为 manager,云原生,docker,云原生,后端

此时如果再使某个 manager 宕机,例如使 docker2 的 docker daemon 关闭,那么整个swarm 就会瘫痪。因为剩下的 manager 已经无法达成过半的选票,无法选举出新的 leader。

停掉docker2后,整个集群瘫痪:
docker swarm 升级为 manager,云原生,docker,云原生,后端文章来源地址https://www.toymoban.com/news/detail-762654.html

到了这里,关于Docker Swarm 节点维护的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Docker]十一.Docker Swarm集群raft算法,Docker Swarm Web管理工具

    Raft :一致性算法,在保证大多数管理节点存活的情况下,集群才能使用, 所以就要求如果集群的话, manager 节点必须 =3 台 ,如果是两个台,其中一台宕机,剩余的一台也将不可用,以致整个集群不可用 Manager : 管理节点,用于管理工作节点,为了利用 swarm 模式的容错特性

    2024年02月04日
    浏览(49)
  • [Docker]十.Docker Swarm讲解

    Docker Swarm 是 Docker 公司推出的用来管理 docker 集群的工具, 使用 Docker Swarm 可以快速方便的实现 高可用集群 ,Docker Compose 只能编排 单节点上的容器 , Docker Swarm 可以让我们在单一主机上操作来完成对 整个容器集群 的管理工作,使用Docker Swarm 可以 让单一主机上的容器快速部署

    2024年01月18日
    浏览(35)
  • 【Docker】Docker Swarm介绍与环境搭建

    多机器如何管理? 如何跨机器做scale横向扩展? 容器失败退出时如何新建容器确保服务正常运行? 如何确保零宕机时间? 如何管理密码,Key等敏感数据? Docker Swarm是Docker官方推出的容器集群管理工具,基于Go语言实现。使用它可以将多个Docker主机封装为单个大型的虚拟Doc

    2024年01月22日
    浏览(37)
  • 11. Docker Swarm(二)

    上一篇中我们利用Docker Swarm搭建了基础的集群环境。那么今天我们就来验证以下该集群的可用性。上一篇的示例中,我创建了3个实例副本,并且通过访问http://192.168.74.132:8080得到我们的页面。 1)我们可以通过以下命令查看当前应用的节点信息: 可以看出在IP为132,133,134上

    2024年02月12日
    浏览(33)
  • docker swarm 常用命令

    docker service ps 命令 docker node 命令 docker stack ps 命令 docker swarm unlock 命令 Docker Command 命令 官网 docker compose 官网 docker service 官网 docker node 官网 docker compose 官网 1、下载私有仓库镜像 2、docker swarm 常用命令 3、docker node 常用命令 4、docker service 常用命令 5、Docker swarm 实战 1: 创建服

    2024年02月09日
    浏览(35)
  • Docker Swarm集群管理

    秋风阁(https://focus-wind.com/) Docker Swarm官方文档 Docker Swarm是Docker引擎原生内置的容器集群管理工具。 Swarm节点 运行Docker的主机可以主动初始化一个Swarm集群作为Leader节点或者加入一个已存在的Swarm集群,这样这个运行Docker的主机就成为一个Swarm集群的节点。 Swarm集群节点可以分为

    2024年02月05日
    浏览(33)
  • Docker Swarm 集群搭建

    Docker Swarm Mode Docker Swarm 集群搭建 Docker Swarm 节点维护 Docker Service 创建  搭建一个 docker swarm 集群,包含 5 个 swarm 节点。这 5 个 swarm 节点的 IP 与暂 时的角色分配如下(注意,搭建完成后会切换角色): host ip role docker 192.168.137.100 manager docker2 192.168.137.101 manager docker3 192.168.1

    2024年02月04日
    浏览(38)
  • 【Docker】Swarm学习

    定义 Swarm是Docker公司推出的用来管理docker集群的平台。它是将一群Docker宿主机变成一个单一的虚拟主机。 Swarm使用标准的Docker API接口作为其前端的访问入口,换言之,各种形式的Docker Client(compose,docker-py等)均可以直接与Swarm通信,甚至Docker本身都可以很容易的与Swarm集成,这大

    2024年02月07日
    浏览(38)
  • Docker Swarm Mode

    Docker Swarm Mode Docker Swarm 集群搭建 Docker Swarm 节点维护 Docker Service 创建 先看docker官网上的一句话:Docker Swarm mode is built into the Docker Engine. Do not confuse Docker Swarm mode with Docker Classic Swarm which is no longer actively developed. 翻译过来意思是:Docker Swarm 模式 内置在Docker引擎中。不要将Doc

    2024年02月08日
    浏览(30)
  • 10. Docker Swarm(一)

    目录 1、前言 2、Docker Swarm体系架构 2.1、简单介绍 2.2、体系架构 3、简单使用 3.1、环境准备 3.2、初始化master节点 3.3、建立worker节点 3.4、查看集群的节点信息 3.5、部署应用 3.5.1、创建Dockerfile文件 3.5.2、构建镜像 3.5.3、将镜像上传到Docker仓库 3.5.4、Swarm集群中部署应用 3.5.5、查

    2024年02月13日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包