我正在评估为一家拥有2台服务器的小公司实施docker的策略。我们希望它们都像集群一样工作,以负载平衡工作,但在发生故障的情况下,作为彼此的故障保护。
据我所知,etcd至少需要3台up主机,否则您将失去放置/获取密钥的能力。如果有2台机器,这是不可能的;如果有3台机器,没有一台会失败。这个评估正确吗?
唯一的解决方案是只有一个etcd,但这意味着如果出现故障的机器是"etcd"-one,那么两者都将停止正常工作……
只是为了澄清,我想要的是像fleetd的调度和集群能力这样的好处,但需要一个小规模的部署。在主机之间手动移动容器/systemd-unit和数据是我的备份计划,但并不理想。
发布于 2015-05-12 09:35:19
你可以只在2台主机上运行coreos,但是一旦你没有足够的定额,你就会失去你的etcd集群,如果两台机器都重启的话,这是可能的。如果有3台主机,如果所有机器都重新启动,则有更高的仲裁可能性。
如果你愿意让一个总是被认为是主控的,你可以做到这一点,你只需要确保你知道如果quorum丢失,如何让etcd同级认为自己是主控即可。
如果您有静态IP,那么您可以对群集进行更多的控制,并且应该可以设置群集IP,然后即使两台服务器都重新启动,它们也应该能够彼此发现并达到稳定状态。
看一看docs
https://stackoverflow.com/questions/30171208
复制相似问题