gpt4 book ai didi

consul - 为代理寻找 Consul 集群

转载 作者:行者123 更新时间:2023-12-01 15:53:26 30 4
gpt4 key购买 nike

所以我构建了一个 3 节点的 Consul 集群。现在它们仅由 IP 地址表示。在阅读文档时,我不清楚如何将他们的位置暴露给其他想要查询的人。

我可以将当​​前领导者的 IP 地址硬编码到其他代理中,但这似乎不是最好的主意。我可以为每个节点分配一个 DNS 名称,但是如果由于网络问题导致领导者发生变化怎么办?那是问题吗?我查询/写入哪个节点重要吗?

我想我没有在任何地方读到解释集群设置的这一部分。当我启动一个需要查询 Consul 集群的新系统时,我如何自动让它知道 Consul 集群在哪里。

最佳答案

客户端需要连接主机,反之亦然。

如果您想自动化整个集群的启动过程,有几个选项:

  1. 您可以硬编码主机的地址——应该使用静态地址(客户端可以有动态 IP 地址)。这可以在内部甚至云环境中完成——例如,查看 AWS VPC 文档。这是最简单的方法。

  2. 您可以先启动 masters,每当客户端启动时,您可以向他提供 masters 的 IP 地址。例如,在云中,这可以使用用户数据自动完成。这也可以通过您的 IT 自动化工具(例如 ansible)实现自动化。它需要对引导过程进行一些修改,因为您需要在引导时编辑客户端配置,但这不会限制您使用硬代码地址。这种方法可能会减慢您的集群启动时间,因为现在可以串行了。然而,如果你足够努力,这是可以避免的(通过启动所有集群,并找到一种方法在运行时将 masters ip 地址传递给客户端,然后才启动客户端的 consul 进程)。

虽然我认为最优雅的是 #1,但这取决于您的需求。

无论如何,确保masters的IP地址在集群启动后不会改变。即使重启后。这是一种不好的做法。

此外,最好将所有三个 IP 地址都传递给客户端以获得高可用性(如果您选择 3 个主配置)。

关于consul - 为代理寻找 Consul 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38703173/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com