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. js中的json的小例子

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  2. JAVA高级面试总结-JVM篇

    1.Sun HotSpot VM,是JDK和Open JDK中自带的虚拟机,也是目前使用范围最广的Java虚拟机. 2.JVM内存分布 程序计数器:是一块较小的内存空间,可以看作是当前线程所执行的字节 ...

  3. Spring MVC + Velocity实现国际化配置

    国际化介绍 web开发中,国际化是需要考虑的一个问题,而且这个问题一般是越早敲定越好(不然等到系统大了,翻译是个问题).下面是结合实际项目(Spring MVC+Velocity)对实现国际化的一些总 ...

  4. 一些css属性的理解和运用。

    1,弹性容器通过设置 display 属性的值为 flex 或 inline-flex将其定义为弹性容器 常用flex来编写盒子横向分布; 一: flex-direction flex-directi ...

  5. apache2.2 +php7.3安装 编译安装

    1.下载 http://archive.apache.org/dist/httpd/httpd-2.2.0.tar.gz tar -xvf httpd-2.2.0.tar.gz 2.安装 ./conf ...

  6. DOM的查找,新增,删除操作

    查找 1. document.getElementById()  通过ID获取元素,由于ID唯一,所以获取的是一个元素 2. document.getElementsByTagName() 通过标签名 ...

  7. AngularJS单页面路由配置恩,理解了就很简单啦

    利用route实现单页面跳转功能 利用angularJS开发流程 1)配置好angularJS开发环境 2)利用 yo angular projectname创建项目目录 3)删除掉系统自动生成的一些 ...

  8. C# 如何防止重放攻击

    重放攻击 重放攻击是指黑客通过抓包的方式,得到客户端的请求数据及请求连接,重复的向服务器发送请求的行为. 比如你有一个 “购买” 的操作,当你点击购买按钮时,向服务器发送购买的请求.而这时黑客对你的请 ...

  9. OpenCV 图片美化

    1.彩色直方图 def ImgHist(image,type): color = (255,255,255) windowName='gray' if type==31: color=(255,0,0 ...

  10. Expo大作战(三)--针对已经开发过react native项目开发人员有针对性的介绍了expo,expo的局限性,开发时项目选型注意点等

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...