目的
目的は、30分ごとに発生するPuppetエージェントの自動実行を無効にすることです。 間隔を変更する は可能ですが、Puppetエージェントの自動実行は完全に無効にする必要があります。
挑戦する
このドキュメント によると、以下を設定することで、自動Puppet-agentの実行を無効にできるはずです。
/ etc/puppet/puppet.conf
[agent]
daemonize=false
結果は
Notice: Run of Puppet configuration client already in progress;
skipping (/var/lib/puppet/state/agent_catalog_run.lock exists)
puppetがデフォルトの実行間隔30分で手動で実行された場合。
2つ試行
user@hostname:~$ Sudo puppet agent --disable
結果は
user@hostname:~$ Sudo puppet agent -t
Notice: Skipping run of Puppet configuration client;
administratively disabled (Reason: 'reason not specified');
Use 'puppet agent --enable' to re-enable.
3回挑戦
このドキュメント は、このQ&Aの質問をグーグル検索した後に見つかりましたが、提供された情報は質問に回答しませんでした。
「1つを試みる」はうまくいくはずだった。すでに実行されている場合は、自分で停止する必要があります。これは、将来のインスタンスがデーモン化するのを防ぐだけです。何か不足している場合は、これが機能しない理由を明確にしてください。あなたもすることができます chkconfig puppet off && service puppet stop
Red Hatおよびその派生物。
Puppetエージェントがサービスとして開始されていないことを確認する必要があります。 systemctl
やchkconfig
のようなコマンドがあなたの友達です(例:systemctl disable puppet
またはchkconfig puppet off
)。ほとんどのディストリビューションについてはわかりません。
次に、エージェントが停止していることも確認する必要があります。例えば。 systemctl stop puppet
またはservice stop puppet
。
上記を実行するためにパペットを使用することもできます。
puppet apply <(echo "service { puppet: ensure => false, enable => false }")
それでも機能しない場合は、pkill puppet
対策として、それでも機能しない場合は、再試行してください。再起動してください。
次のようなコマンドを探していますか?
puppet agent --disable
私はdaemonizeオプションがこれに影響することを期待しません-それがプログラムがそれ自身をバックグラウンドにして、ターミナルから切り離すかどうかを制御することを期待します。
https://docs.puppetlabs.com/references/stable/configuration.html#runinterval 言う...
実行間隔
人形エージェントがカタログを適用する頻度。 runintervalが0の場合、「実行しない」ではなく「継続的に実行する」ことを意味することに注意してください。 Puppetエージェントを実行しない場合は、-no-clientオプションを指定して開始する必要があります。この設定は、秒(30または30秒)、分(30分)、時間(6時間)、日(2日)、または年(5年)の時間間隔です。
これはより関連性があるようです(設定自体ではなく--no-client
で始まることへの参照)。
Puppetが定期的な変更を行うのを停止する必要がある場合は、管理対象ノードのサービスを停止するだけです。これは明らかに、他のメカニズムを介して1回限りの実行を呼び出す必要があることを意味します(これは頻繁には実行しないため、シェルから実行するだけです)。
このセットアップでは、puppetdは実行されていますが、定期的な更新を行っていません(これは私の期待です-私はこれをテストマシンで試していますが、まだ十分な時間が経過していません)。
puppet agent --test
を実行すると、1回実行されますが、今後の実行はスケジュールされません。
puppet --version
戻り値
5.3.3
puppet resource service puppet ensure=stopped enable=false
戻り値
Notice: /Service[puppet]/ensure: ensure changed 'running' to 'stopped'
service { 'puppet':
ensure => 'stopped',
enable => 'false',
}
stopped
の反対はrunning
です。 false
の反対はtrue
です。 ;)
Sudo service puppet stop
puppetデーモンを実行している場合
または、cronjobを構成している場合は削除します。
リンクされた質問 で述べたように、puppet-agentを実行して構成の実行を無効にする可能性の1つとして、runinterval
を10年などの非常に大きな値に変更します。ただし、このソリューションでは、エージェントの再起動後に構成の実行がトリガーされます。