Diferencia entre revisiones de «Manual/puppet»

De FESOL. Proyectos de Software Libre ULS
Saltar a: navegación, buscar
(Preparación previa)
 
(No se muestran 7 ediciones intermedias del mismo usuario)
Línea 25: Línea 25:
 
== Configuración ==
 
== Configuración ==
 
=== Preparación previa  ===
 
=== 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 ===
Estructura de directorio
+
Estructura de directorios de puppet master en Debian GNU/Linux Stretch.
  
 
  root@debianldap:/etc/puppet# tree
 
  root@debianldap:/etc/puppet# tree
Línea 71: Línea 78:
 
  certname=cliente.uls
 
  certname=cliente.uls
  
=== Enlace Puppet Master y Clientes Puppet ===
+
=== Enlazando Puppet Master y Clientes Puppet ===
=== Prueba de Cambios ===
+
 
 +
 
 +
 
 +
''' Reiniciar la firma de certificados'''
 +
 
 +
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
 +
# Borrar los certificados de las carpetas /etc/puppet/ssl/ /var/lib/puppet/ssl/
 +
# Iniciar puppet en el master y los nodos
 +
# Ver el estado de puppet en el master y los nodos
 +
 
 +
== Probando Puppet ==
 
== Referencias ==
 
== Referencias ==
  
Línea 79: 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 14: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: