2017-03-13 29 views
1

我想为我写的web服务设置故障转移。 无处不在我读Docker群1.12自动故障转移,但我认为只有失败的容器。使用Docker Swarm进行DNS故障转移1.12

我应该如何为我的服务配置公共DNS?

如果主机关闭,故障转移如何工作?

随着正常的DNS轮循机制和节点的IP,它将无法工作。对于n台服务器,每第n个请求都会失败。如果一台主机关闭,docker路由网格不起作用。或者我想念这里的东西?

供参考:目前我没有使用码头群,但我打算这样做。

回答

0

你有两个选择:

  • 如果您使用的是像amazonaws云提供商,您可以使用ELB或什么都负载均衡器的cloudprovider提供,他们通常支持模式TCP和健康检查。然后你会将你的DNS指向负载平衡器。通过这种方式,当节点发生故障时,它将通过健康检查从负载平衡器中移除,并在健康状况再次恢复时恢复。

  • 您可以使用自己的负载平衡器。 HAproxy和Nginx支持TCP模式,您可以设置健康检查规则。当一个节点发生故障时,它将通过健康检查从负载平衡器中删除,并在健康状况再次恢复时恢复。确保HighAvailablity是通过Keepalived等工具提供的,因此loadbalancer不会成为失败点。

请注意,这适用于TCP流量,因为许多负载均衡器不支持UDP流量。

+0

谢谢你的回答。目前我正在使用你的第二个选项。但在这里我有同样的问题。什么时候节点(是负载均衡容器之一运行的)停止运行?我能在这里做什么?我喜欢更新DNS循环赛? – user3603632