Para um administrador de rede é sempre muito complicado atualizar suas máquinas, sempre é preciso criar scripts para automatizar simples tarefas de instalação e configuração de programas e serviços dos sistemas. Quando a rede utiliza máquinas com sistemas operacionais distintos a situação complica, eis uma solução!
Puppet, esta ferramenta foi desenvolvida para facilitar a manutenção de máquinas com S.O diversos, seu funcionamento é bastante simples.
As máquinas que precisam de manutenção, é instalado o cliente puppet, e uma ou mais máquinas é designada à ser o servidor puppet.
Bom quando tudo instalado, o cliente fica requerendo ao servidor “comandos de ação”, estes comandos o cliente lê e executa independente da plataforma operacional, assim não é preciso criar uma aplicativo para realizar a manutenção em diversos S.O.
A seguir demonstrarei como instalar e configurar o puppet na máquina cliente e no servidor em sistemas baseados no Debian, algumas modificações nestas etapas você deverá considerar ao utilizar um sistema que não seja o Debian 6 – Squeeze.
>> No Cliente Puppet, execute na linha de comando:
1º Passo
#su
# deb http://ftp.de.debian.org/debian squeeze main >> /etc/apt/sources.list
#apt-get install -y puppet facterA opção “-y”, confirma automaticamente todos os pedidos de confirmação de instalação
2º Passo
É aconselhável que configure as chamadas de serviço DNS, em /etc/hosts, edite como root, acrescentando e/ou modificando as seguintes linhas:127.0.1.1 nomedocliente.nomedarede.dominio nomedocliente
ip.do.servidor nomedoservidor.nomedarede.dominio puppet
Onde “nomedarede”, se não configurado adote qualquer nome.
Onde “dominio”, se não configurado adote qualquer um entre (“.net”,”.com”, entre outros).
Importante: O “nomedarede” e o “dominio” deve ser igual ao adotado na configuração do servidor que será mostrada na configuração do servidor puppet.
3º Passo
Após a instalação dos pacotes edite o arquivo /etc/default/puppet como root, na linha onde estiverSTART=no, modifique para START=yes , salve o arquivo.4º Passo
Agora abra este arquivo puppetd.conf como root, no seguinte /etc/puppet , e adicione as seguintes linhas:[puppetd]
server= endereço do server
>> No servidor Puppet, execute na linha de comando:
1º Passo
#su
#apt-get install -y puppet facter
A opção “-y”, confirma automaticamente todos os pedidos de confirmação de instalação
2º PassoÉ aconselhável que configure as chamadas de serviço DNS, em /etc/hosts, edite como root, acrescentando e/ou modificando as seguintes linhas:
127.0.1.1 nomedoservidor.nomedarede.dominio puppet
ip.do.servidor nomedoservidor.nomedarede.dominio puppet
Onde “nomedarede”, se não configurado adote qualquer nome.
Onde “dominio”, se não configurado adote qualquer um entre (“.net”,”.com”, entre outros).
3º PassoNo arquivo /etc/puppet/manifests/site.pp (provavelente site.pp não estará criado, crie-o)
E escreva o texto a seguir:
# Create “/tmp/testfile” if it doesn’t exist.
class test_class {
file { “/tmp/testfile”:
ensure => present,
mode => 644,
owner => root,
group => root
}
}
# tell puppet on which client to run the class
node pclient {
include test_class
}
4º Passo…na linha de comando execute como root
# service puppetmaster restart
>> Iniciando o sistema Puppet1º Passo
No cliente execute:
# puppetd –server nomedorservidor.nomedarede.dominio –waitforcert 60 –test
…Algumas mensagens como estas, podem aparecer, não se preocupe pois é assim mesmo quando é efetuado o primeiro contato entre um cliente/servidor Puppet.
err: No certificate; running with reduced functionality.
info: Creating a new certificate request for pclient.example.con
info: Requesting certificate
warning: peer certificate won’t be verified in this SSL session
notice: Did not receive certificate
2º PassoNo servidor execute:
# puppetca –list
…deverá aparecer a linha a seguir:
nomedocliente.nomedarede.dominio
Ainda no servidor, execute:
# puppetca –sign nomedocliente.nomedarede.dominio
…Algumas mensagens podem ser exibidas, não se preocupe são absolutamente normais,
info: Requesting certificate
warning: peer certificate won’t be verified in this SSL session
notice: Ignoring –listen on onetime run
info: Caching configuration at /etc/puppet/localconfig.yaml
notice: Starting configuration run
notice: //pclient/test_class/File[/tmp/testfile]/ensure: created
info: Creating state file /var/lib/puppet/state/state.yaml
notice: Finished configuration run in 0.11 seconds
3º PassoTestando se funcionou, procure pelo arquivo /tmp/testfile, na linha de comando é:
# ls -l /tmp/testfile
Se este arquivo estiver, na máquina cliente o puppet está configurado, mas é recomendado ler e configurar com mais detalhes o arquivo /etc/puppetd.conf, com os parâmetros sugeridos pelo comando puppet agent –genconfig para a máquina cliente e puppet master –genconfig para o servidor.
ConclusãoO Puppet sincroniza os dados a cada 30 minutos e quando a máquina cliente é ligada, por padrão caso está configuração não o atende leia a documentação em
http://docs.puppetlabs.com/.
Comentários