管理swarm(16) – 将节点加入到swarm

当你首次创建一个swarm时,你就放置了一个Docker Engine到swarm中。为了充分利用swarm模式的优势,你可以添加节点到swarm:

  • 添加worker节点来增加集群容量。当你部署一个服务到swarm,Engine调度任务到可用的节点中(不管是worker节点或者是manager节点)。当你添加一个worker节点到swarm中,你增加了swarm的规模来处理更多的任务而不会影响到管理器raft的一致性
  • 多个manager节点可以增强集群容错能力。manager节点执行swarm的编排和集群管理功能。在manager节点中,单个leader节点执行编排任务。当leader节点出现故障,余下的manager节点选出一个新的leader节点并恢复编排和维护swarm状态。默认情下,manager节点也执行任务。
  • 在添加节点到swarm之前你必须安装Docker Engine 1.12或之后的版本。

    添加worker节点

    要获取添加worker到swarm的命令,在manager节点上执行:

    1. $ docker swarm join-token worker
    2.  
    3. To add a worker to this swarm, run the following command:
    4.  
    5.     docker swarm join \
    6.     --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
    7.     192.168.99.100:2377

    在要添加到swarm的worker节点上执行如下命令来加入到swarm:

    1. $ docker swarm join \
    2.   --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
    3.   192.168.99.100:2377
    4.  
    5. This node joined a swarm as a worker.

    docker swarm join做了如下工作:

  • 切换当前节点的Docker Engine为swarm模式
  • 从manager节点请求一个TLS证书
  • 以机器主机名命名节点
  • 基于swarm token和manager节点监听的地址来添加当前节点到swarm
  • 设置当前节点为Active状态,意味着它可以接收从调度器分配的任务
  • 将ingress覆盖网络扩展到当前节点
  • 添加manager节点

    当你执行docker swarm join并传递manager token,跟worker节点一样Docker Engine切换到swarm模式。新添加的manager节点也参与到raft一致性当中。新的节点应该是可访问的,但之前的leader节点仍然不变。
    Docker推荐3个或5个manager节点的集群来实现高可用。因为swarm模式的manager节点使用Raft共享数据,必须是奇数的manager节点数。只要超过一半的manager节点可用,swarm就可以继续工作。
    要获取添加manager到swarm的加入命令,执行:

    1. $ docker swarm join-token manager
    2.  
    3. To add a manager to this swarm, run the following command:
    4.  
    5.     docker swarm join \
    6.     --token SWMTKN-1-61ztec5kyafptydic6jfc1i33t37flcl4nuipzcusor96k7kby-5vy9t8u35tuqm7vh67lrz9xp6 \
    7.     192.168.99.100:2377

    在要添加到swarm的manager节点上执行:

    1. $ docker swarm join \
    2.   --token SWMTKN-1-61ztec5kyafptydic6jfc1i33t37flcl4nuipzcusor96k7kby-5vy9t8u35tuqm7vh67lrz9xp6 \
    3.   192.168.99.100:2377
    4.  
    5. This node joined a swarm as a manager.
    标签:Swarm 发布于:2019-11-20 06:26:35