Skip to main content

Instalación del servidor

Requisitos previos

La máquina debe tener acceso a internet en el proceso de instalación

Configuración del hostname

La instalación del servidor necesita que se configure correctamente el nombre del equipo.

hostnamectl set-hostname puppet-master

Añada el nombre de dominio en el fichero /etc/hosts con el FQDN.

echo "127.0.0.1 puppet-master.home.local puppet-master" >> /etc/hosts

Configuración de la IP

Ya sea a través de una reserva DHCP en el DHCP server o bien configurando de forma estática la IP en el servidor, asegurese que la máquina tiene una IP estática.

Configuración del firewall

Si la máquina tiene instalado un Firewall local y/o tiene un Firewall perimetral/segmentación, asegurese de que permite el puerto 8140/tcp para la comunicación entre los agentes y el servidor.

Iptables

iptables -I INPUT -p tcp -m tcp --dport 8140 -j ACCEPT
service iptables save

UFW

ufw allow 8140

Firewalld

firewall-cmd --permanent --zone=public --add-port=8140/tcp

Reinicio

Finalmente reinicie el equipo para que tenga en cuenta le nuevo nombre de la máquina y sobretodo para validar y comprobar que las configuraciones de la ip estática y el firewall se mantienen.

reboot

Instalación

Proceda con la instalación del Puppet Master

Instalación del servidor

wget https://apt.puppet.com/puppet-release-bullseye.deb
dpkg -i puppet-release-bullseye.deb
apt update
apt install -y puppetserver 
source /etc/profile.d/puppet-agent.sh

Confirme la versión instalada

puppetserver -v

Edite el fichero de configuración de Puppet

nano /etc/default/puppetserver

y modifique la RAM máxima que va a consumir la Java Virtual Machine (JVM). Por defecto viene configurada con 2Gb, sin embargo para entornos pequeños puede usar 512Mb.

Cambie el valor de las variables

JAVA_ARGS="-Xms2g -Xmx2g"

al valor deseado

JAVA_ARGS="-Xms512m -Xmx512m"

Guarde los cambios. Configure el servidor

puppet config set server puppet-master --section main
puppet config set runinterval 10m --section main

puppet config set environment production --section server
puppet config set dns_alt_names puppet-master,puppet-master.psc.local --section server

Finalmente active y inicie el servicio.

systemctl enable puppetserver
systemctl start puppetserver

El primer arranque de puppet tardará un poco, espere a que finalice sin errores.

A continuación ejecute el siguiente código

cat > /etc/puppetlabs/code/enviroments/production/manifests/site.pp <<'endblock'
node default {

  resources { 'host': purge => true }

  host { 'localhost':                 ip => '127.0.0.1', }
  host { 'puppet-master.psc.local':   ip => '192.168.0.3', host_aliases => [ 'puppet-master', 'puppet' ] }
  host { 'puppet-client.psc.local':   ip => '192.168.0.4', host_aliases => [ 'puppet-client'] }
}
endblock