En este tutorial, aprenderemos los pasos para instalar Puppet Server en las distribuciones AlmaLinux o Rocky Linux 8 mediante el terminal de comandos.
Puppet es un proyecto de código abierto con soporte empresarial, permite a los administradores automatizar la configuración de un solo servidor o computadora en una gran red de sistemas; Ansible y Foreman son algunas de sus alternativas.
Cuando los desarrolladores y administradores tienen que configurar varios servidores a la vez con configuraciones similares, en lugar de repetir las mismas tareas en cada sistema uno por uno, utilizan administradores de configuración especiales como Puppet. Idealmente, muchas tareas se pueden automatizar con él usando el lenguaje específico de dominio (DSL) de Puppet (código de Puppet), que puede usar con una amplia gama de dispositivos y sistemas operativos. Fue desarrollado en 2005 por Puppet Labs, Portland, Oregón; escrito en Ruby y diseñado para ser multiplataforma. Cualquier término de inicio de sesión del sistema operativo empresarial se puede utilizar para alojar servidores Puppet como OracleLinux, RedHat, SuSE, Ubuntu, Debian AlmaLinux y Rocky Linux. Los sistemas que ejecutan Windows también se pueden configurar y administrar con Puppet, con algunas limitaciones.
Utiliza el principio Cliente-servidor
Como la mayoría de las herramientas utilizadas para monitorear y administrar sistemas remotos, Puppet también usa una arquitectura Cliente-Servidor. La parte del servidor se conoce como “PuppetMaster ” que mantiene activas todas las configuraciones de los equipos de la red. Hace que los administradores administren de forma centralizada todas las computadoras conectadas a una red con la ayuda de agentes . Sí, el agente es la parte del cliente, conocida como PuppetAgent instalado en todos los sistemas que necesitan ser configurados. Hace una contribución significativa a la comodidad de la arquitectura de marionetas. Es ejecutado por el maestro en todos los sistemas a configurar. Los ajustes de configuración almacenados en el catálogo como estado objetivo sirven como base. La comunicación entre el agente y el maestro se realiza a través de HTTPS. Los certificados en ambos lados sirven para asegurar los procesos de comunicación bidireccional.
Cuando se habla de las ediciones, además del código abierto, también ofrece Puppet Enterprise (PE). Es la versión comercial de Puppet que se basa en la plataforma Puppet de código abierto. Ambos productos te permiten gestionar la configuración de miles de nodos. Puppet de código abierto hace esto con la gestión del estado deseado. PE proporciona un enfoque imperativo, así como declarativo, para la automatización de la infraestructura. Por lo tanto, según la declaración oficial de los desarrolladores, si una persona tiene una infraestructura compleja o grande operada y administrada por varios equipos, entonces debe optar por la versión Enterprise de Puppet debido a la interfaz gráfica de usuario, implementación de código de apuntar y hacer clic. estrategias, pruebas e integración continuas, y la capacidad de predecir el impacto de los cambios en el código antes de la implementación.
Pasos para instalar el servidor y cliente Puppet en Rocky Linux | AlmaLinux 8
1. Requisitos
• Procesador mínimo de 2 núcleos con al menos 1 GB de RAM o 4 núcleos con al menos 4 GB de RAM para atender al menos 1000 nodos.
• Un Linux nuevo basado en RedHat como Oracle, Rocky o AlmaLinux
• Al menos acceso de usuario sudo no root
• Acceso a la terminal
• Conexión a Internet
2. Ejecute el comando Actualizar Dnf
Primero, ejecute el comando de actualización y actualización del sistema para asegurarse de que todo esté en su estado más reciente en su sistema Linux.
sudo dnf update && upgrade
Además, instale algunas herramientas que necesitamos durante la instalación:
sudo dnf install wget curl nano
Habilitar repositorio EPEL y PowerTools:
sudo dnf install epel-release
sudo dnf config-manager --set-enabled powertools
sudo dnf update
3. Establecer FQDN como nombre de host del sistema
El FQDN que desea usar para acceder a Puppet, configúrelo como el nombre de host del servidor usando el comando que se indica a continuación:
sudo hostnamectl set-hostname puppetmaster.how2shout.com
Nota :Reemplace puppetmaster.how2shout.com con lo que quieras configurar y también agrega lo mismo en /etc/hosts
el archivo junto con la dirección IP de su servidor Puppet.
sudo nano /etc/hosts/
Agregue el nombre de host junto con la dirección IP del servidor, por ejemplo
192.168.1.45 puppetmaster.how2shout.com puppetmaster puppetserver
192.168.1.45 es la dirección IP del servidor donde se encuentra el FDQN de puppetmaster.how2shout.com para puppet junto con algunos nombres alternativos que hemos asignado a la IP.
Reiniciar el servidor:
sudo reboot
4. Agregue el repositorio de Puppet en Rocky o Almalinux 8
Los paquetes más recientes se pueden descargar fácilmente agregando el repositorio oficial de Yum de Puppet en Rocky Linux, así como en AlmaLinux. Para eso simplemente sigue los comandos dados:
sudo dnf -y install https://yum.puppet.com/puppet-release-el-8.noarch.rpm
sudo dnf update -y
5. Instalar Puppet Master Almalinux 8 | Servidor Rocky Linux 8
Una vez que hemos agregado el repositorio, es bastante fácil instalar Puppet Master en nuestro servidor utilizando el administrador de paquetes DNF predeterminado.
sudo dnf install puppetserver -y
6. Configurar el servidor Puppet Master
A partir de ahora, ya tiene la parte del servidor de Puppet instalada con éxito en su sistema. A continuación, editemos su archivo de configuración para realizar algunos cambios.
sudo nano /etc/puppetlabs/puppet/puppet.conf
Agregue FQDN que haya configurado en el servidor, en el archivo de configuración, por ejemplo,”
dns_alt_names=puppetmaster.how2shout.com,puppetmaster,puppetserver,puppet
Mientras que también agregue las siguientes líneas para informarle sobre el certificado y el nombre del servidor:
[main] certname = puppetmaster.how2shout.com server = puppetmaster.hwo2shout.com environment = production runinterval = 1h
Guarda el archivo usando Ctrl+O , pulsa Intro y luego salga del archivo usando Ctrl+X .
Para saber más sobre la configuración de ajustes de marionetas archivos puede visitar los siguientes enlaces:
# – https://puppet.com/docs/puppet/latest/config_important_settings.html
# – https://puppet.com/docs/puppet/latest/config_about_settings.html
# – https://puppet.com/docs/puppet/latest/config_file_main.html
# – https://puppet.com/docs/puppet/latest/configuration.html
7. Asignación de memoria JVM (opcional)
Por defecto, la memoria JAVA asignada al servidor Puppet Master es de 2 GB; sin embargo, si su sistema no permite asignar tanta memoria o si desea permitir más, podemos hacerlo editando el archivo de configuración del servidor Puppet:
sudo nano /etc/sysconfig/puppetserver
En el archivo, busque dos argumentos -Xms2g -Xmx2g y cambia 2g a 1g (significa 1GB) o 4g (para 4GB). Después de eso, guarde el archivo:usando Ctrl+X , presiona Y y pulsa Intro clave.
8. Permitir el servicio de marionetas en el cortafuegos
Abra el servicio Puppet en el firewall de su sistema para asegurarse de que pueda comunicarse fácilmente a través de la red con los agentes.
sudo firewall-cmd --add-service=puppetmaster --permanent
sudo firewall-cmd --reload
9. Inicie el servidor de marionetas en Rocky | AlmaLinux 8
Bueno, hemos completado todas las configuraciones necesarias para comenzar con el servidor. De forma predeterminada, los servicios de Puppet master no se ejecutarán, comencemos y habilitemos lo mismo.
sudo systemctl start puppetserver sudo systemctl enable puppetserver
Para comprobar el estado del servicio utilice:
sudo systemctl status puppetserver
Para reiniciar puedes usar:
sudo systemctl restart puppetserver
10. Agregue Puppet a la ruta de su sistema
Para utilizar la línea de comandos de esta herramienta independientemente del directorio en el que te encuentres:
echo 'export PATH=$PATH:/opt/puppetlabs/bin' | tee -a ~/.bashrc
Recargar bash:
source ~/.bashrc
Para confirmar puede utilizar:
puppet --version
Cambiar a raíz:
sudo su -
Emisión de certificados
puppetserver ca setup
A la lista:
puppetserver ca list --all
Confirmemos que el servidor funciona bien usándolo con un Puppet Client instalado localmente.
puppent agent -t
o
puppet agent --test --ca_server=puppetmaster.how2shout.com
Para enumerar todos los certificados disponibles en Puppet Master Node.
puppetserver ca list --all
Puede firmar todos los certificados pendientes ejecutando el comando:
puppetserver ca sign --all
De esta forma, podemos instalar tanto el maestro como el agente en Rocky Linux o Almalinux. Si desea un agente en un servidor remoto o en la red, siga los pasos más adelante.
——————————————————————————————————
11. Configurar Puppet Agent en un sistema o nodo remoto
Ahora, si desea instalar el agente Puppet en algún servidor Linux o Windows remoto, podemos hacerlo fácilmente.
#Para sistemas RPM como Redhat, CentOS, Rocky, Oracle Linux, Almalinux… use los siguientes comandos:
sudo dnf -y install https://yum.puppet.com/puppet-release-el-8.noarch.rpm
sudo dnf update
#Para sistemas Ubuntu y Debian:
Visite https://apt.puppet.com y copie el enlace del paquete de repositorio según su sistema Debian.
Por ejemplo-
wget https://apt.puppet.com/puppet7-release-focal.deb
Para Debian Bullseye:
wget https://apt.puppet.com/puppet7-release-bullseye.deb
Para instalar
sudo dpkg -i puppet7-release-focal.deb
Ejecutar actualización del sistema:
sudo apt update
Instalar Puppet Agent
sudo apt install puppet-agent
Iniciar servicio:
sudo systemctl enable --now puppet
12. Configurar el agente títere
Editar archivo de agente:
sudo nano /etc/puppetlabs/puppet/puppet.conf
Agregar :
[main] ssldir = /var/lib/puppet/ssl vardir = /var/lib/puppet cadir = /var/lib/puppet/ssl/ca dns_alt_names = puppet [agent] server=puppetmaster-ipadress ca_server=puppetmaster-ipadress
Guarde el archivo.
Ahora, edite el host y defina el DNS para el titiritero
sudo nano /etc/hosts
ejemplo, de la siguiente manera:
192.168.1.45 puppet-master-server fqdn 192.168.1.16 your-node-01-hostname
De la misma manera, edite el archivo PuppetMaster /etc/hosts y defina la dirección IP y los nombres de host del nodo
sudo nano /etc/hosts
192.168.1.16 your-node-01-hostname
Para solicitar el certificado de CA al obtener y ejecutar:
sudo su - puppet agent -t