twitter
    Sigueme en el Twitter :-)

20 agosto 2010

Instalando Puppet


Por motivos laborales me asignaron la tarea de buscar info sobre puppet.
Puppet es una herramienta client/server que realiza instalaciones desatendidas, supongamos que queremos realizar la instalacion y configuracion de SSH en 30 servers, como lo hariamos? entrar a cada server y hacer la configuracion/instalacion ?? cuanto tiempo nos tomaria la tarea, y así, con puppet podemos reducir este tiempo.
Sin mas, instalaremos puppet 0.25.5 en CentOS como servidor y OpenSuse 11.2 como cliente


En CentOS:
Tenemos que instalar Ruby 1.8.6 ojo!
Luego instalamos lo sgt:
yum -y install ruby ruby-rdoc rubygems

Ahora instalamos puppet:
yum -y install puppet puppet-master

Ya tenemos corriendo puppet, pasamos a configurar:
Nos dirigimos a /etc/puppet/puppet.conf

#vim puppet.conf
Como sera cliente y a la vez servidor, agregamos la linea debajo de "puppetd"
server = f.q.n o hostname del servidor

Tambien cambiaremos los valores de puppet en el archivo /etc/sysconfig/puppet.conf y puppetmaster.conf, ambos ubicados en el directorio "sysconfig"

Para puppet.conf
PUPPET_SERVER=f.q.n (hostname del server)
PUPPET_PORT=8140
PUPPET_LOG=/var/log/puppet/puppet.log

Para puppetmaster.conf
PUPPETMASTER_PORTS="8140"

Luego de esto iniciamos el servicio:
service puppetmaster start && service puppet start

Configuracion de Cliente:
Para instalar el cliente, recomiendo usar la misma version de puppet 0.25.5 para OpenSuse, en google pueden encontrarlo o en esta URL donde realizar el Download (http://www.agamemnon.net/home/Haphazard-Cogitation/puppet0255forsuse)
Al ser un RPM, basta con ejecutar rpm -Uvh para su instalacion.
Ojo, deben de tener Ruby tambien instalado asi como facter.

Nos dirigimos a /etc/puppet/puppet.conf
Y debajo de "puppetmasterd" agregamos server= hostname_del_server

Y procedemos a iniciar el servicio.

Bien, ahora puntos importantes:
1.- Cuando ya tengan iniciado el cliente, en el servidor ejecuten:

#puppetca --list


Con esto tendran el hostname de los clientes conectados al servidor

2.- Para aprobar el certificado SSL (si si, puppet es seguro), deben hacerlo de la siguiente manera:
#puppetca --sign hostname_cliente


Y automaticamente puppet entrará en relacion de confianza con los clientes, y si poder desplegar las clases que vayamos incorporando.

3.- Por seguridad, la aprobacion de clientes no debe ser "automatica", por ende, en el servidor puppet, en puppet.conf añadimos:
autosing = false


4.- Y si todo salio bien, ya pueden crear sus clases y desplegar aplicaciones.

Este solo es el primer tutorial de como instalar puppet, crearé otro detallando como crear ejemplos sencillos de clases y al final un tercer tutorial de como instalar puppet-dashboard.

Espero que les sirva

Sls

No hay comentarios.: