docker swarm 加入

DescriptionJoin a swarm as a node and/or manager
Usagedocker swarm join [OPTIONS] HOST:PORT

Swarm 此命令适用于Swarm编排器。

描述

将一个节点加入到一个群集中。节点根据您使用--token标志传递的令牌作为管理节点或工作节点加入。如果您传递的是管理令牌,节点将作为管理节点加入。如果您传递的是工作令牌,节点将作为工作节点加入。

选项

OptionDefaultDescription
--advertise-addrAdvertised address (format: <ip|interface>[:port])
--availabilityactiveAvailability of the node (active, pause, drain)
--data-path-addrAPI 1.31+ Address or interface to use for data path traffic (format: <ip|interface>)
--listen-addr0.0.0.0:2377Listen address (format: <ip|interface>[:port])
--tokenToken for entry into the swarm

示例

将节点加入群集作为管理器

下面的示例演示了如何使用管理令牌加入管理节点。

$ docker swarm join --token SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2 192.168.99.121:2377
This node joined a swarm as a manager.

$ docker node ls
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
dkp8vy1dq1kxleu9g4u78tlag *  manager2  Ready   Active        Reachable
dvfxp4zseq4s0rih1selh0d20    manager1  Ready   Active        Leader

一个集群最多只应有3-7个管理器,因为集群要正常运行,必须有大多数管理器可用。不打算参与此管理仲裁的节点应作为工作节点加入。管理器应该是具有静态IP地址的稳定主机。

将节点作为工作节点加入群集

下面的示例演示了如何使用工作令牌加入工作节点。

$ docker swarm join --token SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx 192.168.99.121:2377
This node joined a swarm as a worker.

$ docker node ls
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
7ln70fl22uw2dvjn2ft53m3q5    worker2   Ready   Active
dkp8vy1dq1kxleu9g4u78tlag    worker1   Ready   Active        Reachable
dvfxp4zseq4s0rih1selh0d20 *  manager1  Ready   Active        Leader

--listen-addr value

如果节点是管理器,它将在此地址上监听入站群管理器流量。默认是在0.0.0.0:2377上监听。也可以指定一个网络接口来监听该接口的地址;例如--listen-addr eth0:2377

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

在加入现有群集时,通常不需要此标志。

--advertise-addr value

此标志指定将向群集的其他成员通告的地址以进行API访问。如果未指定,Docker将检查系统是否具有单个IP地址,并使用该IP地址与监听端口(参见--listen-addr)。如果系统具有多个IP地址,则必须指定--advertise-addr,以便为管理器间通信和覆盖网络选择正确的地址。

也可以指定一个网络接口来公布该接口的地址; 例如 --advertise-addr eth0:2377

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

在加入现有群集时,通常不需要此标志。如果您通过负载均衡器加入新节点,则应使用此标志以确保节点通告其IP地址,而不是负载均衡器的IP地址。

--data-path-addr

此标志指定全局范围网络驱动程序将向其他节点发布的地址,以便访问在此节点上运行的容器。 使用此参数,可以将容器的数据流量与集群的管理流量分开。 如果未指定,Docker将使用与广告地址相同的IP地址或接口。

--token string

节点加入群集所需的密钥值

--availability

此标志指定节点在加入主节点时的可用性。 可能的可用性值为 activepausedrain

在某些情况下,这个标志非常有用。例如,一个集群可能希望拥有专门的管理节点,这些节点不作为工作节点提供服务。这可以通过在docker swarm join时传递--availability=drain来实现。