web-dev-qa-db-ja.com

分散型Puppetアーキテクチャの長所と短所

現在Puppetmasterサーバーに接続しているRHELサーバーは約300台あります。ただし、パフォーマンスのボトルネックがいくつかあることに気づき、それがシステムの障害の原因です。私は一般的にPuppetにかなり慣れていないので、PuppetクライアントをPuppetmasterサーバーに接続する代わりに、分散型Puppetアーキテクチャを作成することを検討しています。パフォーマンスの向上や、SSL証明書への署名と新しいマシンへの交換の欠如など、私が予想すること以外に、分散型アーキテクチャをセットアップすることの長所と短所は何ですか?

14
JMeterX

分散化します。

証明書に署名する代わりに、sshキーを作成します。非管理者にキーを与えないでください

Subversionの代わりにGitをトランスポートとして使用できます。その後、さまざまなマシン/ロールに分岐し、変更をバージョン付けすることもできます。ただし、この時点でDVCSの趣向を知っている必要があります。

セットアップが速く、面倒でもありません。健全性チェックのためにいくつかのコミットフックを追加します。

これで、この時点で、puppetmasterをそのクライアントサーバーモデル、sshとgitに置き換えました。どちらもpuppetmasterよりも優れたスケールです。

さて、あなたの組織には階層が必要かもしれません。問題ありません。決定的なブランチを含むgitリポジトリを安全な場所に保管してください。

ボーナス:

git blame

誰が変更を行ったかを確認できます。

http://bitfieldconsulting.com/scaling-puppet-with-distributed-version-control

https://www.braintreepayments.com/braintrust/decentralize-your-devops-with-masterless-puppet-and-supply-drop

7
chiggsy

あなたは乗客の中で人形を走らせていますか?保存された構成?基本的なセットアップの問題を処理する限り、300ノードでスケーラビリティの問題が発生することはまったくありません。

3
czervik

分散化は、各クライアントがマニフェストソースのローカルコピーから独自のマニフェストをコンパイルするための最良の方法です。これは、saygitサーバーから更新をプッシュするたびに更新されます。クライアントは実行のたびにpuppetmasterに連絡する必要がないため、帯域幅をはるかに効率的に使用できます。また、クライアントはどこからでも更新できるため、単一点障害を排除できます。