是否有可能设置puppet的方式,只有在清单中的变化将在一定的时间内应用,以便任何最终的停机时间在我们的服务器将发生时,我们决定呢?
谢谢
我只是要解决这个问题…有几种方法…
我使用的模块:
class puppet_cron { file { '/etc/cron.d/puppet.cron': ensure => file, owner => root, group => root, mode => 644, source => "puppet:///modules/puppet_cron/puppet.cron", } service { 'puppet': ensure => stopped, enable => false, } }
示例puppet.cron:
# puppet.cron # # Run puppet in one-time mode during daily downtime window. # # Puppet check window for Monday through Thursday */15 16-19 * * 1-5 root exec /usr/sbin/puppetd --no-daemonize -o
有一个Puppet时间表元数据参数 ,允许您列出每个class级评估清单的时间。 请参阅: https : //serverfault.com/a/341865/13325
我最近读了一本书,build议使用Git作为清单分发方法,以扩展和减less主服务器上的负载。 这意味着您可以对计划进行更细化的控制。
是的,只要设置运行木偶的cronjob只在特定的时间运行。 将木偶作为守护进程运行是一个非常糟糕的主意。 我们使用服务器的IP地址作为哈希函数的关键字,在我们的Puppet运行的整个时间段内展示我们的cronjob,以避免出现雷鸣般的牛群问题。