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 <<endblock >> /etc/puppetlabs/code/environments/production/manifests/site.pp
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