Skip to main content

Puppet Master

El sistema puppet se compone de la siguiente infraestructura.

Puppet Master

Servidor donde se alojan los módulos y configuraciones que indicará a los clientes cual es el estado deseado por el administrador.

Modulos

Un módulo se compone de

  • Manifests
  • Templates
  • Ficheros

Manifest

Scripts en ruby con el código que realizará la gestión de la configuración. Existen módulos para diferentes tipos de software, por ejemplo:

  • Zabbix Server / Proxy / Agent / Agent 2
  • Firewalld
  • NTP

Son los encargados de realizar la instalación en caso de que se solicite en la configuración o template.

Template

Es la configuración que se desea para un software que se haya instalado, por ejemplo para poder indicar a Zabbix Agent cual es su servidor y servidor activo, para el NTP cual es su servidor desde donde sincronizarse, para el Firewalld cuales son las reglas que debe aplicar. Tambien poder indicarle el estado del servicio, si siempre ha de estar encendido.

También permite indicar la creación de usuarios, copiar las claves RSA que deben autorizar el login...

Ficheros

A diferencia de los templates, los ficheros simplemente son instrucciones de copiar uno o varios ficheros al cliente, de forma que siempre tenga el fichero disponible o instalado. Uno de los posibles usos es copiar certificados a la root trusted store para que el cliente pueda confiar en los equipos de la red interna.

Certificate Authority

La comunicación entre el servidor Puppet Master y los clientes se realiza mediante certificados SSL. El cliente enviará su CSR al servidor de Puppet Master y este lo podrá firmar para autorizar a la máquina a integrarse en la infraestructura y establecer una comunicación entre ellos de forma segura.