docker swarm 加入

描述作为节点和/或管理器加入集群
用法docker swarm join [OPTIONS] HOST:PORT

Swarm 此命令适用于 Swarm 调度器。

描述

将节点加入集群。节点根据您随 --token 标志传递的令牌作为管理节点或工作节点加入。如果您传递管理令牌,则节点作为管理节点加入。如果您传递工作令牌,则节点作为工作节点加入。

选项

选项默认描述
--advertise-addr广播地址(格式:<ip|interface>[:port]
--availabilityactive节点的可用性(activepausedrain
--data-path-addrAPI 1.31+用于数据面流量的地址或接口(格式:<ip|interface>)
--listen-addr0.0.0.0:2377监听地址 (格式: <ip|interface>[:port])
--token加入集群的令牌

示例

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

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

$ 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。

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

--advertise-addr value

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

也可以指定网络接口来广播该接口的地址; 例如 --advertise-addr eth0:2377

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

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

--data-path-addr

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

--token string

节点加入集群所需的 Secret 值

--availability

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

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