Instale Puppet Master y Agent en Ubuntu 20.04

Instale Puppet Master y Agent en Ubuntu 20.04

Puppet es un motor administrativo automatizado gratuito y de código abierto para los sistemas operativos Linux, Unix y Windows. Se utiliza para implementar, configurar y administrar servidores y realiza tareas administrativas, como agregar usuarios, instalar paquetes y muchas más. Ayuda a los administradores de sistemas a liberar tiempo y espacio mental mediante la automatización de tareas en miles de máquinas físicas y virtuales. Utiliza un modelo cliente-servidor. Donde el maestro de Puppet controla la información de configuración para los agentes de Puppet mientras que los agentes de Puppet hablan y extraen los perfiles de configuración del maestro de Puppet.

En este tutorial, explicaremos cómo instalar un servidor y agente Puppet en un servidor Ubuntu 20.04.

requisitos previos

  • Dos servidores con Ubuntu 20.04.
  • Se configura una contrase√Īa de root en ambos servidores.

Empezando

Primero, deber√° actualizar todos los paquetes en los sistemas Puppet master y Puppet client. Puede actualizarlos ejecutando el siguiente comando:

apt-get update -y

Una vez que todos los paquetes estén actualizados, puede continuar con el siguiente paso.

Configurar resolución de nombre de host

A continuación, deberá configurar el nombre de host en ambos nodos. Entonces, cada nodo puede comunicarse entre sí por nombre de host. Puede hacerlo editando el archivo /etc/hosts en ambos nodos:

nano /etc/hosts

Agregue las siguientes líneas en ambos nodos:

puppet-master-ip puppetmaster puppet
puppet-client-ip puppetclient

Guarde y cierre el archivo cuando haya terminado. Luego, puede continuar con el siguiente paso.

Instalar el servidor de Puppet

Primero, deber√° instalar el servidor Puppet en el nodo maestro. De forma predeterminada, el paquete Puppet no est√° disponible en el repositorio predeterminado de Ubuntu 20.04. Por lo tanto, deber√° instalar el repositorio de Puppet en su servidor.

Primero, descargue la √ļltima versi√≥n de Puppet con el siguiente comando:

wget https://apt.puppetlabs.com/puppet6-release-focal.deb

Una vez descargado el paquete, inst√°lelo ejecutando el siguiente comando:

dpkg -i puppet6-release-focal.deb

Una vez completada la instalación, actualice el repositorio e instale el servidor Puppet ejecutando el siguiente comando:

apt-get update -y
apt-get install puppetserver -y

Despu√©s de instalar el servidor de Puppet, deber√° cambiar el tama√Īo de asignaci√≥n de memoria del proceso Java de Puppet. Puede hacerlo editando el archivo /etc/default/puppetserver:

nano /etc/default/puppetserver

Cambie el tama√Īo de la memoria a 1g como se muestra a continuaci√≥n:

JAVA_ARGS="-Xms1g -Xmx1g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"

Guarde y cierre el archivo cuando haya terminado. Luego, inicie el servicio Puppet y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl start puppetserver
systemctl enable puppetserver

A continuación, puede verificar el estado del servicio Puppet con el siguiente comando:

systemctl status puppetserver

Deberías ver el siguiente comando:

? puppetserver.service - puppetserver Service
     Loaded: loaded (/lib/systemd/system/puppetserver.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 09:33:55 UTC; 3s ago
    Process: 3673 ExecStart=/opt/puppetlabs/server/apps/puppetserver/bin/puppetserver start (code=exited, status=0/SUCCESS)
   Main PID: 3715 (java)
      Tasks: 42 (limit: 4915)
     Memory: 962.3M
     CGroup: /system.slice/puppetserver.service
             ??3715 /usr/bin/java -Xms2g -Xmx2g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger -XX:OnOutOfMemoryError="kill>

Sep 05 09:33:08 puppetmaster systemd[1]: Starting puppetserver Service...
Sep 05 09:33:55 puppetmaster systemd[1]: Started puppetserver Service.

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar y configurar el agente de Puppet

En este punto, el servidor Puppet est√° instalado y configurado. Ahora, deber√° instalar el agente de Puppet en el nodo del cliente.

Primero, descargue e instale el repositorio de Puppet con el siguiente comando:

wget https://apt.puppetlabs.com/puppet6-release-focal.deb
dpkg -i puppet6-release-focal.deb

A continuación, actualice el repositorio e instale el agente de Puppet ejecutando el siguiente comando:

apt-get update -y
apt-get install puppet-agent -y

Después de instalar el agente de Puppet, deberá editar el archivo de configuración de Puppet y definir la información maestra de Puppet:

nano /etc/puppetlabs/puppet/puppet.conf

Agregue las siguientes líneas:

[main]
certname = puppetclient
server = puppetmaster

Guarde y cierre el archivo cuando haya terminado. Luego, inicie el servicio del agente Puppet y habilítelo para que se inicie en el arranque con el siguiente comando:

systemctl start puppet
systemctl enable puppet

A continuación, verifique el estado de Puppet con el siguiente comando:

systemctl status puppet

Debería obtener el siguiente resultado: Anuncio

? puppet.service - Puppet agent
     Loaded: loaded (/lib/systemd/system/puppet.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-09-05 09:43:15 UTC; 22s ago
   Main PID: 1435 (puppet)
      Tasks: 2 (limit: 2353)
     Memory: 52.8M
     CGroup: /system.slice/puppet.service
             ??1435 /opt/puppetlabs/puppet/bin/ruby /opt/puppetlabs/puppet/bin/puppet agent --no-daemonize

Sep 05 09:43:15 puppetagent systemd[1]: Started Puppet agent.

En este punto, el agente de Puppet est√° instalado y configurado. Ahora, puede continuar con el siguiente paso.

Certificado de agente de Puppet de firmas

Puppet utiliza una arquitectura cliente-servidor, por lo que deber√° aprobar una solicitud de certificado para cada nodo de agente antes de que pueda configurarlo.

En el nodo maestro de Puppet, ejecute el siguiente comando para enumerar todos los certificados:

/opt/puppetlabs/bin/puppetserver ca list

Debería ver el siguiente resultado:

Requested Certificates:
    puppetclient       (SHA256)  A4:9A:E9:87:8B:54:0A:4F:A0:78:65:1A:3C:99:B5:EC:31:9E:BB:4C:17:8A:50:16:E9:1E:3D:D6:27:74:89:85
    puppetmaster       (SHA256)  E9:25:4C:51:4E:47:D7:44:11:1F:C5:A9:4E:96:D9:E8:3A:EB:A0:01:48:06:B5:EF:3F:C4:09:03:90:3E:D8:2D

Ahora, firme todo el certificado con el siguiente comando:

/opt/puppetlabs/bin/puppetserver ca sign --all

Deberías obtener el siguiente resultado:

Successfully signed certificate request for puppetclient
Successfully signed certificate request for puppetmaster

Ahora, Puppet master puede comunicarse y controlar el nodo de agente.

En el nodo del agente de Puppet, pruebe la comunicación entre el maestro y el agente de Puppet con el siguiente comando:

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

Si todo está bien, debería obtener el siguiente resultado:

Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Caching catalog for puppetclient
Info: Applying configuration version '1599300398'
Notice: Applied catalog in 0.02 seconds

Conclusión

¬°Felicidades! ha instalado y configurado con √©xito el maestro y el agente de Puppet en el servidor Ubuntu 20.04. Ahora puede agregar f√°cilmente m√ļltiples agentes y administrarlos f√°cilmente con Puppet.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *