Cómo instalar Puppet en Debian y CentOS
Anuncio:
Puppet es una herramienta de automatización de tareas para la configuración y despliegue de servidores y aplicaciones desarrollada por Puppet Labs.
Entre las tareas que puede automatizar están, por ejemplo, comprobar que un determinado paquete esté instalado y si no lo está, instalarlo. Esto es muy útil si nuestra aplicación tiene dependencias. Esto junto con otras muchas capacidades hacen de Puppet una herramienta muy útil.
En puppet se diferencian dos entidades, master y agent.
Master. Es el que contiene la información de configuración y «puppetización» de cada agente, en archivos site.pp. A éste, se conecta cada agente solicitando su archivo de configuración. Puppet master enviará éste archivo al agente junto con los fuentes que vaya a necesitar para que el agente se aplique la configuración.
Agente. El agente es la máquina que se va a configurar. Se conecta al master para solicitar la configuración a realizar y los archivos necesarios para llevar a cabo dicha configuración.
Puppet permite que master y agent estén en la misma máquina aunque no es lo ideal.
Su instalación es muy sencilla y básicamente solo tenemos que tener en cuenta que tiene una dependencia, Ruby, así que tendremos que instalarlo antes que puppet.
Veamos entonces cómo instalar puppet en Debian, Ubuntu y Red Hat, Fedora y CentOS.
Para instalar las dependencias de Ruby haremos lo siguiente.
CentOS, Red Hat, Fedora (servidor)
yum install ruby ruby-libs ruby-shadow
Ahora agregamos el repo
rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
Y ahora instalaremos los paquetes, puppet, puppet-server y facter
yum install puppet puppet-server facter
CentOS, Red Hat, Fedora (agent)
En el cliente o agente como se le denomina en puppet debemos instalar el agente y facter
yum install puppet facter
Debian, Ubuntu (Servidor)
Dependencias
apt-get install ruby libshadow-ruby1.8
Instalación de los paquetes puppet, puppetmaster y facter
apt-get install puppet puppetmaster facter
Debian, Ubuntu (agent)
apt-get install puppet facter
Con esto ya está instalado nuestro Puppet.
Los archivos de configuración para puppet master son:
- /etc/puppet/puppet.conf (configuración de puppet master)
- /etc/puppet/manifests/file.pp (archivo de configuración que se aplicará a cada nodo o agente)
Hay que tener en cuenta los puertos sobre los que trabaja Puppet, puppet master corre sobre sobre el puerto TCP 8140 para lo que tendríamos que agregar la siguiente regla al iptable
-A INPUT -p tcp -m state --state NEW --dport 8140 -j ACCEPT
Es conveniente también agregar una entrada DNS CNAME para el host de puppet en /etc/hosts como por ejemplo
192.168.0.1 puppet.dominio.com puppet
Para arrancar puppet master usaremos lo siguiente:
CentOS
service puppetmaster start
Debian
invoke-rc.d puppetmaster start
Los logs de puppet podemos consultarlos en:
Hosts basados en Red Hat
/var/log/messages
Hosts basados en Debian
/var/log/daemon.log
Esperamos que te haya sido de utilidad.