ファイルサーバーと6つのノードで構成される小さなクラスターがあります。 6つのノードは100%同じでなければならないので、パペットを使って管理します。いくつかの理由でエクスポートされたリソースを使用したいので、storeconfigsとpostgresデータベースを使用します。
Puppet Masterはファイルサーバーの仮想マシンで実行されます。
これらはすべて、人形マスターで人形2.7と一緒にDebian 7 "Wheezy"を使用するとうまくいきます。
最近、私はPuppet 3.7に付属しているDebian 8 "Jessie"を実行する新しいノードを追加しました。最新のクライアントでは、以前のpuppetマスターを実行できないため、puppetマスターをjessieにアップグレードしました。これにより、私の人形レシピにいくつかの互換性の問題が発生しました。ほとんどの場合、私が処理できないことはありませんが、解決策を見つけることができない問題の1つがあります。
err: Could not retrieve catalog from remote server: Error 400 on SERVER: could not obtain a database connection within 5.000 seconds (waited 5.000 seconds)
これは、メインサーバーがしばらく実行され、約5つのディレクトリをサービスした後に発生します。それ以前はうまくいくようだった。
したがって、ファイルサーバーは、これまでに作成されたシステムの中で最も速いシステムではありません。それは私があまり気にしないことです(人形が動くのに10秒ではなく30秒かかる場合、私は泣かないでしょう)。しかし、puppetがディレクトリをコンパイルする前にあきらめる場合はあまり役に立ちません。はい、仮想マシンのリソースを増やすことはできますが、そうしたくありません(現在は、処理できる負荷が非常に少なく、少し遅いだけです)。
この時間制限を増やしたいのですが、方法がわからないようです。
このタイムアウトはどこで定義/設定されますか?
答え1
結局、スタンドアロンバージョンをpuppetmaster
Apache設定に置き換えました。mod_passenger
この構成では問題を再現できません。
Debian Jessieではapt install puppetmaster-passenger; systemctl stop puppetmaster; systemctl restart apache2
。