【问题标题】:Best practice for Chef, ec2, knife and reducing the time to boot and ami in the event of a failoverChef、ec2、knife 的最佳实践,并在发生故障转移时减少启动时间和 ami
【发布时间】:2012-03-28 23:51:08
【问题描述】:

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

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

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

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

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

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

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

我的问题如下:

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

2) 最好的做法是在预先安装 Chef 客户端的情况下使用 ami?这将减少大约 6 分钟。

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

【问题讨论】:

    标签: python amazon-ec2 chef-infra


    【解决方案1】:

    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 效果最好,那么这似乎是最好的解决方案。抱歉,我没有更多的见解。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-06
      相关资源
      最近更新 更多