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. nehibernet .net注意事项

    1:xml属性:嵌入资源建立实体对象:public virtual int id{get;set;}建立与实体对象同名的xml文件,以.hbm.xml为扩展名2:StructureMap.config ...

  2. [android] 新闻客户端实现左侧导航点击切换

    设置主布局文件,为根布局设置一个id,作为内容区 给ListView的条目设置点击事件,setOnItemClickListener()方法,参数:上下文 当前的Fragment实现OnItemCli ...

  3. 一.JDK版本切换批处理脚本

    我们平时在window上做开发的时候,可能需要同时开发两个甚至多个项目,有时不同的项目对JDK的版本要求有区别,这时候我们可能会在一台电脑上安装多个版本的JDK,如下图所示:

  4. SQl语句查询性能优化

    [摘要]本文从DBMS的查询优化器对SQL查询语句进行性能优化的角度出发,结合数据库理论,从查询表达式及其多种查询条件组合对数据库查询性能优化进行分析,总结出多种提高数据库查询性能优化策略,介绍索引的 ...

  5. Mac下,(OS系统)IDEA 逆向工程,生成 hibernate 映射文件以及对应的javaBean(类似于eclipse)

    找了好久,逆向工程生成javabean的,在Macbook的OS系统下使用idea生成. 参考博客:http://m.blog.csdn.net/quan20111992/article/detail ...

  6. HTML文字闪烁

    <div id="blink">闪烁的文字</div> <script language="javascript"> fun ...

  7. Code Signal_练习题_alphabeticShift

    Given a string, replace each its character by the next one in the English alphabet (z would be repla ...

  8. django-templates过滤器

    常用内置过滤器: 过滤器会更改量或便签参数的值: title过滤器: {{ django|title }} 在下列context中 {'django': 'the web framework for ...

  9. WeUI移动页面实现时间选择器(年-月-日-时-分)

    在做微信公众号的时候,使用的WeUI样式,有一个需求是用户选择一个预约时间,需要年月日并精确到小时和分钟. 但是WeUI的picker组件不支持直接显示5列,根据WeUI.js作者的建议,是将日期和时 ...

  10. Javascript、Jquery获取浏览器和屏幕各种高度宽度[mark]

    Javascript: IE中:document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY对象高度d ...