我希望有一些docker swarm专家在那里配置了一个负载平衡器来支持docker swarm多节点设置。在这种简化的体系结构中,如果负载均衡器需要检测管理器节点是否已关闭并停止向其路由流量,那么“最佳实践”是什么? Docker swarm是否提供可以针对每个管理器节点进行测试的健康端点(api)?我是其中一些新手,似乎没有很多描述我正在寻找的东西。提前致谢
答案 0 :(得分:0)
引擎的metrics endpoint,然后是engine api,但我认为这不是应用程序负载均衡器所需的。
我看到大多数人所做的是在他们希望处理服务中运行的特定应用程序的传入流量的Swarm节点前放置负载均衡器,并且因为LB需要知道容器是否响应(不仅仅是节点的他们应该点击应用程序运行状况端点,并根据应用程序响应将节点输入和输出应用程序LB.
这就是AWS ELB开箱即用的方式,例如。
如果您在Swarm中的端口80上有已发布的服务,您可以将ELB设置为指向要处理传入流量的节点,并让他们期望在这些节点上获得健康的200/300回报。如果它们返回其他内容或者没有响应,它将从池中删除节点。
然后,您可以使用完整的监控解决方案来检查节点运行状况,并可选择响应更换节点等问题。