Diferencia entre revisiones de «Puppet»

De Ardemans Wiki
Saltar a: navegación, buscar
(Certificados)
(Certificados)
Línea 82: Línea 82:
 
</pre>
 
</pre>
  
Si quitamos el --all veremos solamente las peticiones pendientes de ser firmadas, y si queremos firmar una podemos ejecutar  
+
Si quitamos el --all veremos solamente las peticiones pendientes de ser firmadas, y si queremos firmar una podemos ejecutar
  
 
<pre>  
 
<pre>  

Revisión de 10:51 13 ene 2013

Referencias

  • Inforamción sobre primeros pasos en puppet en español aqui
  • Documentación oficial de instalación de puppet aqui
  • Otro documento sobre Instalación y configuración en español aqui

Introducción

Para nuestro entorno de pruebas vamos a instalar la versión enterprise de Puppet, que permite administrar hasta 10 nodos de forma gratuita. Se trata de conocer el producto de pago y ver si interesa en un futuro comprar las licencias.

Pasos para la instalación de puppet

Después de instalar Centos 6.3 añadimos el repositorio de paquetes de puppet para el YUM, con el siguiente comando

rpm -ivh http://yum.puppetlabs.com/el/6/products/i386/puppetlabs-release-6-6.noarch.rpm

Y añadiremos los paquetes para puppet enterprise

rpm -ivh http://yum-enterprise.puppetlabs.com/el/6/extras/i386/puppetlabs-enterprise-release-extras-6-2.noarch.rpm

Eso hará que estén disponibles nuevos paquetes de puppet para nuestra instalación

Instalación de servidor de puppet

En el servidor que nos hará de server instalamos los siguientes paquetes:

yum install puppet-server

Y después configuramos el arranque automático del servicio

chkconfig puppetmaster on

Instalación de cliente de puppet

En otra máquina instalamos el cliente de puppet, añadiendo los mismos repositorios de instalación de yum que para el server y después instalamos el agente:

yum install puppet

Antes de arrancar el servicio tendremos que cambiar la configuración para que el agente sepa a que servidor de puppet se tiene que conectar: Para ello modificamos el fichero de configuración: /etc/sysconfig/puppet, descomentando la parte que nos interesa

# The puppetmaster server
PUPPET_SERVER=puppet1.test.prisadigital.int

# If you wish to specify the port to connect to do so here
PUPPET_PORT=8140

# Where to log to. Specify syslog to send log messages to the system log.
#PUPPET_LOG=/var/log/puppet/puppet.log

# You may specify other parameters to the puppet client here
#PUPPET_EXTRA_OPTS=--waitforcert=500

puede ser recomendable añadir al fichero de hosts la entrada correspondiente para resolver el servidor de puppet.

Después arrancamos el servicio y lo configuramos para que se arranque de forma automática:

service puppet start
chkconfig puppet on

Certificados

La comunicación entre el master y los agentes va encriptada. Para que no sea complicada la gestión de los certificados entre los agentes y el master puppet en si tiene su propia entidad certificadora y su propia gestión mediante el comando puppet.

En la máquina master podemos ver en el directorio /var/lib/puppet/ssl/ los ficheros de la entidad certificadora.

Cada vez que un agente arranque y se conecte contra el servidor master, generará una clave pública y privada, y una petición de firmado. Tendrá que ser firmada por la CA del master. Esto requiere que cada vez que se añada un agente habrá que ejecutar a mano el comando que realizar ese firmado.

Toda la gestión se realiza con los comandos:

puppet ca
puppet cert

Para ver todos los certificados firmados podemos usar

puppet cert list --all

Si quitamos el --all veremos solamente las peticiones pendientes de ser firmadas, y si queremos firmar una podemos ejecutar

 
puppet cert sign "nombre_del_servidor"

Si queremos firmar todas las peticiones pendientes podemos usar el comando

puppet cert sign --all