Cómo añadir Agentes Puppet a Foreman

En la primera guía, ya te mostramos la instalación y configuración de Capataz en Ubuntu Server y ahora te mostraré cómo añadir Agentes Puppet a Capataz.

Requisitos previos

  • Puppet Master Foreman
  • Privilegios de root

¿Qué vamos a hacer?

  1. Configurar Hosts
  2. Instalar y Configurar el Agente Puppet
  3. Firmar Certificados en el Foreman Puppet Master
  4. Probar

Paso 1 – Configurar Hosts

En primer lugar, tenemos que configurar el FQDN (Fully Qualified Domain Name) de los servidores del puppet agent.

Cambia el nombre de host del servidor utilizando el comando hostnamectl que se indica a continuación.

hostnamectl set-hostname client.hakase-labs.io

Después, edita el archivo ‘/etc/hosts’.

vim /etc/hosts

Cambia la dirección IP y el FQDN por los tuyos y pégalos en él.

10.9.9.20   server.hakase-labs.io   server
10.9.9.21   client.hakase-labs.io   client

Guárdalo y ciérralo.

Ahora prueba el host utilizando el siguiente comando y asegúrate de que el FQDN del servidor se resuelve con tu dirección IP válida.

ping $(hostname -f) -c 3

Paso 2 – Instalar y configurar el Agente Puppet

En este paso, vamos a instalar el Puppet Agent 5 en los servidores Ubuntu 18.04 y CentOS 7. Queremos añadir el repositorio de Puppet al sistema y, a continuación, instalar los paquetes del agente Puppet tanto en el servidor Ubuntu como en el CentOS.

– Instalar el agente Puppet en el servidor Ubuntu 18.04

Descarga el repositorio de paquetes y añádelo al sistema.

cd /tmp && wget https://apt.puppetlabs.com/puppet5-release-bionic.deb
sudo dpkg -i puppet5-release-bionic.deb

Después, actualiza los repositorios de Ubuntu e instala los paquetes del agente puppet utilizando los siguientes comandos apt.

sudo apt update
sudo apt install -y puppet-agent

Instalar y configurar el Agente Puppet

– Instalar Puppet Agent en un servidor CentOS 7

Descarga el repositorio de paquetes y añádelo al sistema.

cd /tmp && wget https://yum.puppet.com/puppet5/puppet5-release-el-7.noarch.rpm
rpm -ivh puppet5-release-el-7.noarch.rpm

Después, instala los paquetes del agente puppet utilizando el siguiente comando.

sudo yum install -y puppet-agent

Una vez finalizada la instalación, debemos editar la configuración por defecto de puppet y definir la configuración del agente.

Ve al directorio ‘/etc/puppetlabs/puppet’ y edita el archivo de configuración ‘puppet.conf’.

cd /etc/puppetlabs/puppet/
vim puppet.conf

Cambia el FQDN del servidor y el certname por los tuyos y pégalos en él.

[agent]
    server = server.hakase-labs.io
    certname = client.hakase-labs.io
    runinterval = 180
    environment = production
    listen = false
    pluginsync = true
    report = true

Guarda y sal.

Después, ejecuta el servicio del agente puppet utilizando el siguiente comando.

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

O, si es necesario, reinicia el servicio.

sudo systemctl restart puppet

El agente puppet está en funcionamiento tanto en servidores Ubuntu como CentOS.

Instalar el Agente Puppet en un Servidor CentOS 7

Paso 3 – Firma las Solicitudes de Certificado de los Agentes Puppet

Para firmar las solicitudes de certificado de los agentes puppet, podemos utilizar el intérprete de comandos de terminal del servidor puppet master (en este caso es el propio servidor foreman) o utilizar el panel de control de foreman.

– Firmar solicitudes de certificado utilizando el intérprete de comandos del terminal

Inicia sesión en el servidor maestro puppet (en esta guía es el servidor foreman) y comprueba la solicitud de certificado utilizando el siguiente comando.

