Diferencia entre revisiones de «Manual/puppet»
(→Resumen de la receta) |
(→Preparación previa) |
||
(No se muestran 8 ediciones intermedias del mismo usuario) | |||
Línea 24: | 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: | ||
+ | |||
+ | # 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 14:56 9 dic 2017
Contenido
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.
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:
- 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
- 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: