嗨,我在物理服务器1中有docker swarm,这是通过虚拟IP生成的docker worker join令牌命令,现在我想制作另一台物理server2,其中docker作为工作节点安装到物理server1中的docker swarm。 >
所以我不能运行worker join token命令,因为它具有物理server2无法访问的管理器节点的虚拟IP。
虽然我在server1和server2之间有连接。
那么如何处理呢?
答案 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位于同一子网中。