我有一个关于集群和扩展如何相关的问题,我无法从文档中解决这个问题。架构页面非常清晰,但也许我做了一些不正确的假设。
如果我设置了一个集群,比如说 4 个 CoreOS 主机,当我将我的应用程序推送到集群时,一个包含我的应用程序的 docker 容器将被部署到这些主机中的每一个,对吧?所以,现在我有 4 个正在运行的应用程序实例,它们将通过 deis 路由器(nginx,对吗?)进行负载平衡。或者 nginx 将在每个主机内进行负载平衡?在那种情况下,集群的负载平衡是什么?
如果我使用 deis scale 命令进行缩放,那么它会在每个主机内缩放容器吗?
因此,如果我运行 deis scale web=4
,这是否意味着我现在有 16 个(负载平衡的)实例在运行?
如果不是这样,它是如何工作的?
有了像 Heroku 这样的 PaaS,“集群”就不是问题了,所以无论如何,这对我来说是新的部分。使用 Heroku,当您运行 heroku scale
时,我们会得到跨服务器运行的新无人机,但我不必设置它们将要运行的位置(集群)。所以,我正在努力解决这个问题。
我是一名开发人员,涉足运维工作,所以如果我说的很蠢,希望您能原谅我。
最佳答案
所以,我想我现在可以回答我自己的问题了,已经成功地获得了在 EC2 上运行的 DEIS 集群。
要查看正在运行的是什么,在哪里运行(从您的 Deis 目录):
make status
实际上正在运行 fleetctl list-units
。
这显示了它们容器中正在运行的服务,分布在您的集群中。在我的实例中,我的集群中有 3 台主机。
如果我使用 deis create
部署一个应用程序/站点,那么它将在我的三个主机之一的 Docker 容器内部署该应用程序的 1 个实例。
如果我使用 deis scale
缩放应用程序,那么我将有多个容器,每个容器运行 3 个主机中的任何一个。它们可能都位于这些主机之一或任何组合上。
因此,如果您在 3 台主机集群上运行 deis scale web=4
,则将有 4 个正在运行的应用程序实例,而不是 12 个。
关于docker - Deis Cluster 和 Scale 命令之间的关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23443729/