
Qual seria a forma preferida de atualizar a configuração de um nó ao provisionar novos nós?
Por exemplo, digamos que exista um ambiente semelhante a um cluster
estou provisionando nós, digamos que esses nós precisem acessar um servidor memcached ou MySQL em algum outro nó (também gerenciado por fantoche)
agora, ao adicionar um novo nó, como faço para atualizar a configuração do iptables ou qualquer outra etapa de configuração inicial necessária em outro nó para permitir que o novo nó inicie seu trabalho?
Atualmente, estou usando um sistema de "provisionamento" local para essas tarefas. Existe uma maneira conveniente de usar o fantoche para algo assim?
Responder1
Não é particularmente simples, mas é possível usando recursos padrão do Puppet.
Para configurações comoregras de firewalle monitoramento, você pode facilmente usarrecursos exportadosem conjunto com um back-end de configurações armazenadas, comoFantocheDB.
A ideia por trás dos recursos exportados é que quando o manifesto do Puppet é executado no nó de destino, ele “exporta” alguns recursos e os armazena. Você pode configurar outros nós para coletar esses recursos e aplicá-los em seus próprios manifestos.
Para outras configurações, talvez você precise ser mais inteligente e usar oconcatmódulo além dos recursos exportados - por exemplo, você pode teoricamente usar um recurso concat::fragment exportado e coletar os recursos onde deseja as informações - por exemplo, credenciais de banco de dados ou IPs do balanceador de carga.
Responder2
Isso não é bem suportado pelo Puppet. Para obter esse tipo de informação você podeconsulta PuppetDB. O Puppet não inclui a capacidade de fazer isso sozinho, até onde eu sei, masfantoche-puppetdbqueryacrescenta isso.Aqui está um tutorialem juntar os dois para gerar um arquivo de configuração com dados do PuppetDB.