0

我正在评估为一家拥有 2 台服务器的小公司实施 docker 的策略。我们想让它们都作为一个集群工作,以负载平衡工作,但在发生故障时作为彼此的故障保护装置。

据我了解,etcd 至少需要 3 台主机,否则您将失去放置/获取密钥的能力。使用 2 台机器是不可能的,而使用 3 台机器则不会出现故障。这个评价正确吗?

唯一的解决方案是拥有一个 etcd,但这意味着如果失败的机器是“etcd”,那么两者都将停止正常工作......

澄清一下,我想要像fleltd的调度和集群能力这样的好处,但部署规模很小。在主机之间手动移动容器/系统单元和数据是我的备份计划,但不太理想。

4

1 回答 1

0

您可以仅使用 2 台主机运行 coreos,但是一旦您没有法定人数,您将失去您的 etcd 集群,只有 2 台机器,如果两者都重新启动,这是可能的。使用 3 台主机,如果所有机器都重新启动,您获得仲裁的可能性要高得多。

如果你愿意让一个总是被认为是主人,你可以这样做,你只需要确保你了解如何让一个 etcd 对等体在失去仲裁时认为自己是主人。

如果您有静态 IP,那么您可以更好地控制集群,并且应该可以设置集群 IP,即使两台服务器都重新启动,它们也应该能够相互发现并达到稳定状态。

看看文档

于 2015-05-12T01:35:18.693 回答