Cómo instalar Puppet master y cliente en Ubuntu 14.04
Este documento describe cómo instalar y configurar Puppet en el servidor Ubuntu 14.04. También conectaré un cliente de Puppet con el escritorio de Ubuntu 14.04. Puppet es un sistema de administración de configuración que le permite definir el estado de su infraestructura de TI y luego aplica automáticamente el estado correcto. Ya sea que esté administrando solo unos pocos servidores o miles de máquinas físicas y virtuales, Puppet automatiza las tareas que los administradores de sistemas suelen realizar manualmente, liberando tiempo y espacio mental para que los administradores de sistemas puedan trabajar en los proyectos que brindan un mayor valor comercial.
Ya sea que esté implementando aplicaciones proporcionadas por proveedores o trabajando con un equipo de desarrolladores de software internos, Puppet automatiza cada paso del proceso de entrega de software:desde el aprovisionamiento de máquinas físicas y virtuales hasta la orquestación y generación de informes; desde el desarrollo del código en etapa inicial hasta las pruebas, el lanzamiento de producción y las actualizaciones. Puppet asegura consistencia, confiabilidad y estabilidad. También facilita una colaboración más estrecha entre los administradores de sistemas y los desarrolladores, lo que permite una entrega más eficiente de código más limpio y mejor diseñado.
1 Nota Preliminar
Este tutorial se basa en el servidor Ubuntu 14.04 y el escritorio Ubuntu 14.04, por lo que debe configurar una instalación básica de servidor y escritorio Ubuntu 14.04 antes de continuar con este tutorial. El sistema debe tener una dirección IP estática. Uso 192.168.0.100 como mi dirección IP del servidor Ubuntu y 192.168.0.101 como IP del escritorio Ubuntu en este tutorial y server1.example.com como el nombre de host del servidor Ubuntu y desktop1.example.com como el nombre de host del escritorio Ubuntu.
En Ubuntu Server y Ubuntu Desktop, debe haber esta entrada en el archivo /etc/hosts. Estas entradas serán comunes tanto en el servidor como en el cliente.
nano /etc/hosts
[...]
192.168.0.100 server1.example.com server1 192.268.0.101 desktop1.example.com desktop1
Además de que tanto el Servidor como el Escritorio deben tener sincronización de tiempo, se procesará en las máquinas Servidor y Escritorio de la siguiente manera:
ntpdate pool.ntp.org; apt-get update &&sudo apt-get -y install ntp; reiniciar servicio ntp
2 Instalación de Puppet master en Ubuntu Server 14.04
Para instalar Puppet master vamos al último repositorio e instalamos Puppet de la siguiente manera:
cd /tmp
wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
dpkg -i puppetlabs-release-trusty.deb
apt-get update
apt-get install titiritero
Verifique la versión de la marioneta como:
marioneta -V
[email protected]:/tmp# marioneta -V
3.7.1
[email protected]:/tmp#
Tenemos la versión de marionetas como 3.7.1. Ahora debemos bloquear la actualización de la versión de la marioneta, ya que esto dificultará las configuraciones mientras se actualiza la marioneta. Se hará editando el archivo de la siguiente manera:
nano /etc/apt/preferences.d/00-puppet.pref
Agregue las entradas en el archivo recién creado como:
# /etc/apt/preferences.d/00-puppet.pref Package: puppet puppet-common puppetmaster-passenger Pin: version 3.7* Pin-Priority: 501
No actualizará Puppet mientras se ejecutan actualizaciones en el sistema.
A continuación cambiaremos el archivo de configuración de la siguiente manera:
nano /etc/puppet/puppet.conf
[main] logdir=/var/log/puppet vardir=/var/lib/puppet ssldir=/var/lib/puppet/ssl rundir=/var/run/puppet factpath=$vardir/lib/facter #templatedir=$confdir/templates [master] # These are needed when the puppetmaster is run by passenger # and can safely be removed if webrick is used. ssl_client_header = SSL_CLIENT_S_DN ssl_client_verify_header = SSL_CLIENT_VERIFY
Simplemente comente la línea templatedir=$confdir/templates y guarde el archivo.
Ahora detendremos y luego iniciaremos los servicios:
parada de titiritero de servicio
inicio de titiritero de servicio
Ahora el servidor maestro de marionetas está listo.
3 Instalación del cliente de Puppet en Ubuntu Desktop 14.04
Ahora nuestro objetivo es instalar y configurar Ubuntu Desktop como el cliente de Puppet para el servidor maestro de Puppet Ubuntu. Su cliente debe estar configurado para /etc/hosts además de que su escritorio Ubuntu debe tener un archivo sincronizado en el tiempo como se mencionó en el Capítulo 1 anterior. A continuación, instalaremos Puppet de la siguiente manera:
cd /tmp
wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
dpkg -i puppetlabs-release-trusty.deb
apt-get update
apt-get install marioneta
Verifique la versión de la marioneta como:
marioneta -V
[email protected]:/tmp# marioneta -V3.7.1
[email protected]:/tmp#
Tenemos la versión de marionetas como 3.7.1. Ahora debemos bloquear la actualización de la versión de la marioneta, ya que esto dificultará las configuraciones mientras se actualiza la marioneta. Se hará editando el archivo de la siguiente manera:
nano /etc/apt/preferences.d/00-puppet.pref
Agregue las entradas en el archivo recién creado como:
# /etc/apt/preferences.d/00-puppet.pref Package: puppet puppet-common puppetmaster-passenger Pin: version 3.7* Pin-Priority: 501
No actualizará Puppet mientras se ejecutan actualizaciones en el sistema.
A continuación cambiaremos el archivo de configuración de la siguiente manera:
nano /etc/puppet/puppet.conf
[main] logdir=/var/log/puppet vardir=/var/lib/puppet ssldir=/var/lib/puppet/ssl rundir=/var/run/puppet factpath=$vardir/lib/facter #templatedir=$confdir/templates #[master] ## These are needed when the puppetmaster is run by passenger ## and can safely be removed if webrick is used. #ssl_client_header = SSL_CLIENT_S_DN #ssl_client_verify_header = SSL_CLIENT_VERIFY [agent] server = server1.example.com
Simplemente comente las líneas como se mencionó anteriormente y agregue las entradas del agente y guarde el archivo.
A continuación, debemos editar el archivo vi /etc/default/puppet y realizar cambios de no a sí como se muestra a continuación:
nano /etc/default/puppet
[...]
START=yes
[...]
Ahora estamos listos para iniciar el servicio de marionetas, se hará de la siguiente manera:
inicio de títeres de servicio
Ahora nuestra máquina cliente está lista para comunicarse con el servidor Puppet Master.
4 Intercambio de certificados del maestro de marionetas al cliente de marionetas
Después de la configuración exitosa, el cliente de Puppet Ubuntu Desktop buscará en el servidor maestro de Puppet y solicitará una solicitud de certificado antes de aceptar cualquier instrucción administrativa del servidor de marionetas maestro.
Para ver dicha solicitud de certificado, ejecute el comando en el servidor Puppet Master Ubuntu.
lista de certificados de marionetas
[email protected]:~# lista de certificados de marionetas
"escritorio1.ejemplo.com" (SHA256) BD:F7:7C:76:48:09:C5:FE:0C:A8:CD:81:92 :1D:A4:1F:15:1C:1A:6E:DE:C1:3C:B4:CA:FC:C6:2F:B4:9A:91:74
[email protected]:~#
Significa que hay una máquina llamada dekstop1.example.com que se creó y solicita una solicitud de certificado. Ahora el servidor de Puppet Master debe firmar el certificado solicitado por el cliente de Puppet. Se puede hacer de la siguiente manera:
marioneta certificado firma escritorio1.example.com
La salida será así:
[email protected]:~# puppet cert sign desktop1.example.comAviso:Solicitud de certificado firmada para desktop1.example.com
Aviso:Eliminando el archivo Puppet::SSL::CertificateRequest desktop1.example. com en '/var/lib/puppet/ssl/ca/requests/desktop1.example.com.pem'
[email protected]:~#
Significa que la solicitud de la máquina de escritorio se acepta en la máquina maestra de Puppet. También podemos verificar eso con el comando:
lista de certificados de marionetas -todos
[email protected]:~# lista de certificados de marionetas -todos+ "desktop1.ejemplo.com" (SHA256) 7A:B7:CE:C4:A0:05:99:E7:E2:53:AD:D2:7F:6E:B5:38:CA:87:E0:8D:C7:0E:71:89:82:E1:17:FA:9D:B1:01:6D
+ "servidor1.servidor1 .ejemplo.com" (SHA256) FF:E2:49:B9:2F:B4:D1:79:21:E9:1A:83:22:FA:DB:E8:5D:9B:9A:1C:E1:4D:83:B9:16:9D:FD:8B:72:FD:62:5F (nombres alternativos:"DNS:puppet", "DNS:puppet.server1.example.com", "DNS:server1.server1. ejemplo.com")
[email protected]:~#
El signo + anterior en la salida muestra la firma exitosa del certificado en Puppet master Ubuntu Server.
Para ver la huella digital del certificado del cliente en el escritorio Puppet Client Ubuntu, ejecute:
agente títere --huella dactilar
[email protected]:~# agente de marionetas --fingerprint
(SHA256) 7A:B7:CE:C4:A0:05:99:E7:E2:53:AD:D2:7F:6E:B5:38:CA:87:E0:8D:C7:0E:71:89:82:E1:17:FA:9D:B1:01:6D
[email protected]:~#
Del mismo modo, podemos agregar cualquier número de clientes con Puppet master Ubuntu Server y firmar las solicitudes de certificado de los clientes. Si por algún requisito administrativo desea revocar los certificados del servidor Ubuntu maestro de Puppet, podemos ejecutar:
títere certificado limpio escritorio1.example.com
[email protected]:~# puppet cert clean desktop1.example.com
Aviso:Certificado revocado con serial 3
Aviso:Eliminando el archivo Puppet::SSL::Certificate desktop1.example.com en '/ var/lib/puppet/ssl/ca/signed/desktop1.example.com.pem'
Aviso:eliminando el archivo Puppet::SSL::Certificate desktop1.example.com en '/var/lib/puppet/ssl /certs/desktop1.example.com.pem'
[email protected]:~#
Para asegurarme de que los certificados se eliminen por completo en el servidor Ubuntu de Puppet Master, los limpié explícitamente de nuevo
certificado de marionetas -c
Nota anterior Acabo de mencionar cómo podemos revocar el certificado y desconectar el escritorio del servidor maestro de Puppet.
Como se mencionó anteriormente, podemos conectar una cantidad N de escritorios y realizar las administraciones de manera centralizada a través del servidor maestro de Puppet. ¡Felicidades! Ahora tenemos una instancia de Puppet completamente funcional en nuestro Ubuntu 14.04 :)
5 Enlaces
- Marioneta:http://puppetlabs.com/
- Ubuntu:http://www.ubuntu.com/