domingo, 22 de janeiro de 2017

codebroken.wordpress.com

Puppet – Tutorial como instalar e configurar

codebroken

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  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 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º Passo

No 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 Puppet

1º 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º Passo

No 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º Passo

Testando 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ão

O 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/

.

0 comentários: