Puppet: Só permite alterações durante certas horas?

7

É possível configurar puppet de uma forma que as mudanças nos manifestos serão aplicadas apenas durante certas horas, de modo que qualquer eventual indisponibilidade em nosso servidor ocorrerá quando decidirmos?

Obrigado

    
por Industrial 17.03.2012 / 13:50

2 respostas

9

Eu só tive que resolver esse problema ... Existem algumas abordagens ...

  • Use o cron. Se você tiver um sistema operacional que suporte entradas cron.d, distribua um arquivo puppet.cron via Puppet. O manifesto acompanhante teria algo que garante que o daemon do Puppet esteja desativado. Se você tiver muitos servidores, use uma função bash para randomizar o tempo de pull do cron para reduzir a carga no servidor mestre. Veja também o Wiki de fantoches sobre este tópico .

O módulo que uso:

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,
   }

}

Um exemplo de 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
  • Existe um metaparameter de programação de marionetes que permite listar as ocasiões em que manifestos devem ser avaliados em uma base por classe. Consulte: link

  • Recentemente, li um livro que sugeria usar o Git como um método de distribuição de manifesto para dimensionar e reduzir a carga no servidor mestre. Isso significa que você terá um controle mais granular sobre o agendamento.

por 17.03.2012 / 14:00
5

Sim, basta configurar o cronjob que executa o fantoche para ser executado somente durante determinadas horas. Executar o fantoche como um daemon é uma ideia realmente terrível. Usamos o endereço IP do servidor como a chave em uma função de hashing para analisar nossos cronjobs durante todo o período de tempo de nossas corridas de marionetes, para evitar um problema de rebanho.

    
por 17.03.2012 / 13:58