Diferencia entre revisiones de «Manual/puppet»

De FESOL. Proyectos de Software Libre ULS
Saltar a: navegación, buscar
(Preparación previa)
 
(No se muestran 9 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]]
 
[[Archivo:Diagrama-puppet.png|border|450px]]
  
Línea 21: 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]] ).
 +
 +
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:
  
=== Probando el servidor apache ===
+
# 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 que el servidor apache pueda ejecutar código php ===
+
== Probando Puppet ==
=== Creando la base de datos y un usuario en mysql cli ===
 
=== Probando código php para acceder a la base de datos ===
 
 
== 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: