Instalar agente Puppet en cliente GNU Linux

El artículo de hoy va sobre la instalación y configuración del agente Puppet, en un servidor con GNU Linux. Es la segunda parte sobre dicho producto, en la anterior vimos como instalar el producto en un servidor con CentOS 7.

puppet-image-mini

Instalar agente Puppet en cliente GNU Linux

A modo de muestra, he seguido los pasos de instalación sobre un VPS con Debian 8 «Jessie». Ambas máquinas han sido creadas en DigitalOcean, y cuando las configuré les asigne además de una IP pública que viene por defecto, otra interna. Utilizarán dicha interfaz para comunicarse entre sí.

Antes de nada, el primer paso, ya que no tengo configurado un servidor DNS interno, utilizaremos el fichero /etc/hosts, para definir las IP y sus nombres. Es muy importante esta parte, si queremos que todo funcione correctamente. En mi caso, quedaría así:

  1. 10.135.x.x centos-puppet centos-puppet
  2. 10.135.x.x debiancliente debiancliente

La información sobre los hosts debe indicarse en los dos servidores. Antes de avanzar al siguiente paso quiero recalcar una cosa. Al principio los nombres de lo hosts en mi banco de pruebas, tenían alguna mayúscula, y eso hacía que más adelante tuviese problemas al arrancar los servicios, por lo que, recomiendo que lo nombres de los hosts vayan en minúscula.

Ahora pasaremos a instalar al cliente en el host «debiancliente«, de la siguiente manera:

  1. wget https://apt.puppetlabs.com/puppetlabs-release-pc1-jessie.deb
  2. dpkg -i puppetlabs-release-pc1-jessie.deb

Una vez descargados e instalados los repositorios, pasamos a instalar el cliente:

  1. apt update
  2. apt install puppet-agent

Una vez hecho esto debemos iniciar el servicio:

  1. /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true

En el cliente modificamos el fichero /etc/puppetlabs/puppet/puppet.conf, y añadimos justo al final del fichero:

  1. [main]
  2. server = centos-puppet

Aquí indicamos el nombre del servidor maestro. En el servidor principal de pappet, también debemos modificar el mismo fichero. Justo al final del mismo:

  1. [main]
  2. dns_alt_names = centos-puppet

Guardamos y reinciamos los servicios:

  1. #En el servidor maestro con centos
  2. systemctl restart puppetserver
  3. #En el servidor cliente con Debian
  4. service puppet restart

Ahora desde el cliente creamos un petición, que envía el certificado del servidor al servidor maestro. Para que éste, si se tercia lo acepte:

  1. puppet agent -t

Si todo va bien, veremos el resultado de la imagen:

Certificado cliente

Certificado cliente

Desde el servidor maestro, podemos recoger la petición y firmarla:

  1. /opt/puppetlabs/bin/puppet cert sign debiancliente

Si todo ha ido bien, ejecutando el siguiente comando, ya veremos el cliente, en la lista de todos los certificados:

  1. /opt/puppetlabs/bin/puppet cert list --all

En mi caso me muestra en mensaje:

puppet-agent-004

De momento lo dejamos aquí, en el próximo artículo veremos algunos ejemplos de funcionamiento:

Trabajando con Puppet

Espero que el de hoy haya sido de vuestro interés. Nos leemos en la próxima 😉