グローバルvsローカルのパペット管理


8

誰かがPuppetを使用して地理的に分散した複数のシステムを管理したことがありますか?

ほぼ同じような配置がいくつかありますが(サーバーIPを除く)、その管理をPuppetに変換しようとしています。

2つのオプションがあります。

  • ローカル構成を提供するために独自のPuppetMasterをホストする各デプロイメントを用意し、PuppetMasterを同期する(おそらく再度Puppetを使用)

  • AWS EC2でPuppetMasterをホストして高可用性を実現し、単一ポイントからすべてのデプロイメントに構成を提供します

誰かが2番目のオプションを試しましたか、そしてそれはどのようにうまくいきましたか?このような環境での高可用性パフォーマンスに特に興味があります。

ありがとう。

回答:


7

あなたが提案するどちらのアプローチにも問題はありません。3つのパペットマスターがあり、すべて1つのサイトに配置され、世界中のノードにサービスを提供しています。接続しているパペットノードがdev / test / prodにあるかどうかに基づいてそれらを分離します。他の人々は、地理的地域ごとに操り人形マスターを実行することを好みます。他の人々はたくさんの操り人形マスターを持っています、いくつかは1つのノードだけを管理しています!

重要なことは、バージョン管理システムにpuppetmasterマニフェストツリーを格納および管理することが重要であり、会社が管理する他のコードと同様に扱うことです。Gitをお勧めしますが、慣れればSubversionでもうまくいきます。puppetmasterは、中央データベース自体ではなく、VCSの特定のビューを提供するサービスです。

VCSのコンテンツを使用して、必要なマニフェスト/モジュールをそれぞれのパペットマスターにデプロイし、それらを簡単に同期させることができます。慣習として、puppetモジュールごとにgit / svn repo / moduleを持っている人がいるようですが、ツリー全体を1つのrepo /モジュールの下に置くことを妨げるものは何もありません。

あなたへの私の質問は:

  • 各デプロイメントにはノードがいくつありますか?あなたが50以上について話しているなら、それは確かに地元の操り人形マスターを持っている価値があるでしょう。
  • 展開には、会社の他にそれらを使用するサードパーティがありますか?操り人形マスターは非常に高いセキュリティを持つ必要があります-それはあなたのすべてのシステムのドアへの鍵であり、非常に機密情報が含まれると考えてください。
  • 同様に、展開ベースのPMの場合、それらを独自のサーバー/ VMでホストしますか、それとも既存のマシンにタスクを割り当てる必要がありますか?セキュリティのために、puppetmasterサーバーにその役割だけを持たせることを強くお勧めします。
  • EC2がより高い可用性を提供することをどのように期待していますか?私の理解では、EC2インスタンスはHAではありませんが、AWSロードバランサーサービスの背後で2つ以上のパペットマスターを実行することは可能です。
  • 展開は大きく異なりますか?1日の異なる時間に変更しますか?複数の操り人形マスターは、より細かいレベルの制御を提供します。

1
こんにちは。それぞれの展開で最大10〜20ノードについて話すと、展開は世界中に広がっています。デプロイメント内で許可されたサードパーティはありません。Puppet関連のすべてのデータを専用のマシンに集中したいので、PMをEC2インスタンスでホストします。HAにはおそらくHeartbeat + DRBDを使用します。デプロイメントは基本的に同じアプライアンスですが、サーバーのIPだけが異なるだけです。再度、感謝します。
SyRenity 2010年

EC2の1つのpuppetmasterクラスターがおそらくあなたのためのトリックを行うように非常に聞こえます。マニフェストを安全に保管するためにGitまたはSubversionを使用していることを確認してください:)
Mike Pountney

2

ここで説明するスキームを使用して、Gitなどの分散型VCSを使用するPuppetmasterなしのシステムを使用することもできます。

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


Puppetmasterがない場合、Puppetの最も強力な機能の1つであるstoredconfigsサポートが失われます。更新に組み込まれているマシン間の情報収集を考えてください。例えばすることができますなどのconfigs、プル・ベースのバックアップ監視、ルールをルーティング、ルールをファイアウォールで生成する(人形が-管理)すべてのホストを、サービスの実行については、自動的に収集情報
デイビッド・ガードナーを

はい、それは公平な点です。確かに、完全なPuppetmasterベースのシステムを実行することには利点があり、通常私はそうします。このような非常に軽量なVCSベースのシステムが役立つ状況を見ることができます。
John Arundel

マスターレスセットアップを選択する場合は、それを実行して、ファプターからのみインベントリを受信する手段としてpuppetmasterサーバーをセットアップできます。その場合、非常に高い可用性である必要はありません。
timurb

0

また、同期するさまざまな環境のパペットマスターも多数あります。これを行うには、すべてのパペットモジュールとマニフェストをsubversionで管理し、通常のパペットマニフェストとチェックアウトを実行するvcsdeployというモジュールを使用して、パペットモジュールをパペットマスターにデプロイします。

http://www.practicalclouds.com/content/guide/pclouds-vcsdeploy-deploy-stuff

同期したい場合は、バージョンにタグを付けてから、パペットマスターのnodes.ppを更新します。

よろしく

デイブ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.