具有群模式和无群的多主机 Docker 网络



我正在迁移部署在两个物理服务器上的遗留应用程序[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-通过使用副本= 1的集群模式,我们可以实现相同的效果,那么使用创建没有集群模式的覆盖网络将获得什么优势?

3-如果安装了Consul的节点,它将关闭,我们的整个应用程序不再工作。(如果理解错误,请更正(

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

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

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

  2. 不知道你这是什么意思。

  3. 如果领事是发现下的关键部分,那么是的,它将是单点故障,因此您需要运行它HA。这是通过"群模式"消除对外部 kv 的依赖的原因之一。

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

最新更新