Join nodes to a swarm添加节点到集群

当你第一次创建集群时,你将单个Docker引擎置于集群模式中。为了充分利用群体模式,可以在集群中添加节点:

  • 添加工作节点可以增加容量。当你将服务部署到集群中时,引擎会在可用节点上调度任务,无论这些节点是工作节点还是管理节点。当你向你的群中添加工作者时,你就增加了群的规模来处理任务而不影响管理者的raft共识。
  • 管理器节点增加了容错性。Manager节点为集群执行编配和集群管理功能。在manager节点中,单个leader节点执行编排任务。如果一个leader节点宕机,其余的manager节点将选择一个新的leader,并恢复群集状态的编排和维护。默认情况下,manager节点还运行任务。

在向集群中添加节点之前,必须在主机上安装Docker引擎1.12或更高版本。
Docker引擎根据你提供给Docker swarm join命令的join-token连接令牌加入集群。节点仅在连接时使用令牌。如果你随后轮转了标记,它不会影响现有的集群节点。请参考集群模式下运行Docker引擎。
注意:Docker引擎允许非fips节点加入支持fips的集群。
虽然混合FIPS环境使升级或更改状态更容易,但Docker建议不要在生产环境中运行混合FIPS环境。

Join as a worker node做为工作节点添加

要检索包含工作节点的连接令牌的连接命令,请在管理器节点上运行以下命令:

$ docker swarm join-token worker

To add a worker to this swarm, run the following command:

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

运行来自工作节点连接集群的输出命令:

$ docker swarm join \
--token SWMTKN--49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
192.168.99.100: This node joined a swarm as a worker.

docker swarm join命令执行以下操作:

  • 将当前节点上的Docker引擎切换到集群模式。
  • 向管理器请求TLS证书。
  • 用机器主机名命名节点
  • 根据集群令牌在管理器侦听地址将当前节点连接到集群。
  • 将当前节点设置为Active可用性,这意味着它可以从调度程序接收任务。
  • 将ingress覆盖网络扩展到当前节点。

Join as a manager node作为管理节点加入

当你运行docker swarm join并传递manager令牌时,docker引擎将切换到与workers相同的swarm模式。Manager节点也参与了raft共识。新的节点应该是Reachable,但是现有的管理器仍然是集群的Leader。
Docker建议每个集群使用3到5个管理器节点来实现高可用性。由于集群模式管理器节点使用Raft共享数据,因此管理器的数量必须为奇数。只要管理器节点的一半以上的仲裁可用,集群就可以继续工作。
有关群管理器和管理群的详细信息,请参见Administer and maintain a swarm of Docker Engines
要检索包含管理节点的连接令牌的连接命令,请在管理节点上运行以下命令:

$ docker swarm join-token manager

To add a manager to this swarm, run the following command:

    docker swarm join \
--token SWMTKN--61ztec5kyafptydic6jfc1i33t37flcl4nuipzcusor96k7kby-5vy9t8u35tuqm7vh67lrz9xp6 \
192.168.99.100:

在新管理节点的输出端运行命令,将其加入集群:

$ docker swarm join \
--token SWMTKN--61ztec5kyafptydic6jfc1i33t37flcl4nuipzcusor96k7kby-5vy9t8u35tuqm7vh67lrz9xp6 \
192.168.99.100: This node joined a swarm as a manager.

