3

私は、chef serverを使用して、すべてのサーバーをscmのchefの制御下に置く過程にあります。それは素晴らしい働きをします....私はそれが大好きです。私は禅を手に入れ始めていると思いますが、それでももっと理解が必要です。

以前、ec2でamiをビルドし、常にamiを再構築していましたが、少なくとも高速で起動します。

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

amiの起動には約20分かかりますが、シェフのインストールには約5〜6分かかります。

私が抱えている問題は、負荷分散の下で4台のサーバー、2台のredis、マスターとスレーブ、および2台のnginxサーバーを実行していることです。

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

さて、シェフの下で、サーバーがダウンした場合、私はさらに15分以上待たなければなりません。ここで、事前に構築されたamiの下では、時間の長さは新しいインスタンスを起動する時間でした。

私が持っている質問は次のとおりです。

1)ナイフと対話するためのPython APIはありますか?Pythonでは、botoを使用してamiを起動しました。今、私はナイフを実行するためにポペンを使用する必要があります。私のコードは、amiがいつ稼働しているかを知ることで、さらに処理を続行することに依存しています。

2)シェフクライアントがプリインストールされているamiを使用するのがベストプラクティスですか?それは約6ミニッツを剃ります。

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

4

1 に答える 1

3

1)https://github.com/coderanger/pychef これはシェフAPIのPythonクライアントです。ナイフ自体ではないため、使用する可能性のあるプラグインにアクセスすることはできませんが、chefサーバーと対話できるようにする必要があります。

2)私はストックのubuntu amiを使いたいので、これはしませんが、これは完全に合理的なアプローチのようです。おそらくこのようなamiはすでに利用可能ですが、私にはわかりません。 編集:忘れました、chef-omnibusインストーラーがあります:http : //www.opscode.com/chef/install/ deb(IIRC)経由でインストールします

3)正直なところ、あなたは何か深いものを見逃しているとは思いません。しかし、私は間違いなく、シェフはあなたの人生をより簡単に、より速く、より一貫性のあるものにするために使用するツールであるべきだと思います。だから、私はあなたにとって最も効果的な方法でそれを使用します。ビルド済みのamiを使用するのが最適な場合は、それが最善の解決策のようです。申し訳ありませんが、これ以上の洞察はありません。

于 2012-03-28T11:33:35.023 に答える