sudo /opt/puppetlabs/bin/puppetserver ca list

Ahora verás el certificado del nombre del cliente, fírmalo con el siguiente comando.

sudo /opt/puppetlabs/bin/puppetserver ca sign --certname client.hakase-labs.io

Y el certificado del agente títere se ha añadido al puppet master a través del servidor terminal.

Firmar solicitudes de certificado con Terminal Shell

– Firmar solicitudes de certificado utilizando el panel de control de Foreman

Haz clic en el menú«Infraestructura» de la izquierda y elige«Proxies inteligentes«.

Firmar Solicitudes de Certificado utilizando el Panel de Control de Foreman

Ahora selecciona las opciones«Certificados» del botón desplegable del servidor Foreman.

Ahora obtendrás el nombre del cliente que realiza peticiones en estado ‘pendiente’, haz clic en el botón‘Firmar‘.

Firmar certificado

Después, verifica los hosts del agente yendo a la página ‘Hosts’.

Dentro del menú «Hosts«, haz clic en«Todos los hosts» y asegúrate de que aparece el nombre del agente puppet en la lista de servidores, como se muestra a continuación.

Todos los anfitriones

Más abajo encontrarás detalles sobre el Agente Puppet de Ubuntu.

Agente Puppet de Ubuntu

Paso 4 – Pruebas

En este tutorial, vamos a probar el servidor puppet foreman y el agente puppet para desplegar los servicios nginx y NTP en el host del agente puppet. Antes de empezar, tenemos que descargar los módulos puppet nginx y ntp en el servidor foreman y, a continuación, activar estos módulos y añadirlos al agente puppet.

– Descargar el módulo marioneta nginx

Descarga el módulo puppet nginx ejecutando el siguiente comando en el servidor puppet master foreman.

sudo /opt/puppetlabs/bin/puppet module install puppet/nginx

Descargar el módulo Puppet de Nginx

– Activa los Módulos Puppet

Después, importa el módulo nginx a través del panel de control de foreman.

Haz clic en el menú«Configurar» de la izquierda y en«Clases» de Puppet.

Haz clic en el botón«Importar entorno desde server.hakase-labs.io«, marca las clases disponibles del módulo y haz clic en«Actualizar«.

Activar módulos Puppet

Ahora aparecerá el módulo Nginx en la lista.

Módulo Nginx

– Añadir el Módulo Puppet al Host Agente

Haz clic en el menú«Hosts» de la izquierda, haz clic en«Todos los hosts» para obtener la lista de hosts disponibles.

Añadir Módulo Puppet al Host Agente

Ahora haz clic en el botón«Editar» del host agente llamado «client.hakase-labs.io».

Ve a la pestaña«Clases Puppet«, añade los módulos «nginx» y «ntp» y haz clic en el botón«Enviar«.

Pestaña Clases Puppet

Los módulos Nginx y NTP se han añadido al host agente.

Adicional:

Si quieres verificar las clases activas en los Hosts, simplemente haz clic en el botón‘YAML‘ en la información de detalles sobre el host y se te mostrará la fuente sin procesar de la configuración YAML.

Configuración YAML

– Aplicar y probar

Si quieres aplicar los cambios manualmente, puedes ejecutar el siguiente comando en los hosts del agente puppet.

sudo /opt/puppetlabs/bin/puppet agent --test

Cuando se haya completado, se mostrará el resultado como se indica a continuación.

Prueba

Después, verifica el servicio nginx y ntp comprobando el puerto de la lista para asegurarte de que los puertos HTTP y NTP son utilizados por los servicios nginx y ntp.

netstat -plntu

Ahora puedes acceder al servidor web nginx en el nodo agente.

curl client.hakase-labs.io

Prueba con rizo

Para verificar la configuración del servidor ntp, ejecuta el siguiente comando.

cat /etc/ntp.conf

Y se te mostrará la configuración ntp gestionada por Puppet.

ntp.conf

Enlaces

También te podría gustar...