Creative Commons License
Excepto donde se indique otra cosa, todo el contenido de este lugar está bajo una licencia de Creative Commons.
Taquiones > sysadmin > Slack - Archivos de configuración centralizados

Slack - Archivos de configuración centralizados

Introducción

Tal y como lo define uno de los autores, slack es poco más que un envoltorio sobre el programa rsync, y está diseñado para distribuir los archivos de configuración de una red de máquinas desde un repositorio central. Escrito en lenguaje Perl, su diseño está pensando para aquellos administradores que no quieren ó no puedan aprender un sistema de configuración centralizada complejo, al estilo de --puppet-- y --cfengine--, pero que aún así pretenden imponer cierto orden en sus máquinas.

Dicho repositorio emplea un modelo de herencia para los archivos de configuración y contempla la existencia de roles en los clientes. También es posible definir programas que se ejecutan antes y/ó después de la instalación de configuraciones. Dichos programas pueden ser cualquier cosa que el sistema sea capaz de ejecutar mediante exec().

Slack sigue un modelo pull en lugar de push, lo que quiere decir que son los clientes los que transfieren los archivos desde el repositorio central, y los que ejecutan los programas pre y post instalación, en lugar de ser el servidor el que conecte con los clientes y les transfiera la configuración (modo push).

Las ventajas son:

  • No es necesario que exista un proceso demonio en el cliente vigilando permanentemente las actualizaciones en el servidor.
  • Se puede personalizar y planificar por cada cliente el momento en el que se conecta y se cambia la configuración.
  • No es necesario lidiar con los inconvenientes de máquinas cliente apagadas, retiradas ó inactivas, puesto que ningún servicio central lleva nota de quienes ni cuándo se han actualizado.
  • Además, y a hilo de esto último, no existen problemas con cortafuegos ni redes privadas tras la que se escondan los clientes; basta con que el servidor slack sea accesible a través de la red.

Las desventajas son:

  • Los cambios importantes y/ó urgentes no tienen una forma sencilla de aplicarse en todos los clientes, dado que son éstos los que inician la conexión.

Repositorio central

El repositorio estará definido por dos aspectos: la conectividad con él y el almacenamiento de los archivos dentro del mismo.

La conectividad se implementa mediante el programa rsync, que a su vez puede emplear ssh para asegurar la confidencialidad de las comunicaciones.

El almacenamiento se construye sobre un repositorio distribuido bajo algo como git, no estrictamente necesario aunque muy recomendable.

Configuración de clientes

PENDIENTE DE COMPLETAR

Enlaces y referencias