Introducción
Puppet es un motor de administración de automatización de código abierto que se utiliza para realizar tareas administrativas y administrar servidores de forma remota. Esta herramienta está disponible en Linux, Unix y Windows.
En este tutorial paso a paso, cubriremos la instalación de Puppet en Ubuntu 20.04 en los nodos maestro y cliente.
Requisitos previos
- Múltiples sistemas que ejecutan Ubuntu 20.04 (uno para el nodo principal y uno o más para los nodos de cliente)
- Acceso a una cuenta con privilegios sudo
- Acceso a la terminal/línea de comando
Paso 1:actualizar la lista de paquetes
Antes de iniciar el proceso de instalación, actualice la lista de paquetes disponibles:
sudo apt-get update -y
Paso 2:configurar la resolución de nombre de host
Con Puppet, los nodos maestro y cliente se comunican mediante nombres de host. Antes de instalar Puppet, debe configurar un nombre de host único en cada nodo.
1. Abra los hosts
archivo en cada nodo usando:
sudo nano /etc/hosts
2. Pegue las siguientes líneas al final de cada hosts
archivo:
[puppet master ip] puppetmaster puppet
[puppet client ip] puppetclient
donde:
[puppet master ip]
es la dirección IP del nodo maestro, y[puppet client ip]
es la dirección IP del nodo cliente.
3. Presiona Ctrl + X
para cerrar el archivo y luego escriba Y
y presiona Enter
para guardar los cambios realizados.
Paso 3:Instale Puppet Server en el nodo principal
1. Descargue la última versión de Puppet en el nodo principal:
wget https://apt.puppetlabs.com/puppet6-release-focal.deb
2. Una vez que se complete la descarga, instale el paquete usando:
sudo dpkg -i puppet6-release-focal.deb
3. Actualice el repositorio de paquetes:
sudo apt-get update -y
4. Instale el servidor Puppet con el siguiente comando:
sudo apt-get install puppetserver -y
5. Abra el puppetserver
archivo usando:
sudo nano /etc/default/puppetserver
6. En el puppetserver
archivo, modifique la siguiente línea para cambiar el tamaño de la memoria a 1 GB:
JAVA_ARGS="-Xms1g -Xmx1g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"
7. Presione Ctrl + X
para cerrar el puppetserver
expediente. Escribe Y
y presiona Enter
para guardar los cambios realizados.
8. Inicie el servicio Puppet y configúrelo para que se inicie al arrancar el sistema usando:
sudo systemctl start puppetserver
sudo systemctl enable puppetserver
9. Compruebe si el servicio Puppet se está ejecutando con:
sudo systemctl status puppetserver
Paso 4:Instalar Puppet Agent en el nodo del cliente
1. Descargue la última versión de Puppet en un nodo cliente:
wget https://apt.puppetlabs.com/puppet6-release-focal.deb
2. Una vez que se complete la descarga, instale el paquete usando:
sudo dpkg -i puppet6-release-focal.deb
3. Actualice el repositorio de paquetes una vez más:
sudo apt-get update -y
4. Instale el agente de Puppet usando:
sudo apt-get install puppet-agent -y
5. Abra el archivo de configuración de Puppet:
sudo nano /etc/puppetlabs/puppet/puppet.conf
6. Agregue las siguientes líneas al final del archivo de configuración de Puppet para definir la información principal de Puppet:
[main]
certname = puppetclient
server = puppetmaster
7. Presione Ctrl + X
para cerrar el archivo de configuración de Puppet, luego escriba Y
y presiona Enter
para guardar los cambios.
8. Inicie el servicio Puppet y configúrelo para que se inicie al arrancar el sistema usando:
sudo systemctl start puppet
sudo systemctl enable puppet
9. Compruebe si el servicio Puppet se está ejecutando con:
sudo systemctl status puppet
Paso 5:Firme el certificado de agente de marionetas
1. Con el nodo maestro de Puppet, enumere todos los certificados disponibles:
sudo /opt/puppetlabs/bin/puppetserver ca list --all
2. Firme los certificados con:
sudo /opt/puppetlabs/bin/puppetserver ca sign --all
3. Use el siguiente comando para probar la comunicación entre los nodos maestro y cliente:
sudo /opt/puppetlabs/bin/puppet agent --test