gpt4 book ai didi

consul - 部署 consul 集群的最佳实践是什么?

转载 作者:行者123 更新时间:2023-12-02 05:14:44 49 4
gpt4 key购买 nike

我正在尝试提出 consul用于生产目的的集群。我没有找到太多关于部署 consul 集群的最佳实践的信息。假设我想要一个包含 3 个节点的集群。我想知道以下场景之间有什么区别以及首选哪种场景。

  • 正在运行consul agent -server -data-dir /tmp/consul在每个节点上。
  • 正在运行consul agent -server -data-dir /tmp/consul --bootstrap在仅第一个节点。
  • 正在运行consul agent -server -data-dir
    /tmp/consul --bootstrap-expect 1
    在每个节点上还是仅在第一个节点上?
  • 正在运行consul agent -server -data-dir /tmp/consul
    --bootstrap-expect 3
    在每个节点上还是仅在第一个节点上?

完成这第一步后,我应该如何将所有 3 个节点聚集在一起?我应该运行consul join <ip_node_1> <ip_node_2> <ip_node_3>在每个节点上还是仅在第一个节点上?

如果我想在 docker 容器中运行 consul 代理,挂载 -data-dir 是一个好习惯吗?目录作为主机盒中的卷?

最佳答案

我相信在每个节点上使用 -bootstrap-expect 的子弹 #4 是首选方法。

来自Consul bootstrapping documentation :

The recommended way to bootstrap is to use the -bootstrap-expect configuration option. This option informs Consul of the expected number of server nodes and automatically bootstraps when that many servers are available. To prevent inconsistencies and split-brain situations (that is, clusters where multiple servers consider themselves leader), all servers should either specify the same value for -bootstrap-expect or specify no value at all. Only servers that specify a value will attempt to bootstrap the cluster.

基于 docs for -bootstrap-expect 不鼓励您的第 2 号子弹指示将 -bootstrap 标志描述为“legacy”

至于加入,我使用的是auto-join feature of the Atlas integration所以我不需要手动加入或指定节点IP。

This forum Q&A还有助于确认这种方法,并提供有关使用 -bootstrap-expect 时发生的情况的一些详细信息。

关于consul - 部署 consul 集群的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38463232/

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