3

シェフ サーバーを構成しており、このサーバーを介して 500 を超えるノード (おそらく 1000 近く) を管理することを期待しています。別のサーバーでrabbitmq、solrなどを実行することを検討する必要がありますか? 分散セットアップでシェフサーバー自体を実行することは可能ですか?

4

2 に答える 2

10

アップデート

Chef 11 は今年初めにリリースされました。リリースに加えて、Opscode がスケーラビリティ テストのために協力した企業のプレス リリース / ケース スタディがいくつかありました。Facebook と Cycle Computing は、1 つの Chef サーバーで 10,000 以上のノード クラスターを管理していたことに注目してください。Chef Server の仕様は控えめですが、非公開です。詳細については、次を参照してください。

これは Open Source Chef Server と Enterprise Chef の両方に適用されることに注意してください。Opscode の Hosted Enterprise Chef サービスは、基本的に「同じ」コード ベースを実行するため、本質的に巨大な Enterprise Chef インスタンスです。

(正確には同じではありません。Opscode には、複数の顧客が支払って使用できるようにするパブリックにアクセス可能な SaaS プラットフォームを実行するために必要なカスタマイズと追加のサービスがあるためです。)

Chef Wiki のこのページには、多くの優れたリンクと情報があります。

考慮すべき点:

  1. 重要な指標はノードの数ではなく、予想される時間の経過とともに収束するノードの数です。たとえば、Chef を 1 日に 1 回実行する 500 ノードは、Chef を 10 分ごとに実行する 50 ノードよりもサーバーの負荷が少なくなります。もちろん、500 ノードで Chef を 10 分 (または 30 分、一般的な間隔時間) ごとに実行すると、システムに大きな負荷がかかります。

  2. Chef Server は、コンポーネントを別々のノードで実行できるように、分散システムとして設計されました。これはまさにOpscode Hosted ChefOpscode Private Chefの仕組みです。負荷を分散するために、さまざまなサービスが別々のシステムで実行されます。多くのノードで Chef が頻繁に実行されることが予想される場合は、サービスを別々のシステムで実行する必要があります。wikiのChef 構成設定ページでは、サービスの構成オプションについて説明しています。

  3. 高可用性とスケーラビリティは同じものではなく、異なるアプローチが必要です。これらの違いは、Chef の範囲外です。ただし、 「スケーラビリティと高可用性」ページが役立つはずです。

  4. Chef 10.x または 0.10.x リリースでは、Ruby ベースの API サービスと、バックエンド データ ストアとして CouchDB を使用します。Hosted Chef の規模で、Opscode はスケーラビリティの問題を発見しました。これは、ChefConf 2012 での Seth Falcon の講演で説明されています。その話は主に顧客データの素晴らしいライブ マイグレーションに関するものですが、CouchDB のスケーラビリティに関していくつかのポイントがあります。また、Chef 11 は、Erlang ベースの API サービスと、バックエンド データ ストアとしてのSQL (MySQLまたはPostgreSQL) に移行されます。

  5. アップデートオープン ソース Chef Server の Chef 11 リリースでは、前述のように、Erlang でサーバー API サービスを完全に書き直す必要があります。この回答の上部にある情報は、ケース スタディと講演で、それが何を意味するかについてのより多くの洞察を提供します。

于 2012-10-17T05:05:03.360 に答える
1

@jtimberman はそれをかなりうまくまとめており、Chef サービスをいくつかの個別のノードに分割し、より多くのリソースを投入することで、実際に特定のポイントまでスケールアップできます。

データ ポイントとして、1 つの (オープン ソース) Chef 10.x サーバーによって管理されている約 700 のクライアントを、個別のノードにある solr とcouchdb で確認しました。

于 2012-10-17T10:55:19.443 に答える