Deis集群和Scale命令之间的关系?

时间:2014-05-03 11:18:58

标签: docker deis

我有一个关于群集和扩展如何相关的问题,我无法从文档中解决这些问题。架构页面非常清楚,但也许我做了一些不正确的假设。

如果我设置了4个CoreOS主机的集群,当我将我的应用程序推送到集群时,我的应用程序的docker容器将被部署到每个主机,对吧?所以,现在我有4个运行的应用程序实例,它将通过deis路由器进行负载平衡(nginx,对吧?)。或者nginx将在每个主机中进行负载平衡?在这种情况下,群集的负载平衡是什么?

如果我使用deis scale命令进行缩放,那么它是否会在每个主机中扩展容器?

所以,如果我运行deis scale web=4,这是否意味着我现在有16个(负载均衡)实例在运行?

如果它不起作用,它是如何工作的?

使用像Heroku这样的PaaS,“群集”不是一个东西,所以无论如何这对我来说都是新的部分。使用Heroku,当您运行heroku scale时,我们会在服务器上运行新的无人机,但我不必设置它们将要运行的位置(群集)。所以,我试图绕过它。

我是一名开发人员,将我的脚趾浸入操作中,所以如果我愚蠢的话,希望你能原谅我。

1 个答案:

答案 0 :(得分:4)

所以,我想我现在可以回答我自己的问题,成功地在EC2上运行了一个DEIS集群。

要查看正在运行的内容,在哪里,运行(从您的Deis目录):

make status

实际上正在运行fleetctl list-units

它显示了在其容器中运行的服务,遍布整个群集。在我的实例中,我的群集中有3个主机。

如果我使用deis create部署app / site,那么它将在我的三个主机之一上部署Docker容器中的该应用程序的一个实例。

如果我使用deis scale缩放应用程序,那么我将拥有多个容器,每个容器都运行3个主机中的任何一个。他们都可以在其中一个主机上,或任何组合。

因此,如果您在3个主机群集中运行deis scale web=4,则会有4个正在运行的应用实例,而不是12个。