2012-03-28 9 views
3

シェフサーバーを使用してscm用シェフの管理下に私のすべてのサーバーを置いています。素晴らしい作品です...私はそれが大好きです。私は禅を取得し始めていると思うが、私はより良い理解が必要です。シェフ、ec2、ナイフのベストプラクティス、フェールオーバー時の起動時間を短縮

私はami'sを作りました。私はいつもami'sを再構築していましたが、少なくとも彼らは速やかに起動します。

シェフと一緒に、私は、常にベアボーンのインスタンスとナイフを使用してあなたのamiを構築することから始まります。

シェフを迎え入れるのに約5〜6分かかるのは約20分です。

問題私は、ロードバランシングの下で​​4台のサーバ、2台のredis、マスターとスレーブ、2台のnginxサーバを実行しています。

リモートマシンでは、常にredisマスタまたはスレーブがダウンしているかどうかをチェックするpythonスクリプトがあり、nginxサーバが正常であればロードバランサ用です。

シェフの下で、サーバーがダウンすると、あらかじめ作成されたamiの時間の下で新しいインスタンスを起動する時間が15分以上かかることがあります。

質問私は、次のとおりている:

1)ナイフと対話するPythonのAPIはありますか? Pythonで私はamiを起動するためにbotoを使いました。今、私はナイフを実行するためにpopenを使用する必要があります。私のコードは、amiが起動して実行中であることを知っているかどうかによって異なります。

2)シェフクライアントが事前にインストールされているamiを持っていることをお勧めしますか?それは約6分を削るだろう。

3)最後に、他に何が欠けていますか?どんなアドバイスも素晴らしいでしょう。

答えて

3

1)https://github.com/coderanger/pychefこれはシェフapiのためのpythonクライアントです。ナイフそのものではないので、使用する可能性のあるプラグインにアクセスすることはできませんが、シェフサーバーと対話できるようにしてください。

2)私は在庫を使いたいので、 ubuntu ami's、しかしこれは完全に合理的なアプローチであるように思えます。このようなamiが既に用意されているかもしれませんが、私は手を知らないのです。 編集:私は忘れてしまった、シェフ・オムニバスインストーラがあります:http://www.opscode.com/chef/install/ DEB(IIRC)

3)を経由してインストールします私は正直に言うと、あなたは深いものが欠落しているとは思いません。しかし、私はシェフが、あなたの人生をより簡単に、より速く、より一貫性を持たせるために使用するツールでなければならないと確信しています。だから、私はあなたに最も効果的な方法でそれを使用します。あらかじめ構築されたamiがうまく動作すれば、それは最善の解決策のようです。申し訳ありませんが、私はもう洞察力を持っていません。

関連する問題