Baixe o app para aproveitar ainda mais
Prévia do material em texto
PREPARAÇÃO DO AMBIENTE E CONFIGURAÇÃO - Descrição de ambiente: Primeira máquina: CentOS 6. 1024 MB de memória RAM. 10 GB de disco. Conexão com a internet. Segunda máquina: CentOS 6. 1024 MB de memória RAM. 10 GB de disco. Conexão com a internet. - Passos a serem realizados no servidor: # wget http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm # rpm -ivh epel-release-6-5.noarch.rpm # wget http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm # rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm # yum install puppet-server.x86_64 No arquivo "/etc/hosts": 192.168.x.x puppet2 → client 192.168.x.y puppet1 → server 192.168..x.y puppet → server No hosts, você precisa indicar que o server responde por Puppet e no caso já deixei mapeado o 'client' também. No arquivo "/etc/puppet/puppetd.conf": [puppet] vardir = /var/lib/puppet logdir = /var/log/puppet rundir = /var/run/puppet ssldir = $vardir/ssl [puppetd] classfile = $vardir/classes.txt localconfig = $vardir/localconfig [puppetmasterd] certname=puppet Feito isso, dê um start no servidor: # service puppetmaster start A saída seria: Starting puppetmaster: [ OK ] [root@puppet1 ~]# Se isto aconteceu, parabéns. A primeira etapa esta pronta, agora vamos à configuração do 'client'. No 'client': # wget http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm # rpm -ivh epel-release-6-5.noarch.rpm # wget http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm # rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm # yum install puppet.x86_64 Coloque a mesma configuração do arquivos hosts do server. Agora temos que gerar a chave. No 'client': # puppetd -test No server: # puppetca -list Caso aparecer o 'client', vamos autorizar a chave. # puppetca --sign puppet2 Agora no 'client': # puppetd -test A saída agora não deve retornar erro, neste status ele já está sincronizando com o servidor. EXEMPLO DE CONFIGURAÇÃO Crie o arquivos abaixo: # touch /etc/puppet/manifests/site.pp Com o seguinte conteúdo: node puppet2 { package { "httpd.x86_64": ensure => installed } file { "/etc/httpd/conf/httpd.conf": source => "puppet:///files/httpd_serverx.conf" } } Observem que é definido o node puppet2. Isso: "package { "httpd.x86_64": ensure => installed }", deve instalar o apache no 'client'. file { "/etc/httpd/conf/httpd.conf": source => "puppet:///files/httpd_serverx.conf" } Isso deve manter o arquivo "/ etc/httpd/conf/httpd.conf" igual a arquivos "files/httpd_serverx.conf". Para isso você deve também autorizar o 'client' acessar esse diretório. No arquivo "/etc/puppet/fileserver.conf": [files] path /etc/puppet/files allow 192.168.x.0/24 Neste caso liberei toda a rede. Vamos agora testar Arquivo de configuração: Recarregando configurações: Criando arquivo de teste: Testando no 'client':
Compartilhar