Puppetを使ってpuppet.confを管理する方法は?

Puppetを使ってpuppet.confを管理する方法は?

私はpuppetを使用して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を正しく更新する方法をご存知ですか?

ベストアンサー1

puppetデーモンは、再起動を必要とせずにpuppet.confファイルの変更を自動的に検出します。subscribe => File["/etc/puppet/puppet.conf"]コンテンツを削除すると、service { "puppet" ... }すべてが機能し続けます。

人形もensure => running自分で役割を果たすことはできません。次のようなものを使用してください互いに再起動しかし、puppetを使用してcronが実行されていることを確認し、cronjobを使用してpuppetが実行されていることを確認すると機能します。

おすすめ記事