Execute o puppetmaster & client somente no commit e uma vez por dia

2

O Puppet está consumindo recursos na minha máquina e, infelizmente, eu tenho que executar o master junto com outro processo em uma máquina.

Agora, pretendo impedir que o fantoche seja executado como um daemon o tempo todo e, em vez disso, estava pensando em executá-lo:

  1. quando o fantoche controlado se manifesta muda. Meus manifestos estão sob controle de revisão no git. Talvez através de um post receba gancho.
  2. Execute o fantoche uma vez por dia. Se alguém quiser alterar as configurações na máquina, isso deve ser substituído. Por exemplo. sshd_config deve ser intocada.

Alguém se aventurou em tal estratégia?
Alguém pode ajudar?

    
por Quintin Par 08.08.2012 / 08:32

2 respostas

4

Sim, isso foi feito.

Veja: Puppet: Permitir alterações somente em determinadas horas?

No que diz respeito à abordagem do Git, você provavelmente já viu este link .

    
por 08.08.2012 / 08:40
4

Você pode adicionar fantoches a uma tarefa cron normalmente (o que permite a opção de executá-la somente durante o horário de trabalho ou mais ou menos frequentemente do que a cada meia hora) mas envolvê-la em um script curto que verifique se o número de revisão seu controle de origem foi incrementado. Se assim for, dispara o cliente de marionetes, se não, então não há necessidade de fantoches (e todo o caro hashing de arquivos que ele faz).

Isso significaria, no entanto, que se você alterasse um arquivo em um fantoche de host, ele não o alteraria de volta até a próxima alteração de configuração. Você pode evitar esse problema alterando a lógica do script wrapper para também executar um cliente puppet se ele tiver passado mais de 24 horas desde a última execução.

A idéia de fantoche "sem mestre" (que o ewwhite mencionou) remove o mestre de marionetes como sendo o gargalo e o substitui por git, sendo o gargalo, o que é muito preferível na minha opinião. A menos que você faça alterações no git mais rápido do que pode enviar essas mudanças para todos os hosts, esse gargalo não será um problema. Você poderia organizar os "raios" de uma forma de árvore se isso se tornasse um problema. Isso deve ser dimensionado para dezenas de milhares de hosts.

    
por 08.08.2012 / 09:33