Diferencia entre revisiones de «Manual/puppet»

De FESOL. Proyectos de Software Libre ULS
Saltar a: navegación, buscar
(Preparación previa)
 
(No se muestran 4 ediciones intermedias del mismo usuario)
Línea 28: Línea 28:
  
 
Para el ejemplo de esta guia, los nombres de DNS son:
 
Para el ejemplo de esta guia, los nombres de DNS son:
* '''master.prueba.com''': El puppet master
+
* '''master.uls''': El puppet master
* '''cliente#.prueba.com''': Cada uno de los clientes. Pj. cliente2.prueba.com, cliente4.prueba.com
+
* '''cliente#.uls''': Cada uno de los clientes. Pj. cliente2.uls, cliente4.uls
  
 
Para configurar los nombres de dominio, lo haremos de la siguiente manera.
 
Para configurar los nombres de dominio, lo haremos de la siguiente manera.
 
  
 
=== Estructura de directorios ===
 
=== Estructura de directorios ===
Línea 84: Línea 83:
  
 
''' Reiniciar la firma de certificados'''
 
''' Reiniciar la firma de certificados'''
En caso de que el nombre de los certificados falle, se pueden reinciar todo el proceso de enlace, haciendo:
+
 
 +
En caso de que el nombre de los certificados falle, se pueden reinciar todo el proceso de enlace, haciendo:
 +
 
 
# Detener el puppet en el master y los nodos
 
# Detener el puppet en el master y los nodos
 
# Borrar los certificados de las carpetas /etc/puppet/ssl/ /var/lib/puppet/ssl/
 
# Borrar los certificados de las carpetas /etc/puppet/ssl/ /var/lib/puppet/ssl/
 
# Iniciar puppet en el master y los nodos
 
# Iniciar puppet en el master y los nodos
 
# Ver el estado de puppet en el master y los nodos
 
# Ver el estado de puppet en el master y los nodos
 
 
 
  
 
== Probando Puppet ==
 
== Probando Puppet ==
Línea 100: Línea 98:
 
* https://puppet.com/es/docs/puppet/5.0/hiera_layers.html  
 
* https://puppet.com/es/docs/puppet/5.0/hiera_layers.html  
 
* https://networkfaculty.com/es/courses/coursedetail/41-curso-introduccion-a-puppet
 
* https://networkfaculty.com/es/courses/coursedetail/41-curso-introduccion-a-puppet
 +
* https://puppet.com/docs/puppet/4.9/quick_start_helloworld.html
 +
* https://puppet.com/docs/pe/2017.3/troubleshooting/troubleshooting_communications_between_components.html
 +
* https://shapeshed.com/connecting-clients-to-a-puppet-master/
 +
* https://www.linode.com/docs/applications/configuration-management/install-and-configure-puppet/
 +
* https://www.digitalocean.com/community/tutorials/how-to-install-puppet-4-in-a-master-agent-setup-on-ubuntu-14-04
 +
* https://www.digitalocean.com/community/tutorials/getting-started-with-puppet-code-manifests-and-modules
 +
  
 
Otros:
 
Otros:
 
* https://puppet.com/presentations/managing-windows-puppet
 
* https://puppet.com/presentations/managing-windows-puppet

Revisión actual del 15:56 9 dic 2017

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.uls: El puppet master
  • cliente#.uls: Cada uno de los clientes. Pj. cliente2.uls, cliente4.uls

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: