Introducción
Puppet es un motor de administración de automatización de código abierto que se utiliza para realizar tareas administrativas y la gestión del servidor de forma remota. Esta herramienta está disponible en Linux, Unix y Windows. Esta herramienta de gestión de la configuración le ayudará a automatizar la gestión y configuración de la infraestructura de su servidor. Después de seguir este tutorial, debería haber configurado completamente el cliente Puppet y los nodos maestros en sus sistemas Ubuntu.
Este tutorial le ayuda a instalar y configurar los nodos de agente y maestro de Puppet en sistemas Linux Ubuntu 20.04 LTS Focal Fossa.
Prerrequisitos
- Dos o más sistemas Ubuntu 20.04 en ejecución, uno para los clientes maestros y el otro.
- Acceso de shell a todos los sistemas con una cuenta sudo privilegiada.
- Todos los sistemas deben estar conectados entre sí en una red pública o privada.
configurar hosts
Los nodos Puppet Master y Client utilizan el nombre de host para comunicarse entre sí. Por lo tanto, es una buena idea comenzar asignando un nombre de host único a cada nodo.
Conéctese a la estación de trabajo principal y a cada estación de trabajo cliente de una en una y edite el archivo /etc/hosts
:
sudo nano /etc/hosts
Agregue los siguientes parámetros al final de cada archivo de hosts:
10.132.14.239 puppetmaster puppet
10.132.14.240 puppetclient1
10.132.14.241 puppetclient2
- 10.132.14.239 es la dirección IP del nodo principal.
- 10.132.14.240 es la dirección IP de la estación de trabajo del cliente.
- 10.132.14.242 es la dirección IP de otra estación de trabajo cliente.
- Agregue todas las demás estaciones de trabajo del cliente necesarias
Guarde su archivo y ciérrelo. Para guardar el archivo con el editor nano, presione Ctrl + X, luego escriba Y y presione Entrar para guardar el cambio y cerrar el archivo.
Instalar Puppet Server (nodo maestro)
Ahora conéctese al nodo maestro con acceso al shell
Instale el último paquete de Debian Puppet para configurar PPA en el nodo maestro, use el comando wget para descargar el paquete:
wget https://apt.puppetlabs.com/puppet7-release-focal.deb
sudo dpkg -i puppet7-release-focal.deb
Después de agregar el PPA, actualice el caché de Apt e instale el servidor Puppet con el siguiente comando:
sudo apt install puppetserver -y
sudo apt update
Una vez que haya instalado correctamente todos los archivos Puppet. Edite el archivo en el servidor Puppet con el siguiente comando:
sudo nano /etc/default/puppetserver
El archivo del servidor Puppet predeterminado está configurado para usar 2 GB de memoria. Si su servidor no tiene suficiente memoria, reduzca el tamaño de la memoria a 1 GB o cualquier otro valor:
JAVA_ARGS="-Xms1g -Xmx1g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLoggerc
Guarde los cambios y cierre el archivo Puppet Server. Para guardar el archivo con el editor nano, presione Ctrl + X , luego escriba Y para guardar los cambios.
A continuación, inicie el servicio Puppet y configúrelo para que se inicie automáticamente al iniciar el sistema:
sudo systemctl start puppetserver
sudo systemctl enable puppetserver
Una vez que el servicio ha comenzado, verifique el estado del servicio con:
sudo systemctl status puppetserver
Verá el estado del servicio en ejecución.
Ahora comience configurando todas las estaciones de trabajo cliente.
Puppet Agent Instalar (cliente de escritorio)
Primero, asegúrese de haber actualizado las entradas del archivo de hosts definidas en el paso anterior en todas las estaciones de trabajo cliente.
Ahora descargue e instale el último paquete de Debian Puppet para configurar PPA en su máquina cliente:
wget https://apt.puppetlabs.com/puppet7-release-focal.deb
sudo dpkg -i puppet7-release-focal.deb
Después de configurar el PPA, instale el paquete Puppet Agent en todos los servidores cliente:
sudo apt install puppet-agent -y
sudo apt update
Una vez que se complete la instalación del paquete. Edite el archivo de configuración de Puppet:
sudo nano /etc/puppetlabs/puppet/puppet.conf
Agregue las siguientes entradas al final del archivo de configuración de Puppet para definir los detalles del nodo raíz de Puppet:
[main]
certname = puppetclient1
server = puppetmaster
Guarde su archivo y ciérrelo.
A continuación, inicie el servicio Puppet Agent en todas las estaciones de trabajo cliente y configúrelo para que se inicie automáticamente al iniciar el sistema:
sudo systemctl start puppet
sudo systemctl enable puppet
Cuando termine, verifique que el servicio Puppet Agent se esté ejecutando correctamente:
sudo systemctl status puppet
Debería ver un estado de ejecución en todos los sistemas de agentes
Firmar certificados de Puppet Agent
Ha completado la configuración. Ahora conéctese al nodo maestro de Puppet y ejecute el siguiente comando para enumerar todos los certificados disponibles:
sudo /opt/puppetlabs/bin/puppetserver ca list --all
A continuación, firme todos los clientes certificados en uso:
sudo /opt/puppetlabs/bin/puppetserver ca sign --all
Finalmente, verifique la comunicación entre Master Puppet y los clientes al comienzo del próximo pedido.
sudo /opt/puppetlabs/bin/puppet agent --test
Conclusión
Eso es todo. Ha instalado correctamente Puppet en el sistema Ubuntu 20.04 LTS Focal Fossa. Este tutorial describe cómo instalar Puppet en el nodo principal y en una estación de trabajo cliente.
También puede visitar la Documentación oficial para obtener más información sobre cómo configurar Puppet.