docker swarm英文文档学习-6-添加节点到集群的更多相关文章

  1. docker swarm英文文档学习-11-上锁你的集群来保护你的加密密钥

    Lock your swarm to protect its encryption key上锁你的集群来保护你的加密密钥 在Docker 1.13及更高版本中,默认情况下,群管理器使用的Raft日志在 ...

  2. docker swarm英文文档学习-3-开始

    https://docs.docker.com/engine/swarm/swarm-tutorial/ 1)Getting started with swarm mode 本教程向你介绍Docker ...

  3. docker swarm英文文档学习-8-在集群中部署服务

    Deploy services to a swarm在集群中部署服务 集群服务使用声明式模型,这意味着你需要定义服务的所需状态,并依赖Docker来维护该状态.该状态包括以下信息(但不限于): 应该运 ...

  4. docker swarm英文文档学习-10-使用Docker密钥管理敏感数据

    Manage sensitive data with Docker secrets使用Docker secrets管理敏感数据 About secrets 对于Docker Swarm服务来说,sec ...

  5. docker swarm英文文档学习-4-swarm模式如何运行

    1)How nodes work Docker引擎1.12引入了集群模式,使你能够创建一个由一个或多个Docker引擎组成的集群,称为集群.集群由一个或多个节点组成:在群模式下运行Docker引擎1. ...

  6. docker swarm英文文档学习-5-在swarm模式中运行Docker引擎

    Run Docker Engine in swarm mode在swarm模式中运行Docker引擎 当你第一次安装并开始使用Docker引擎时,默认情况下禁用swarm模式.在启用集群模式时,需要处 ...

  7. docker swarm英文文档学习-1-概述

    参考https://docs.docker.com/engine/swarm/ Swarm mode overview群模式概述 Docker的当前版本包括集群模式,用于本地管理称为集群的Docker ...

  8. docker swarm英文文档学习-9-使用Docker Configs存储配置数据

    Store configuration data using Docker Configs 使用Docker Configs存储配置数据 Docker 17.06引入了集群服务配置,允许你在服务镜像或 ...

  9. docker swarm英文文档学习-7-在集群中管理节点

    Manage nodes in a swarm在集群中管理节点 List nodes列举节点 为了查看集群中的节点列表,可以在管理节点中运行docker node ls: $ docker node ...

随机推荐

  1. 基于spring boot 2.x 的 spring-cloud-admin 实践

    spring cloud admin 简介 Spring Boot Admin 用于监控基于 Spring Boot 的应用,它是在 Spring Boot Actuator 的基础上提供简洁的可视化 ...

  2. 理解JVM之垃圾收集器详解

    前言 垃圾收集器作为内存回收的具体表现,Java虚拟机规范并未对垃圾收集器的实现做规定,因而不同版本的虚拟机有很大区别,因而我们在这里主要讨论基于Sun HotSpot虚拟机1.6版本Update22 ...

  3. JDBC流程

    最近要学习Mybatis的源码,因此对JDBC的使用进行总结. 一.JDBC概述 JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java ...

  4. linux_shell_数组

    shell数组类似与C语言,数组下标由0开始编号.想要获取数组中的元素要利用下标. 1.首先定义数组 在shell中,用括号来表示数组,数组元素用“空格”符号分割开.列: name=("d& ...

  5. Struts 2(二)

    一,框架的扩展名问题: ,struts2框架的默认扩展名:.action和空字符串.在框架的属性文件default.properties中进行默认配置:struts.action.extension= ...

  6. InfoQ观察:Java EE的未来

    原创 2017-03-06 Charles Humble 聊聊架构 作者|Charles Humble编辑|薛命灯 作为InfoQ下一年编辑关注点审核工作的一部分,我们挑选了Java作为深入探讨的主题 ...

  7. JavaScript中何时使用===,何时使用==

    建议尽量都使用===,原因如下: 一致性:使用==对一致性没有任何好处,那么为什么不避免使用呢. 简单和性能:一般来说,===是最简单的操作符,因为它不用进行类型转换.JavaScript引擎的性能参 ...

  8. web api 权限控制

    https://www.cnblogs.com/landeanfen/p/5287064.html 我只是个搬运工, 我只想存个档

  9. HttpWatch HttpWatch时间表(HttpWatch Time Charts)

    HttpWatch时间表(HttpWatch Time Charts) by:授客 QQ:1033553122 截图 说明 页面事件线(Page Event Lines)

  10. Oracle数据库 插入数据格式,简单查询

    操作练习代码,知识点往下翻 TRUNCATE TABLE hehe1111; select * from hehe1111; desc hehe1111; ,'); ,'); ,'); ,'); ,' ...