注:この質問がどこに属するのかわかりません。たぶんそれがより適しているかもしれません。サーバー障害ところで、主にハッキングやホームネットワーキング用途で質問をさせていただきます。また、10〜100秒以内に現場で炎を制御できるため、サーバーエラーを使用しません。
私は設定を探しており、実際のマスターでPuppetを使用するのがどんな感じかを知るために、Puppet MasterといくつかのPuppetクライアントを使って実験を始めました。デフォルトでは、Puppetクライアントインスタンス(私の知る限り)は30分ごとに更新され、マスターサーバーに最新の設定を要求し、設定が失敗した場合に適用します。
MCollectiveは、メッセージキューと並列性を使用してクライアントにリアルタイムでコマンドをプッシュするため、デフォルトではすぐにこれらの変更を実行できると聞きました。
私はPuppet MasterとPuppetクライアントを使ってこれを行う方法を見つけようとしましたが、MCollectiveはPuppet Master用のライブプラグインよりも大きなプロジェクトのようです。
Puppet設定への変更をリアルタイムで取得するには、単純なPuppetマスター、MCollectiveサーバー(およびメッセージキュー)、およびPuppetクライアントをどのように設定しますか?
(どうすればいいのかおおよそのアイデアはありますが、apt-get install redis-server puppetmaster mcollective
MCollectiveとPuppet Masterを統合する方法を知りたいです。)
答え1
私はこれで遊んでいませんが、あなたが探しているように聞こえます。
抜粋
このエージェントは、以前の puppetd プラグインとは異なり、Puppet 3 とそのロックおよびステータスファイルに対する最近の変更をサポートする puppet エージェントを管理します。
Puppet 3の基本的なサポートに加えて、多くの新機能が追加されており、ほとんどはPuppet 2.7と3で利用可能です。
- noop 実行または no-noop 実行のサポート
- 特定のタグの実行制限のサポート
- splay、splayなし、splaylimitsをサポート
- カスタム環境指定のサポート
- カスタムマスターホストとポート指定のサポート
- 無効にした場合のメッセージロックなどのPuppet 3機能のサポート
- 適切な場合は、新しいサマリープラグインを使用して便利なサマリーを提供する
- 新しい検証プラグインにより、より豊富な入力検証とより良いエラーを提供
- 現在のPuppetエージェントの状態と最近の実行状態のデータソース
そしてこの抜粋は次のとおりです。
アクティブなすべてのPuppetノードの実行
通常、変更をコミットした後、インフラストラクチャのパフォーマンス制約内でできるだけ早く変更をインフラストラクチャにロールアウトしようとします。
Puppet Masterのパフォーマンスは、通常、アプリケーションがカタログを維持できる同時Puppetノードの最大数によって異なります。
MCollective インフラストラクチャを使用すると、現在のカタログがアクティブになり、適用されているシステムの数を確認できます。
したがって、同時Puppetを使用してインフラストラクチャ全体をPuppetするには、できるだけ一度に10個のノードに近づけて実行し、次の手順を実行します。
$ mco puppet runall 10