厨师服务器与厨师独奏

我在一起构build一个运行Rails应用程序的结构。 应用程序本身在Heroku上运行。 但是,它向一个集群发出请求,集群通过C中的一个程序执行呼叫。

为了能够更快地恢复崩溃,我想用厨师创build一个例程。 我设法编写一个“食谱”,安装你需要的一切,当我使用Vagrant虚拟机时,它完美的工作。

但是,当我申请一个真正的服务器,它失败了。 此外,我正在使用Chef Solo,在运行脚本之前我需要在机器上手动安装一些东西,这不是很实用。

在这种情况下,我不知道是否应该拿主厨服务器。 恐怕这是一个“小”需求的“伟大”工具。

这个集群只有三台机器,这不应该增加太多。 但是,该应用程序还向另一个稍大的群集(6台机器)发出请求,尽pipe安装非常快,但也可以使用Chef Server。

应该与厨师或厨师独奏服务器? 有没有关于它的教学指导? 开发人员的文档非常混乱。

这个问题似乎是主观的,但我会尽量客观地回答这个问题。

Chef Server使用RESTful API提供发布系统和search索引。

这意味着您可以:

  1. 通过具有API的单个位置为节点分发食谱,以及用于创build版本约束和检索的原语,以及发布系统中可能期望的所有内容。

  2. 存储您正在pipe理的节点的数据(属性)。 无论是一个还是一千个,都可以通过API直接获取有关节点的信息。 您也可以使用它来告诉节点运行不同的食谱。

  3. 在Opscode调用“数据包”时存储关于您的基础设施的任意信息。 这是您喜欢的任何信息,例如用户信息,应用程序信息或任何您可以想到的有关您的基础结构的信息。

  4. 向服务器查询有关节点的信息,“生产中的networking服务器是什么?”

这与Chef Solo有什么不同? 很高兴你问!

随着厨师独奏,你必须得到食谱,节点属性,数据袋等,自己的节点。 这意味着将它们发布到多个节点可以获取它们的地方,或者将rsync / scp存储到每个被pipe理的节点。 节点数据没有集中存储,没有任何search索引。

一开始,这一切都很小,而且很容易分发。 在1,3甚至5个节点之间,这通常不是问题。 但是,大多数人发现自己有一些问题。

  • “确实有办法将食谱上传到节点更容易”
  • “人,每次我们更新食谱,生产下降,因为我们不希望在那里做的改变”
  • “我们怎么能把所有的节点数据收集在一个地方并查询呢?

名单继续。 会发生什么,许多人不想“跑厨师服务器”,所以他们build立自己的git回购站,HTTP服务器之上。

您所谈论的用例(大约5个节点)是Opscode Hosted Chef的“5节点免费”计划的目标,那么您不必pipe理一个特殊的系统作为您的Chef Server,至less看看它是这将为您的基础设施工作。 然后,您可以继续发展为更大的付费计划,或将您的数据(通过API轻松转移)到您自己的Chef Server。