Instalacion y configuracion de Puppet en modo MASTER/AGENT RHEL/CentOS/SL 5/6/7
En caso de necesitar usar Puppet en modo MASTER/AGENT es necesario tener un servidor dedicado para la tarea de "Puppet Master", basicamente es el encargado de publicar y asignar los modulos puppet para cada equipo que los solicite.
La arquitectura del modo MASTER/AGENT o MASTE/SLAVE de puppet es la siguente:
Cada equipo se conecta al Puppet MASTER a traves de un agente llamado "puppet-agent". Dicha conexion se realiza sobre HTTPS a traves del puerto 8140/tcp.
Instalacion del Puppet MASTER
Para proceder con la instalacion y configuracion del puppet master es necesario configurar los repositorios oficiales de puppetlabs.
La configuracion del repositorio varia segun la version del S.O.
- Para RHEL/CentOS/SL 5.x
- Para RHEL/CentOS/SL 6.x
- Para RHEL/CentOS/SL 7.x
Instalacion de paquetes
Una vez configurado el repositorio procedemos a instalar los paquetes necesarios con el comando yum
Creacion de certificado para el Master
Para crear el certificado es necesario especificar todos los nombres DNS a los que debe responder el mismo, en la mayoria de los casos dicho nombre es el FQDN de nuestro Master
Para dicha configuracion es necesario editar el archivo /etc/puppet/puppet.conf
en la seccion [ main ]
se debe de agregar los nombres DNS para los cuales respondera el certificado
Configuracion del servicio puppetmaster
Una vez instalados los paquetes necesarios se debe editar el archivo /etc/sysconfig/puppet
Dicho archivo debe quedar de la siguiente manera
Iniciar y habilitar el servicio Puppet Master
Una vez configurado nuestro puppet master procedemos a iniciar el servicio y luego habilitar el mismo
Iniciar el servicio
Habilitar el inicio automatico del servicio
Creacion de modulos
Para crear los modulos es necesaria la siguiente estructura de directorio, cambiando el "modulo" por el nombre que tendra el modulo a crear
Asignar modulos a clientes
Para asignar los modulos a los clientes es necesario modificar el archivo /etc/puppet/manifests/site.pp
:
Agregando los siguiente por cada cliente
Instalacion y configuracion del puppet-agent en los equipos Clientes/Slave/Agentes
Una vez que se configuro el master se pasa a configurar los clientes donde correra el puppet-agent
Instalacion del puppet-agent
Para instalar el puppet-agent tambien es necesario configurar los repositorios oficiales de puppetlabs. Se puede realizar dicha tarea siguiendo los pasos descriptos para la instalacion del puppet-master
Luego se procede a instalar el paquete con el comando yum
Configuracion del agente
Una vez que se instalo el paquete se debe modificar el archivo /etc/puppet/puppet.conf
en la seccion [ agent ]
agregar lo siguiente:
vim /etc/puppet/puppet.conf
Iniciar y habilitar el servicio puppet-agent
Se debe tener cuenta que el cliente debe poder llegar al Master al puerto 8140/tcp
Inicio del puppet-agent
Habilitamos el servicio para que se levante cada vez que el equipo inicia
Firmar los certificados del cliente para que pueda establecer conexion con el Master
Una vez que se inicio el servicio en el cliente deberia de haber creado un certificado el mismo es enviado al puppet master, para que el cliente pueda consultar al Master es necesario firmar dicho certificado.
Dento del puppet-master ejecutamos podemos consultar la lista de certificados pendientes de firma
Los certificados tienen como nombre el FQDN del cliente.
Finalmente se procede a firmar el certificado del cliente