3

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

如果我设置了一个集群,比如说 4 个 CoreOS 主机,当我将我的应用程序 git push 到集群时,我的应用程序的 docker 容器将部署到每个主机,对吗?所以,现在我有 4 个正在运行的应用程序实例,它们将通过 deis 路由器(nginx,对吗?)进行负载平衡。还是 nginx 会在每个主机内进行负载平衡?在这种情况下,集群的负载平衡是什么?

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

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

如果它不以这种方式工作,它是如何工作的?

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

我是一名开发人员,正在涉足操作,所以如果我很愚蠢,希望你能原谅我。

4

1 回答 1

4

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

要查看正在运行的内容、运行位置、运行位置(从您的 Deis 目录):

make status

这实际上是在运行fleetctl list-units

这显示了其容器中正在运行的服务,分布在您的集群中。在我的实例中,我的集群中有 3 台主机。

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

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

因此,如果您deis scale web=4跨 3 个主机集群运行,则应用程序将有 4 个运行实例,而不是 12 个。

于 2014-05-04T17:12:58.373 回答