我正在考虑构建一个Docker Swarm集群.为了保持简单和相对容错的目的,我想简单地运行3个节点作为管理器.
不使用任何专用工作节点时有哪些权衡取舍?有什么我应该知道的可能不明显吗?
我发现这个Github问题提出了类似的问题,但答案对我来说有点模棱两可.它提到表现可能会更糟.它还提到需要更长时间才能达成共识.在实践中,哪些功能会更慢?"需要更长时间达成共识"实际上会产生什么影响?
Bre*_*her 14
TL; DR作为Swarm中的工作者的所有经理的利弊:
优点:
缺点:
您的问题的完整答案
不使用任何专用工作节点时有哪些权衡取舍?有什么我应该知道的可能不明显吗?
使用仅限工作程序的节点没有硬性要求.如果你正在部署一个解决方案,你知道你需要什么资源,并且服务/任务的数量通常是相同的,那么只有三个经理做完所有工作的Swarm都没有错,只要你考虑过这三个受影响的地区:
其他问题:
在实践中,哪些功能会更慢?"需要更长时间达成共识"实际上会产生什么影响?
更多的管理人员=更长的经理人在一个人垮台时选出新的领导者.虽然没有领导者,但Swarm处于只读状态,无法启动新的副本任务,也不会发生服务更新.任何失败的容器都不会自动恢复,因为Swarm管理器无法正常工作.您正在运行应用程序,入口路由网格等等仍然可以正常运行.管理者健康和领导者选举的很大一部分性能与所有经理节点之间的网络延迟有关,与管理者的数量一样多.这就是为什么Docker通常建议单个Swarms管理器都在同一个区域,这样他们就可以在彼此之间进行低延迟的往返.这里没有硬盘规则.如果您在管理人员和测试失败之间测试200毫秒的延迟,并且对领导者选举的结果和速度很好,那就很酷.
背景资料:
| 归档时间: |
|
| 查看次数: |
2718 次 |
| 最近记录: |