Ist es möglich, so einzurichten puppet
, dass Änderungen an Manifesten nur zu bestimmten Zeiten angewendet werden, sodass eventuelle Ausfallzeiten auf unserem Server auftreten, wenn wir uns dazu entschließen?
Vielen Dank
Ist es möglich, so einzurichten puppet
, dass Änderungen an Manifesten nur zu bestimmten Zeiten angewendet werden, sodass eventuelle Ausfallzeiten auf unserem Server auftreten, wenn wir uns dazu entschließen?
Vielen Dank
Antworten:
Ich musste nur dieses Problem lösen ... Es gibt einige Ansätze ...
Das Modul, das ich benutze:
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,
}
}
Ein Beispiel für 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
Es gibt einen Metaparameter für den Puppet-Zeitplan , mit dem Sie die Zeiten auflisten können, zu denen Manifeste pro Klasse ausgewertet werden sollten. Siehe: https://serverfault.com/a/341865/13325
Ich habe kürzlich ein Buch gelesen, in dem vorgeschlagen wurde, Git als Manifestverteilungsmethode zu verwenden, um die Belastung des Master-Servers zu skalieren und zu reduzieren. Dies bedeutet, dass Sie die Zeitplanung genauer steuern können.
Ja, richten Sie einfach den Cronjob ein, mit dem die Puppe ausgeführt wird, damit sie nur zu bestimmten Stunden ausgeführt wird. Puppe als Dämon laufen zu lassen ist eine wirklich schreckliche Idee. Wir verwenden die IP-Adresse des Servers als Schlüssel für eine Hashing-Funktion, um unsere Cronjobs über den gesamten Zeitraum unserer Puppet-Läufe zu verteilen und ein donnerndes Herdenproblem zu vermeiden.
fqdn_rand()
Puppet-Funktion gedacht.