Puppet으로 puppet.conf를 어떻게 관리 할 수 ​​있습니까?


11

꼭두각시를 사용하여 리눅스 서버와 다양한 서비스를 관리합니다. 꼭두각시 서비스 자체를 제외하고는 잘 작동 합니다.

내 꼭두각시 수업은 다음과 같습니다.

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에 변경 사항이 적용되면 꼭두각시는 꼭두각시 서비스를 다시 시작해야한다는 것을 알기 때문에 충돌이 발생합니다.

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.conf 파일의 변경 사항을 자동으로 알 수 있습니다. subscribe => File["/etc/puppet/puppet.conf"]에서를 제거하면 service { "puppet" ... }모든 것이 여전히 작동합니다.

꼭두각시는 ensure => running그 자체로는 실제로 할 수 없습니다 . 그러나 꼭두각시가 cron이 실행 중이고 cronjob이 꼭두각시가 실행 중임을 나타내는 Mutal Restart 와 같은 것을 사용 하면 작동합니다.


월요일에 작동하는지 확인하지만 나에게는 매우 좋아 보입니다. 상호 재시작에 대한 포인터에 감사드립니다.
Coren

1

한 가지 해결책은 퍼펫을 데몬으로 실행하지 않고 cron에서 호출하는 것입니다. 데몬은 많은 메모리를 소비하기 때문에 많은 사람들이 선호하는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.