【问题标题】:Multi-host Docker network with Swarm-mode and without swarm具有 Swarm 模式和无 swarm 的多主机 Docker 网络
【发布时间】:2018-06-24 22:51:24
【问题描述】:

我正在迁移部署在两台物理服务器 [web-app(node1) 和 DB(node2)] 上的遗留应用程序。

虽然以下博客满足了我的要求。但仍有一些问题

https://codeblog.dotsandbrackets.com/multi-host-docker-network-without-swarm/#comment-2833

1- 对于上述场景 web-app(node1) 和 DB(node2),我们可以使用暴露端口选项,webapp 将使用该端口,为什么要创建覆盖网络?

2- 通过使用带有replica=1 的swarm-mode 我们可以达到同样的效果,那么使用不使用swarm 模式创建overlay 网络将获得什么优势?

3- 如果安装了 consul 的节点,它就会宕机,我们的整个应用程序不再工作。(如果理解错误,请纠正)

4- 在 swarm 模式下,如果管理器节点出现故障(也有 webapp),我的理解是 swarm 会在可用主机上启动两个容器?如果我的理解不正确,请纠正我?

【问题讨论】:

    标签: docker docker-swarm


    【解决方案1】:

    那篇文章描述了“Swarm”的过时操作模式。所描述的是需要外部 kv 存储(如 consul)的“经典 Swarm”,但现在 Docker 主要使用“Swarm 模式”(这是引擎本身内置的编排功能)。回答我认为您的问题是:

    1. 我想你在问,如果我们可以在主机上为服务公开端口,为什么我们需要覆盖网络?如果是这样,如果主机宕机并且容器被重新调度到另一个节点会发生什么?覆盖网络通过跟踪容器的位置并适当地路由流量来解决这个问题。

    2. 不确定您的意思。

    3. 如果 consul 是基础发现的关键部分,那么是的,这将是单点故障,因此您希望在 HA 中运行它。这是使用“Swarm Mode”消除对外部 kv 的依赖的原因之一。

    4. 不确定你的意思,但也许是关于再平衡?如果是这样,那么是的,如果主机(带有容器)出现故障,这些容器将被重新安排在另一个节点上。

    【讨论】:

      猜你喜欢
      • 2017-11-11
      • 1970-01-01
      • 2016-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-11
      相关资源
      最近更新 更多