Puppetでpuppet.confを管理するにはどうすればよいですか?


11

Linuxサーバーとさまざまなサービスを管理するために人形を使用しています。人形サービス自体を除いて、それはうまく働きます。

私の人形クラスは次のとおりです:

class puppet {
  file { "/etc/puppet/puppet.conf":
    owner  => 0, group  => 0, mode => 0644,
    content => template("${module_name}/puppet.conf.erb"),
  }

  service { "puppet":
    name       => "puppet",
    ensure     => running,
    enable     => true, hasstatus  => true, hasrestart => true,
    require    => File["/etc/puppet/puppet/conf"]
    subscribe  => File["/etc/puppet/puppet/conf"]
  }
}

}

/etc/puppet/puppet.confに変更が適用されると、puppetはpuppetサービスを再起動する必要があることを認識し、それ自体をクラッシュさせます。

Mar 30 17:08:23 XXXX puppet-agent[20172]: (/Stage[main]/Puppet/File[/etc/puppet/puppet.conf]/content) content changed '{md5}eeaf5dfc7d88c8d9c85e6a8cc714d702' to '{md5}ef6ff0e423f4125e24b689980df9f71d'
Mar 30 17:08:23 XXXX puppet-agent[20172]: Caught TERM; calling stop

私がpuppetでpuppet.confを正しく更新する方法を知っていますか?

回答:


10

puppetデーモンは、再起動する必要なく、puppet.confファイルへの変更を自動的に通知します。subscribe => File["/etc/puppet/puppet.conf"]からservice { "puppet" ... }を削除するだけで、すべてが機能します。

人形もensure => runningそれ自体のためにはできません。ただし、Putpetでcronが実行されていることを確認するMutal Restartのようなものを使用し、Puppetが実行されていることを確認するcronjobは機能します。


月曜日に機能するかどうかを確認しますが、非常に良いようです。相互再起動についてのポインタをありがとう。
Coren 2012年

1

1つの解決策は、puppetをデーモンとして実行せず、cronから起動することです。デーモンが大量のメモリを消費するため、多くの人が好むこのようなものです。

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