如何将另一个物理服务器或VM作为Docker集群计算机的节点加入?

时间:2019-01-20 17:40:51

标签: docker docker-swarm docker-machine

嗨,我在物理服务器1中有docker swarm,这是通过虚拟IP生成的docker worker join令牌命令,现在我想制作另一台物理server2,其中docker作为工作节点安装到物理server1中的docker swarm。 >

所以我不能运行worker join token命令,因为它具有物理server2无法访问的管理器节点的虚拟IP。

虽然我在server1和server2之间有连接。

那么如何处理呢?

2 个答案:

答案 0 :(得分:1)

您需要重新配置Docker swarm Manager的公告地址。如果第一台机器不是真正的生产机器,或者您可以随时部署代码,则可以轻松地在管理器机器上调用以下命令,以使用自己的新广告地址重新初始化docker swarm服务。

$ docker swarm leave --force; \
docker swarm init --advertise-addr=<Server IP>

然后,您可以再次使用'join-token'命令生成工作人员令牌:

$ docker swarm join-token worker

请记住,调用docker swarm leave --force之后,之前部署的堆栈将消失。

OR

您需要找到一种更改广告地址的方法。

致谢。

答案 1 :(得分:1)

仅当您在创建或初始化docker swarm时没有将物理机IP称为swarm API IP时,才会生成虚拟IP。  如果通过指定--advertice-addr=<IP of ur master node IP>
在主节点上初始化群集集群时将机器IP作为群集API服务器IP       因此,该IP可以使用其他VM作为您的群集中的工作节点加入。

注意:您的IP位于同一子网中。