Docker命令行参考(34) – docker swarm join加入一个节点到集群

  1. Usage:  docker swarm join [OPTIONS] HOST:PORT
  2.  
  3. Join a swarm as a node and/or manager
  4.  
  5. Options:
  6.       --advertise-addr value   Advertised address (format: <ip|interface>[:port])
  7.       --help                   Print usage
  8.       --listen-addr value      Listen address (format: <ip|interface>[:port)
  9.       --token string           Token for entry into the swarm

docker swarm join用来加入一个节点到一个集群。节点加入为一个manager节点或worker节点取决于使用–token参数传递过去的token。如果传递一个manager token,这个节点以管理节点加入。如果传递一个worker token,就以worker节点加入。

以manager身份添加节点到集群

下面的示例演示使用manager token添加管理节点到集群。

  1. $ docker swarm join --token SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2 192.168.99.121:2377
  2. This node joined a swarm as a manager.
  3. $ docker node ls
  4. ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
  5. dkp8vy1dq1kxleu9g4u78tlag *  manager2  Ready   Active        Reachable
  6. dvfxp4zseq4s0rih1selh0d20    manager1  Ready   Active        Leader

一个集群应该最多只能有3-7个管理节点。不参与管理仲裁的节点应该以worker身份加入。manager节点应该是稳定的主机且有静态IP地址。

以worker身份加入集群

下面的示例演示使用worker token添加worker节点到集群。

  1. $ docker swarm join --token SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx 192.168.99.121:2377
  2. This node joined a swarm as a worker.
  3. $ docker node ls
  4. ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
  5. 7ln70fl22uw2dvjn2ft53m3q5    worker2   Ready   Active
  6. dkp8vy1dq1kxleu9g4u78tlag    worker1   Ready   Active        Reachable
  7. dvfxp4zseq4s0rih1selh0d20 *  manager1  Ready   Active        Leader

–listen-addr value

如果节点为manager,在这个地址监听集群管理相关流量。默认是监听0.0.0.0:2377。也可以指定一个网络接口来监听这个接口的地址。例如–listen-addr eth0:2377。

端口是可选的。如果仅指定IP地址或接口名称,端口就使用默认的2377。

当加入的是一个已存在的集群时,这个参数一般不需要指定。

–advertise-addr value

指定通告给集群的节点的地址,这个地址用来给其它节点访问API和overlay网络通信。如果没有指定地址,docker将检查系统是否只有一个IP地址,如果是将使用这个地址并使用监听的端口(查看–listen-addr)。如果系统有多个IP地址,–advertise-addr就必须指定一个以便内部管理节点能够正常通信和overlay网络通信。

也可以指定一个网络接口来通告接口的地址,例如–advertise-addr eth0:2377。

端口是可选的。如果仅指定一个IP地址或接口名称,就使用端口2377。

当加入的是一个已存在的集群时,这个参数一般不需要指定。

–token string

节点加入集群所需的密钥

标签:Swarm集群Docker 发布于:2019-11-19 06:59:02