web-dev-qa-db-ja.com

Puppetmasterの変更は、Puppetエージェントによって常にすぐに認識されるとは限りません

はじめに

Puppetmasterの変更が、Puppetエージェントによってすぐに認識されないことが1日に何度も発生します。この場合、変更が認識される前に、Puppetを5回以上実行する必要があります(たとえば、X <5分)。

  • 人形バージョン:3.7.3
  • X> 100Puppet-エージェントノード
  • 1人の操り人形マスター

期待される

Puppetmasterの変更は、Puppet-agentによって常にすぐに認識される必要があります

試行

この問題を解決する試みの1つは、 このドキュメント を読んだ後に実行されました。

Puppet includes a basic puppet master web server based on Ruby’s WEBrick library.
(This is what Puppet uses if you run puppet master on the command line or use
most puppetmaster init scripts.)

You cannot use this default server for real-life loads, as it can’t handle 
concurrent connections; it is only suitable for small tests with ten nodes 
or fewer. You must configure a production quality web server before you
start managing your nodes with Puppet.

Any Rack-based application server stack will work with a puppet master, but if 
you don’t have any particular preference, you should use Passenger combined 
with Apache. This guide shows how to configure Puppet with this software.
  1. Passengerを使用してpuppetmasterを実行します。
  2. もう1つの試みは、Puppet-agentノードでのpuppetの自動実行を30分ごとに停止することでした。

現在

試行しても問題は解決しませんでした。つまり、Puppetmasterの変更がPuppet-agentによってすぐに認識されません。

1
030

これは、環境のキャッシュに関する問題である可能性があります。デフォルトでは、3.7では、ファイルシステム上の環境からのデータが3分間キャッシュされるため、そのキャッシュの有効期限が切れるまで、変更はエージェントノードに表示されません。

マスターのenvironment_timeoutを調整して、必要な動作を実現します。キャッシュを完全に回避するために0を使用すると、パフォーマンスに悪影響を与える可能性があるという警告が表示されます。

3
Shane Madden