30分ごとに発生するスケジュールされた自動Puppet実行を無効にする方法は?


8

目的

目的は、30分ごとに実行されるPuppetエージェントの自動実行を無効にすることです。間隔を変更することは可能ですが、Puppetエージェントの自動実行は完全に無効にする必要があります。


1つを試行

このドキュメントによると、以下を構成することにより、自動Puppetエージェントの実行を無効にすることが可能であるはずです。

/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の質問をグーグル検索した後に見つかりましたが、提供された情報は質問に回答しませんでした。


2
一つはうまくいくはずです。すでに実行されている場合は、自分で停止する必要があります。これは、将来のインスタンスがデーモン化するのを防ぐだけです。何か不足している場合は、これが機能しない理由を明確にしてください。chkconfig puppet off && service puppet stopRed Hatとその派生物でも実行できます。
アーロンコプリー2015年

@AaronCopleyアドバイスありがとうございます。パペットを無効にして停止しましたが、30分ごとに再度実行されないかどうかを監視します。daemonize=false設定はまだ/etc/puppet/puppet.confにおけるエージェントのセクションに存在する
030

@AaronCopley回答としてコメントを投稿できますか?
030年

回答:


10

「1つを試みる」はうまくいくはずだった。すでに実行されている場合は、自分で停止する必要があります。これは、将来のインスタンスがデーモン化するのを防ぐだけです。何か不足している場合は、これが機能しない理由を明確にしてください。chkconfig puppet off && service puppet stopRed Hatとその派生物でも実行できます。


Puppetエージェントが再起動されなかったため、おそらく最初は機能しませんでした。明日、提供されたコマンドを実行して問題が解決したかどうかを確認します。
030

4

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、ある程度の対策として、再試行してください。それでも機能しない場合は、再起動してください。


3

次のようなコマンドを探していますか?

puppet agent --disable

回答を投稿していただきありがとうございます。このコマンドを実行すると、結果としてError: Could not parse application options: invalid option: --disable
030

1
人形エージェントである必要があります--disable
dmourati 2015年

@dmouratiこのコマンドが実行されました。sudo puppet agent -t結果はNotice: Skipping run of Puppet configuration client; administratively disabled (Reason: 'reason not specified'); Use 'puppet agent --enable' to re-enable.
030年

@TomOnTimeこれはすでに試されています。このコマンドを実行すると、puppetを手動で実行することはできなくなります(質問のAttempt2のドキュメント)
030

1
それはあなたが望んだことです:管理上無効になっています。管理上無効にしたまま手動で実行する必要がある場合:puppet agent --enable; 人形遣い--test; 人形エージェント--disable
dmourati 2015年

2

私は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すると、単一の実行が発生しますが、今後の実行はスケジュールされません。


回答を投稿していただきありがとうございます。これは、誰かが誤って実行した場合、たとえばsudo puppet agent -tスケジュールされた実行が再びアクティブになることを意味しますか?
030

いいえ、-t意味しno-daemonizeます。(だけでなくonetimeverboseignorecacheno-usecacheonfailuredetailed-exit-codesno-splay、とshow_diff。)あなたはの出力でこれを見ることができますpuppet agent help
アーロンコプリ

1

sudo service puppet stop puppetデーモンを実行している場合

または、cronjobを構成している場合は削除します。


Puppetエージェントをインストールすると、cronジョブもインストールされますか?自分でPuppetを実行するようにcronjobを構成していません。
2015年

いいえ、デフォルトのインストールでは、cronジョブは作成されません。デーモン化されたサービスなしでPuppetを実行する場合は、自分でcronジョブを作成できます
アーロンコプリー2015年

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。;)


0

リンクされた質問で述べたように、puppet-agentを実行して構成の実行を無効にする可能性の1つはruninterval、10年などの非常に大きな値に変化します。ただし、このソリューションでは、エージェントの再起動後に構成の実行がトリガーされます。

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