O Puppet exige certificados entre o cliente (fantoche) que está sendo gerenciado e o servidor (puppetmaster). Você pode executar manualmente no cliente e depois acessar o servidor para assinar o certificado, mas como você automatiza esse processo para clusters / máquinas na nuvem?
26
Respostas:
No servidor (puppetmaster), execute:
Em seguida, copie o seguinte do servidor para o cliente:
Se você deseja assinar
<NAME>
como algo diferente do nome do host, use:E adicione /etc/puppet/puppet.conf se estiver executando o daemon
fonte
puppet cert --generate <NAME>
ver serverfault.com/a/457364/71452Se você possui um banco de dados host, pode usar o recurso de assinatura automática. No seu
puppet.conf
arquivo, no[puppetmasterd]
, adicione:Em seguida, use um crontab para gerar esse arquivo. O arquivo de assinatura automática é apenas uma lista de hosts para assinatura automática quando eles se conectam ao puppetmaster. Eu uso o LDAP para configurar meus hosts fantoches, para que meu cron se pareça com:
Tenho certeza de que as pessoas que usam o iClassify seriam capazes de escrever uma consulta para fazer o mesmo.
Obviamente, você precisa ter alguma confiança na rede. Eu uso isso no EC2. Meu servidor puppetmaster está em um grupo que permite apenas conexões de outros grupos confiáveis. Eu não recomendaria fazer isso se o seu puppetmaster estiver aberto à internet.
fonte
Resposta simples: assine automaticamente novos pedidos. É claro que isso é perigoso, porque você confia cegamente em qualquer sistema que se conecte ao seu puppetmaster, que é o objetivo de exigir assinatura manual.
Você pode especificar false e um arquivo a ser usado para determinar quais chaves assinar também.
Veja a referência de configuração no wiki do Puppet.
Outra opção é usar uma ferramenta como o Capistrano , em que você especifica o nó puppetmaster e cria os nós da instância do cliente e na tarefa:
fonte
[puppetmasterd]
cabeçalho da seção deve ser agora[master]
. Consulte docs.puppetlabs.com/guides/tools.html para obter mais informações.No servidor (puppetmaster), execute:
Em seguida, copie o seguinte do servidor para o cliente:
Se você deseja ter algo diferente do nome do host, use:
E adicione /etc/puppet/puppet.conf se estiver executando o daemon
fonte