Manual/puppet

De FESOL. Proyectos de Software Libre ULS
Saltar a: navegación, buscar

Resumen de la receta

La idea de puppet es poder administrar de manera centralizada un grupo de computadoras. En esta receta se instala un servidor puppet ( puppet-master ) y un cliente ( puppet ) en Debian Stretch y se crean algunos manifiestos para que aplicar cambios en los nodos.

El diagrama para puppet es el siguiente. Diagrama-puppet.png

Requisitos

  • Debian GNU/Linux Stretch 9.x
  • puppet 4.8.5-2
  • Una máquina para puppet master
  • Una máquina para los clientes o nodos puppet
  • Tener configurado los repositorios, ver Recetas/repositorio

Instalación de programas

apt-get install puppet-master
  • puppet-master: Maestro puppet que enviará configuraciones a los clientes (nodos).


apt-get install puppet
  • puppet : Cliente puppet

Configuración

Preparación previa

Antes de realizar la prueba de puppet, es necesario tener configurado los nombres de dominio de cada una de las computadoras y tener cofigurado un servidor de hora (Ver recetas/ntp ).

Para el ejemplo de esta guia, los nombres de DNS son:

  • master.prueba.com: El puppet master
  • cliente#.prueba.com: Cada uno de los clientes. Pj. cliente2.prueba.com, cliente4.prueba.com

Para configurar los nombres de dominio, lo haremos de la siguiente manera.


Estructura de directorios

Estructura de directorios de puppet master en Debian GNU/Linux Stretch.

root@debianldap:/etc/puppet# tree
.
├── auth.conf
├── code
│   ├── environments
│   │   └── production
│   │       └── manifests
│   │           └── site.pp
│   └── modules
│       └── holamundo
│           ├── examples
│           ├── files
│           ├── manifests
│           │   ├── init.pp
│           │   └── motd.pp
│           └── templates
├── hiera.yaml
└── puppet.conf


Configuración de puppet.conf

Puppet Master

[main]
ssldir = /var/lib/puppet/ssl 

[master]
vardir = /var/lib/puppet
cadir  = /var/lib/puppet/ssl/ca
dns_alt_names = maestro.uls
certname=maestro.uls

Clientes Puppet

[main]
ssldir = /var/lib/puppet/ssl
server=maestro.uls
certname=cliente.uls
[master]
vardir = /var/lib/puppet
cadir  = /var/lib/puppet/ssl/ca
dns_alt_names = puppet
certname=cliente.uls

Enlazando Puppet Master y Clientes Puppet

Reiniciar la firma de certificados

En caso de que el nombre de los certificados falle, se pueden reinciar todo el proceso de enlace, haciendo:

  1. Detener el puppet en el master y los nodos
  2. Borrar los certificados de las carpetas /etc/puppet/ssl/ /var/lib/puppet/ssl/
  3. Iniciar puppet en el master y los nodos
  4. Ver el estado de puppet en el master y los nodos

Probando Puppet

Referencias

Otros: