Sincronizar los módulos del puppetmaster servidor con el puppetmaster ldap | Algo de Linux

jueves, 19 de enero de 2017

Sincronizar los módulos del puppetmaster servidor con el puppetmaster ldap

Como ya he comentado en alguna ocasión, cuento con dos servidores HP Proliant. Ambos prestan los mismos servicios esenciales: DHCP, DNS, LDAP, NTP, GATEWAY, aunque se diferencian en otros. Por ejemplo, uno de ellos aloja el mirror de Debian Wheezy y el otro el de Ubuntu Trusty. Para distinguirlos, seguí llamando servidor a uno de ellos y ldap al otro. 

El puppetmaster se encuentra implementado en el servidor servidor. Ahora bien, para aprovechar los recursos, en un momento dado me pareció interesante montar un puppetmaster secundario en el servidor ldap, de manera que la autoridad de certificación sea sólo servidor.

Si a ésto le añado la sincronización de los módulos puppet junto el fichero que contiene la clase especifica-xubuntu-linex-2015.pp,  puedo contar con dos servidores que me van a permitir realizar un reparto de la carga:


Para sincronizar los módulos tan sólo necesito utilizar un simple script que se ejecuta desde el cron del puppetmaster principal:

/usr/local/sbin/sinc_puppet_modules
#!/bin/bash

SERVIDOR='ldap'

rsync -av /etc/puppet/manifests/classes/xubuntu/especifica-xubuntu-linex-2015.pp root@$SERVIDOR:/etc/puppet/manifests/classes/xubuntu/especifica-xubuntu-linex-2015.pp 
rsync -av /etc/puppet/modules/ root@$SERVIDOR:/etc/puppet/modules/
rsync -av /etc/puppet/modulesSec/ root@$SERVIDOR:/etc/puppet/modulesSec/

Es cierto que se podría realizar un balanceo de carga entre ambos servidores, pero el puppetmaster servidor no lo controlamos los administradores en exclusiva, así que no me lo planteo. En lugar de eso, puedo configurar determinados clientes para que se actualicen con un servidor y determinados clientes para que se actualicen con el otro. Por ejemplo, el sistema operativo Windows de los Infolab o los equipos workstation.

También es posible ejecutar el puppet agent de forma manual para que el cliente se actualice con un servidor:
# puppet agent --onetime --no-daemonize --server=puppetinstituto
O con el otro:
# puppet agent --onetime --no-daemonize --server=puppetinstituto2
Publicado por primera vez en http://enavas.blogspot.com.es

No hay comentarios: