【问题标题】:Relationship Between a Deis Cluster and Scale command?Deis集群和Scale命令之间的关系?
【发布时间】:2014-05-03 11:18:58
【问题描述】:

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

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

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

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

如果不能这样工作,它是如何工作的?

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

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

【问题讨论】:

    标签: docker deis


    【解决方案1】:

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

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

    make status
    

    实际上是在运行fleetctl list-units

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

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

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

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

    【讨论】:

    • 正确。如果您要求 4 个容器,无论有多少主机,您都会得到 4 个。当您通过添加主机来扩展集群容量时,此功能非常重要。
    • 还要注意我们在文档中确实提到了这一点,但对scale 行为的更多解释不会有什么坏处。 docs.deis.io/en/latest/client/scale
    • @bacongobbler 您的链接 docs.deis.io/en/latest/client/scale 已损坏,请修复。
    猜你喜欢
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-29
    • 2023-01-22
    • 1970-01-01
    • 2012-02-24
    相关资源
    最近更新 更多