質問: 人形マスターを使用することと、gitで人形マニフェストを配布することの長所と短所は何ですか? puppetについて読み始めましたが、puppetマニフェストを配布する方法には主に2つの方法があることがわかりました。 1つはパペットマスターを使用する方法で、もう1つはgitを使用してそれらを配布する方法です。2つの異なるバージョン間の長所と短所は何ですか。 windowsサーバーとlinuxサーバーの両方を使用する環境に推奨されるものは何ですか?
回答: マニフェストを配布する2つの方法は、パペットマスターを使用するか、マスターレス構成にすることです。それらは相互に排他的ではなく、私の仕事では両方のアプローチを使用しています。マスターフル見事なセットアップにより、インフラストラクチャ内のすべてのモジュールのコレクションを含むパペットマスターができます。次に、ノードは(デフォルトでは30分ごとに)報告し、インストールする必要のあるソフトウェアのカタログを要求します。このモデルはより一般的です。会社に数十または数百のサーバーがある場合は、構成を一度簡単に定義でき、すべてのノードに魔法のようにプッシュされます。利点: シンプルでスケーラブルな分散構成管理 人形を実行するたびに偶発的な変更を自動的に元に戻します puppetダッシュボードは、リアルタイムのフィードバックとレポートを提供します 短所: puppetエージェントは、数万のノードに簡単に拡張できません。 (paypalのような大企業は実際にレポートにcronを使用しています) ノードを頻繁に追加または削除すると、証明書の管理が面倒になります。 マスターレスmasterlessは、引き続きpuppetの利点を利用しますが、モジュールを手動で呼び出すことで利用します。基本的には、サーバーでpuppet apply foo --modulepath=barを実行するだけです。私はここにこのモデルのより詳細な説明を書きました: https://unix.stackexchange.com/questions/129318/can-we-install-puppet-without-touching-the-servers/130695#130695 利点: 一元管理する必要のないラップトップやワークステーションを簡単にプロビジョニングできます インフラストラクチャを頻繁に出入りするカウボーイのラップトップを壊す必要はありません マスターレスパペットモジュールは、bashスクリプトを作成するのとほぼ同じくらい簡単ですが、より保守しやすく、クロスプラットフォームにするのも簡単です。 それでも、puppetが提供する抽象化レイヤーの利点が得られます(bashスクリプトを記述して、異なる名前のパッケージをインストールしてみてください。たとえば、すべてのcentosマシンではopenssl-develですが、ubuntuマシンではopenssl-devです)。 短所: ノードへの配布がより困難で、パルプ、git、またはその他の配布手法が必要 以下のリソースをご覧になることを強くお勧めします https://github.com/rodjek/librarian-puppet http://puppetlabs.com/misc/webinars http://puppetlabs.com/resources/puppetconf-201 https://puppet.com/presentations/keynote-puppet-scale-%e2%80%93-case-study-paypals-learnings