Docker Swarm服务IP高可用性

时间:2018-02-01 08:54:43

标签: docker swarm

我已经构建了一个docker swarm集群(6个节点)。 虽然我能够构建弹性服务(多个节点用多个实例回答相同服务的请求),但是在管理器节点发生故障的情况下,我找不到构建高可用性IP级别服务(使用单个公共IP地址)的方法

docker swarm群集参考架构是否始终位于外部负载均衡器(IP或DNS)或反向代理之后?还是基于软件的老派vIP(心脏起搏器)?

我感觉我的群集没有自我弹性(就像我的vSphere群集为VM提供高可用性一样)而且我总是把我的单点故障放在某处。

有没有办法桥接docker swarm主机公共网络?

1 个答案:

答案 0 :(得分:2)

  1. 您应该至少有3名经理才能成为HA。
  2. 您没有提及您的托管环境,但在许多主机之间共享单个IP是操作系统级别的功能,大多数云托管机构都不支持。
  3. 如果您只是将Web应用程序发布给Swarm外部的用户,则可以依赖多个A记录(每个Swarm主机的一个公共IP,您希望接收流量)进行DNS循环故障转移。所有现代浏览器都支持此作为HA方法,如果一个人没有响应,客户端将拉出所有A记录并自动重试列表中的新记录。
  4. 大多数云托管商都有一个负载均衡器选项,可以提供单个IP路由到您的Swarm节点。这就是大多数人看来的样子,并且是用于AWS / Azure模板的Docker(来自https://store.docker.com
  5. 我在"Taking Docker to Production" session from DockerCon EU 2017中讨论了很多这些主题(抱歉,网站需要电子邮件才能收看)。