Consul bootstrap-期望值
Consul bootstrap-expect value
我有一个 consul 集群,通常应该有 5 个服务器和一堆客户端。我们启动服务器的脚本最初是这样配置的
consul agent -server -bootstrap-expect 5 -join <ips of all 5 servers>
但是,我们不得不重新操作系统所有服务器并再次 bootstrap -- 我们的一台服务器因硬件问题而宕机,bootstrap 不再工作。
我的问题是——在有 5 台服务器但 3 台足以满足法定人数的情况下,是否应该将 -bootstrap-expect 设置为 3?
这里的文档https://www.consul.io/docs/agent/options.html#_bootstrap_expect似乎暗示 -bootstrap-expect 应该设置为服务器总数,这意味着即使一台机器宕机也会阻止集群 bootstrapping
要清楚我们的启动脚本是静态文件,所以当我说有 5 个服务器时,它意味着最多可以使用 server 标签启动 5 个。
在您的情况下,如果您在初始集群设置期间不明确需要所有 5 个服务器都在线,则应将 -bootstrap-expect
设置为 3。这将避免类似于发生的情况,即您有 5 个服务器,你告诉他们他们必须等待所有 5 个都在线,以进行初始集群设置。如文档所示:
When provided, Consul waits until the specified number of servers are available and then bootstraps the cluster. This allows an initial leader to be elected automatically.
--bootstrap-expect=3
一旦您的 5 台 Consul 服务器中的 3 台加入集群,领导者选举就会开始,如果最后 2 台服务器加入的时间很晚,集群就会正常运行。就此而言,您以后可以让任意数量的服务器加入。
我有一个 consul 集群,通常应该有 5 个服务器和一堆客户端。我们启动服务器的脚本最初是这样配置的
consul agent -server -bootstrap-expect 5 -join <ips of all 5 servers>
但是,我们不得不重新操作系统所有服务器并再次 bootstrap -- 我们的一台服务器因硬件问题而宕机,bootstrap 不再工作。
我的问题是——在有 5 台服务器但 3 台足以满足法定人数的情况下,是否应该将 -bootstrap-expect 设置为 3?
这里的文档https://www.consul.io/docs/agent/options.html#_bootstrap_expect似乎暗示 -bootstrap-expect 应该设置为服务器总数,这意味着即使一台机器宕机也会阻止集群 bootstrapping
要清楚我们的启动脚本是静态文件,所以当我说有 5 个服务器时,它意味着最多可以使用 server 标签启动 5 个。
在您的情况下,如果您在初始集群设置期间不明确需要所有 5 个服务器都在线,则应将 -bootstrap-expect
设置为 3。这将避免类似于发生的情况,即您有 5 个服务器,你告诉他们他们必须等待所有 5 个都在线,以进行初始集群设置。如文档所示:
When provided, Consul waits until the specified number of servers are available and then bootstraps the cluster. This allows an initial leader to be elected automatically.
--bootstrap-expect=3
一旦您的 5 台 Consul 服务器中的 3 台加入集群,领导者选举就会开始,如果最后 2 台服务器加入的时间很晚,集群就会正常运行。就此而言,您以后可以让任意数量的服务器加入。