Diferencia entre revisiones de «Manual/puppet»

De FESOL. Proyectos de Software Libre ULS
Saltar a: navegación, buscar
(Página creada con «== Resumen de la receta == En esta receta se instala puppet-master en Debian Stretch y se crean algunos manifiestos para que aplicar cambios en los nodos. == Requisitos ==...»)
 
(Preparación previa)
 
(No se muestran 11 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
 
== Resumen de la receta ==
 
== Resumen de la receta ==
En esta receta se instala puppet-master en Debian Stretch  y se crean algunos manifiestos para que aplicar cambios en los nodos.
+
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.
 +
[[Archivo:Diagrama-puppet.png|border|450px]]
 +
 
 
== Requisitos ==
 
== Requisitos ==
  
Línea 19: Línea 24:
  
 
== Configuración ==
 
== 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]] ).
  
=== Probando el servidor apache ===
+
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
  
=== Probando que el servidor apache pueda ejecutar código php ===
+
Para configurar los nombres de dominio, lo haremos de la siguiente manera.
=== Creando la base de datos y un usuario en mysql cli ===
+
 
=== Probando código php para acceder a la base de datos ===
+
=== 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:
 +
 
 +
# 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 ==
 +
 +
* https://www.pastelero.net/2007/07/13-22-introduccin-al-uso-de-puppet/
 +
* https://www.digitalocean.com/community/tutorials/getting-started-with-puppet-code-manifests-and-modules
 +
* https://puppet.com/es/docs/puppet/5.0/hiera_layers.html
 +
* 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:
 +
* 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: