【问题标题】:How the docker swarm init --advertise-addr works?docker swarm init --advertise-addr 如何工作?
【发布时间】:2019-01-28 10:19:18
【问题描述】:

我知道我们可以使用

来初始化一个 swarm

码头群初始化

如果节点有多个地址,那么我们需要添加标志

--广告地址

并提供 IP 地址。该标志用于向 swarm 中的其他节点提及 IP 地址以进行 API 访问。

在一个有 5 个管理节点的集群中。 MGR1 是领导者(在这个节点我跑了

docker swarm init --advertise-addr 192.6.2.2

) 。现在如果我删除这个节点,集群将通过 RAFT 指定另一个管理者作为领导者。

我的问题是,如果要被选为领导者的管理节点有多个 IP 地址。然后如何设置单个 IP,就像首先使用 --advertise-addr 来初始化集群一样。 ?

【问题讨论】:

    标签: docker docker-swarm


    【解决方案1】:

    广告地址是节点本地的,它不是全局集群设置。该 ip 是当您从服务器获得客户端加入命令时显示的 IP,因为客户端需要一个地址来连接。您应该选择一个集群中任何节点都可以到达的地址。

    【讨论】:

    • 谢谢。那 --listen-addr 呢?正如您所提到的,加入令牌确实具有该 IP。但是当我们使用这些连接令牌时,我们是否需要将 --advertise-addr 和 --listen-addr 替换为工作节点的 ip ,而不是管理节点的 ip ?
    • @bkr join 命令在worker/new manager上运行。 IP 地址是新工人/经理需要连接的经理。所以你不会改变那个IP。您不会看到管理器生成的连接命令中包含--advertise-addr,因为它不知道您运行该命令的客户端的任何信息。
    • 谢谢 BMitch 。在书中,Nigel poulton 在 Docker 中进行了深入研究。用于将新节点添加到集群中。提到将 --advertise-addr 和 --listen-addr 标志添加到 join token 命令并提供该新节点的 IP 地址。
    • @bkr 如果需要,您可以将标志和 ip 添加到 join 命令中。我上面的评论是为了回应“替换” ip。
    猜你喜欢
    • 2022-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    • 2022-01-17
    相关资源
    最近更新 更多