Puppetは私のマシンのリソースを使い果たしており、残念ながら、マシン内の他のプロセスと一緒にマスターを実行する必要があります。
今、私はpuppetのデーモンとしての実行を常に停止する予定であり、代わりにそれを実行することを考えていました。
誰かがそのような戦略に挑戦したことがありますか?
誰か助けてもらえますか?
Puppetを通常どおりcronジョブに追加できますが(これにより、稼働時間中、または30分ごとよりも多いまたは少ない頻度でのみ実行するオプションが可能になります)、ソース管理のリビジョン番号を確認する短いスクリプトでラップします。インクリメントされました。もしそうなら、それはpuppetクライアントを起動します、そうでなければ、puppet(そしてそれが行うファイルの高価なハッシュのすべて)の必要はありません。
ただし、これは、ホストpuppetでファイルを変更した場合、次の構成が変更されるまでファイルを変更しないことを意味しますback。ラッパースクリプトのロジックを変更して、最後の実行から24時間以上経過している場合は、puppetクライアントも実行するようにすると、この問題を回避できます。
「マスターレス」パペットのアイデア(ewwhiteが言及した)は、パペットマスターをボトルネックとして削除し、それをgitに置き換えます。これは私の意見では非常に望ましいことです。 gitに変更を加えるよりも早く変更を加えない限り、それらの変更をすべてのホストにプッシュすることはできませんが、このボトルネックは問題になりません。問題が発生した場合は、「スポーク」をツリー形式で配置できます。それは数万のホストに拡張する必要があります。