Automação de estações utilizando Puppet
O grande problema com ambientes com muitos computadores é a manutenção e atualização de todas as máquinas. Normalmente todo este serviço é feito individualmente, máquina por máquina, porém existem ferramentas que automatizam esta tarefa: sistemas de automação e gerenciamento centralizado. A mais conhecida destas soluções é o cfengine porém o puppet é mais simples e fácil de integrar, especialmente se todos os computadores estiverem rodando algum tipo de *nix.
Para instalar um servidor puppet no debian lenny:
apt-get install puppet libshadow-ruby1.8
No arquivo /etc/puppet/puppet.conf
[main] logdir=/var/log/puppet vardir=/var/lib/puppet ssldir=/var/lib/puppet/ssl rundir=/var/run/puppet factpath=$vardir/lib/facter pluginsync=false [puppetmasterd] templatedir=/var/lib/puppet/templates
Permitir que os computadores da sua rede possam acessar os arquivos no servidor colocando no arquivo /etc/puppet/fileserver.conf:
[files] path /etc/puppet/files allow 192.168.20.0/24 [plugins] allow 192.168.20.0/24
Agora temos que criar nossos manifestos regras do que os computadores devem executar. Crie o arquivo /etc/puppet/manifests/site.pp
# Create "/tmp/testfile" if it doesn't exist.
class test_class {
file { "/tmp/testfile":
ensure => present,
mode => 644,
owner => root,
group => root
}
}
node default {
include test_class
}
Instalar puppet em estações:
apt-get install puppet libshadow-ruby1.8
Editar o arquivo de configuração /etc/puppet/puppet.conf
[main] server = mogno.intranet.ppgte.ct.utfpr.edu.br logdir=/var/log/puppet vardir=/var/lib/puppet ssldir=/var/lib/puppet/ssl rundir=/var/run/puppet factpath=\$vardir/lib/facter pluginsync=true [puppetmasterd] templatedir=/var/lib/puppet/templates
E reiniciar o puppet:
/etc/init.d/puppet restart
No servidor conferir o pedido de assinatura de certificado com o comando:
puppetca --list
E assinar o certificado através do comando
puppetca --sign <estacao>.intranet.ppgte.ct.utfpr.edu.br
Para mais informações sobre Puppet: