Componentes de Puppet

Cuando administramos servidores mediante puppet intervienen muchos componentes que definen el funcionamiento de la aplicación. En este documento explicaremos los diferentes componentes que existen en puppet.

puppetmasterd

Puppetmasterd es el demonio de administración de puppet. En una red que utiliza puppet tenemos que tener al menos un servidor puppetmasterd y el demonio puppetd en el resto de las máquinas.

Por defecto, es el que autoriza los certificados y es dónde se definen todas las clases que serán aplicadas en el resto de clientes.

Nota: el fichero de configuración de todos los componentes de puppet  se encuentra en /etc/puppet/puppet.conf. Dentro de este fichero existe una sección para cada componente.

puppetd

Puppetd está levantado en cada máquina que queremos administrar. Por defecto este demonio se comunica con el puppetmasterd cada 30 minutos. Cuando se comunica envía la nueva información del sistema (facts) y recibe el catálogo que tiene definido en el servidor central.

Los módulos y plugins que están definidos en el puppetmasterd también se descargan en la comunicación.

puppet

Nos permite ejecutar lo mismo que puppetd pero en local, o sea, sin comunicarse con el servidor central.

puppetca

Toda la comunicación en puppet se realiza por SSL donde la entidad certificadora es el puppetmasterd. El comando puppetca nos permite firmar, listar y eliminar todos los certificados de nuestra red.

facter

El cliente de puppet utiliza esta librería para enviar información acerca del sistema operativo (version, IP, etc.) al servidor central. Las variables de facter pueden utilizarse en los templates, condicionales, etc. que se definen en el servidor central.

Para ver el listado de valores que nos devuelve facter simplemente hay que ejecutarlo en el servidor.

Ralsh

Ralsh (Resource Abstraction Layer Shell) es una shell en la cual podemos probar comandos de puppet para manipular el sistema local.