3

我正在将我的所有服务器置于厨师的控制之下,以便使用厨师服务器进行 scm。它工作得很好....我喜欢它。我想我开始了解禅,但我仍然需要更好的理解。

之前,我在 ec2 上构建了 ami,我一直在重建 ami,但至少它们启动速度很快。

我认为,对于厨师来说,总是从一个准系统实例开始,然后用刀来建立你的 ami。

启动一个ami大约需要20分钟,安装chef大约需要5-6分钟。

我遇到的问题是我在负载平衡下运行 4 个服务器,两个 redis,主从服务器和两个 nginx 服务器。

在远程机器上,我有 python 脚本,它们总是检查 aa redis 主服务器或从服务器是否关闭,如果 nginx 服务器是否健康,则检查负载均衡器。

现在,在主厨下,如果服务器出现故障,我必须额外等待 15 分钟以上,而在预先构建的 ami 下,时间长度是启动新实例的时间。

我的问题如下:

1)是否有python api与刀交互?在 python 中,我使用 boto 来启动一个 ami。现在,我将不得不使用popen来执行刀。我的代码取决于知道 ami 何时启动并运行以继续进一步处理。

2)最好的做法是在预先安装了厨师客户端的地方拥有一个 ami?这将减少大约 6 分钟。

3)最后,我还缺少什么?任何建议都会很棒。

4

1 回答 1

3

1) https://github.com/coderanger/pychef 那是一个用于 chef api 的 python 客户端。本身不是刀,所以它不会让你访问你可能使用的任何插件,但它应该让你与厨师服务器交互

2)我不这样做,因为我喜欢使用股票的 ubuntu ami,但这似乎是一个完全合理的方法。可能已经有这样的 ami 可用,但我不知道。 编辑:我忘了,有 chef-omnibus 安装程序:http ://www.opscode.com/chef/install/通过 deb (IIRC) 安装

3)老实说,我认为您没有遗漏任何深刻的东西。但是,我绝对认为厨师应该是你用来让你的生活更轻松、更快、更一致的工具。所以,我会以对你最有效的方式使用它。如果有一个预先构建的 ami 效果最好,那么这似乎是最好的解决方案。对不起,我没有更多的见解。

于 2012-03-28T11:33:35.023 回答