在过去的几周里,我花了很多时间评估不同的方式将应用程序部署到云上(让我们假设AWS为这个问题),但是却找不到令人满意的解决scheme。
我们有一个非常标准的设置:
弹性豆茎非常容易设置为导轨部分,但吸吮sidekiq和cronjobs。
在查看coreos及其所有function/工具之后,我们确信这是最简单的解决scheme。 对于rails,sidekiq和cron,同样的Docker镜像,但是都有不同的CMD 。
现在,玩弄fleet和十二个ec2实例,我无法理解它背后的哲学:
全球单位有点“螺栓上”,不允许status或journal命令。 他们也是在不久之前被介绍的,暗示他们不是处理东西的主要方式。
但唯一的方法是运行像myservice{1..9}.service这样的东西。
全局单元与自动扩展一起工作 – 一旦新实例启动并连接到集群,集群将启动容器(如果元数据匹配)。 但似乎没有办法更新图像没有宕机,再加上上述缺less的命令和工具。
使用第二种方法,自动缩放不会带来任何好处,因为我必须指定我需要的确切数量的副本。 顺便说一下,这似乎也是与kubernetes的情况!
因此,由于许多大公司都运行docker集装箱,当然是自动缩放的(尤其是谷歌与Kubernetes),如何build立一个简单的自动缩放docker环境,而不必手动更改容器的数量?
注意:我甚至不需要像资源pipe理这样的复杂的答案(就像ECS那样,但这是另一回事)。 真的,我所需要的只是一种在实例上扮演angular色的方法,并且有一个工具,可以确保此实例在启动后运行正确的容器,包括滚动更新。
也许现在没有什么好的答案,因为我在网上找不到任何令人满意的东西。 但也许有人有几个build议。
谢谢!