LINUX

Cómo instalar Foreman para administrar nodos de marionetas en Ubuntu 16.04

Hola a todos, bienvenidos a nuestro artículo de hoy sobre Foreman para administrar sus Puppet Nodes en Ubuntu 16. Foreman es una herramienta de código abierto que ayuda a los administradores de sistemas a administrar servidores a lo largo de su ciclo de vida, desde el aprovisionamiento y la configuración hasta la orquestación y el monitoreo. Puede automatizar fácilmente tareas repetitivas, implementar aplicaciones rápidamente y administrar el cambio de manera proactiva, tanto en las instalaciones con máquinas virtuales como sin sistema operativo o en la nube mediante el uso de la arquitectura de proxy inteligente Puppet, Chef, Salt, Ansible y Foreman. Foreman proporciona instalaciones integrales de interacción que incluyen una interfaz web, CLI y API RESTful que le permite construir una lógica empresarial de nivel superior sobre una base sólida.

Con Foreman, puede descubrir, aprovisionar y actualizar toda su infraestructura completa, crear y administrar instancias en nubes públicas y privadas. Puede usarlo en un grupo de sus hosts y administrarlos de forma masiva, independientemente de la ubicación, luego revisar los cambios históricos para auditarlos o solucionar problemas.

Prerrequisitos

Hay algunos requisitos básicos que deben asegurarse antes de pasar a la instalación de Foreman. Lo primero es crear una máquina virtual nueva en la que tenga privilegios de root, configurar su FQDN y nombre de host, que se pueden configurar con los siguientes comandos.

# hostnamectl set-hostname ksh-u16

Luego edite el archivo ‘hosts’ con su FQDN antes del nombre de host.

# vi /ete/hosts
127.0.0.1 ksh-u16.domain.com ksh-u16

Guarde y cierre el archivo y ejecute el siguiente comando para verificar si su FQDN ha sido configurado.

# hostname -f

Verá su FQDN en la salida. Ahora actualice su sistema con las últimas actualizaciones y parches de seguridad utilizando el siguiente comando en su terminal de línea de comandos.

# apt-get update
# apt-get upgrade

Seleccione la tecla ‘Y’ para confirmar e iniciar las actualizaciones de su sistema. Una vez que se completen todas las actualizaciones, podemos avanzar hacia la instalación de Foreman.

Instalación de Foreman en Ubuntu 16

Ahora vamos a instalar Foreman usando su instalador, que incluirá todos los componentes necesarios para ejecutar Foreman que es Puppet master y agent, servidor Web Apache con SSL y módulo Passenger.

Primero habilitaremos el repositorio para usar Puppet 4.x con Puppet Agent y Puppet Server usando los siguientes comandos.

# apt-get -y install ca-certificates
# wget https://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb
# dpkg -i puppetlabs-release-pc1-xenial.deb

configuración de títeres

Luego, use los siguientes comandos para habilitar el repositorio de Foreman.

echo "deb http://deb.theforeman.org/ xenial 1.14" > /etc/apt/sources.list.d/foreman.list
echo "deb http://deb.theforeman.org/ plugins 1.14" >> /etc/apt/sources.list.d/foreman.list
apt-get -y install ca-certificates
wget -q https://deb.theforeman.org/pubkey.gpg -O- | apt-key add -

Descargue el instalador de Forman usando el siguiente comando.

# apt-get update && apt-get -y install foreman-installer

Ahora ejecutaremos el instalador de capataz, pero antes de ejecutar el instalador, asegúrese de que ping $ (nombre de host -f) muestra la dirección IP real, no 127.0.1.1. Cambie o elimine esta entrada de / etc / hosts si está presente.

La ejecución de la instalación no es interactiva, pero la configuración se puede personalizar proporcionando cualquiera de las opciones enumeradas en foreman-installer –help, o ejecutando foreman-installer -i para el modo interactivo. Agregar -v deshabilitará la barra de progreso y mostrará todos los cambios.

Para ejecutar el instalador, ejecute el siguiente comando.

# foreman-installer
Installing Done [100%] [...........................................................................]
Success!
* Foreman is running at https://ksh-u16.domain.com
Initial credentials are admin / cwGbVjM2zGP5aDwm
* Foreman Proxy is running at https://ksh-u16.domain.com:8443
* Puppetmaster is running at port 8140
The full log is at /var/log/foreman-installer/foreman.log

Una vez finalizado, el instalador imprimirá algunos detalles como se muestra arriba, donde encontrará los detalles de Foreman, Smart Proxy y Puppet master.

Interfaz web Foreman

Abra su navegador favorito junto con la URL web de Foreman mencionada anteriormente e inicie sesión con sus credenciales proporcionadas como se muestra.

https://ksh-u16.domain.com

página de inicio de sesión del capataz

Manejo de marionetas

Después de una instalación exitosa, el instalador de Foreman habrá configurado un maestro de marionetas en el host, completamente integrado con Foreman. Primero ejecute el agente Puppet en el host de Foreman, que enviará el primer informe de Puppet a Foreman, creando automáticamente el host en la base de datos de Foreman.

# puppet agent --test
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for ksh-u16.centricait.com
Info: Applying configuration version '1485372953'
Notice: Applied catalog in 0.23 seconds

Ahora en la interfaz web de Foreman, haga clic en el Hospedadores pestaña y su anfitrión Foreman debería estar visible en la lista con un estado «OK». Esto indica que su estado es correcto, sin cambios realizados en la última ejecución de Puppet.

estado de anfitrión capataz

Descarga de un módulo de marionetas

A continuación, instalaremos un módulo Puppet para administrar el servicio NTP desde Puppet Forge a nuestro entorno de «producción» predeterminado usando el siguiente comando.

# puppet module install puppetlabs/ntp
Notice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ...
Notice: Downloading from https://forgeapi.puppet.com ...
Notice: Installing -- do not interrupt ...
/etc/puppetlabs/code/environments/production/modules
└─┬ puppetlabs-ntp (v6.0.0)
└── puppetlabs-stdlib (v4.15.0)

En Foreman, vaya a Configurar> Clases y haga clic en Importar desde el nombre de host (arriba a la derecha) para leer las clases de títeres disponibles del maestro de títeres y completar la base de datos de Foreman. La clase «ntp» aparecerá en la lista de clases Puppet si se instaló correctamente como se muestra a continuación.

módulo títere ntp

Aquí debe verificar el ícono y hacer clic en el botón ‘actualizar’. El módulo ntp ahora se importa a Foreman y está listo para usarse con un host.

Usando el módulo de marionetas

Haga clic en la clase «ntp» en la lista, cambie a la Parámetros de clase inteligente pestaña y seleccione el parámetro de servidores en el lado izquierdo. Marque la casilla de verificación Anular para que Foreman gestione la «Servidores» parámetro de la clase y cambie el valor predeterminado si lo desea, antes de enviar la página.

clase de títeres

Ahora vuelva a la pestaña Hosts y haga clic en Editar en el host Foreman. En la pestaña Puppet Classes, expanda el módulo ntp y haga clic en el icono + para agregar la clase ntp al host, luego guarde el host.

agregando la clase ntp

Para ver las configuraciones de títeres, al hacer clic en el botón YAML cuando regrese a la página de host, se mostrará la clase ntp y el parámetro de servidores, tal como se pasó a Puppet a través de la interfaz ENC (clasificador de nodo externo). Vuelva a ejecutar ‘puppet agent –test’ en el host de Foreman para ver el servicio NTP reconfigurado automáticamente por Puppet y el módulo NTP.

basurero de marionetas YAML

Una vez que haga clic en YAML, obtendrá el siguiente resultado en su página web.

---
classes:
ntp:
authprov: ''
broadcastclient: ''
config: ''
config_dir: ''
config_epp: ''
config_file_mode: ''
config_template: ''
tos_minsane: ''
udlc: ''
udlc_stratum: ''
parameters:
puppetmaster: ksh-u16.domain.com
domainname: domain.com
root_pw:
puppet_ca: ksh-u16.domain.com
foreman_env: production
owner_name: Admin User
owner_email: root@domain.com
foreman_subnets: []
foreman_config_groups: []
environment: production

Agregar más hosts administrados por Puppet

Otros hosts con agentes Puppet instalados pueden usar este puppet master configurando server = ksh-u16.domain.com en puppet.conf. Firme sus certificados en Capataz yendo a Infraestructura> Proxies inteligentes> Certificados o usando los siguientes comandos en el titiritero.

# puppet cert list
# puppet cert sign

Las clases de marionetas se pueden agregar a grupos de hosts en Foreman en lugar de hosts individuales, lo que permite una configuración estándar de muchos hosts simultáneamente. Los grupos de hosts se utilizan normalmente para representar roles de servidor.

Conclusión

En este artículo aprendimos sobre la instalación de Foreman y sobre el uso y la administración de nodos títere en Ubuntu 16. Foreman puede ser una fuente única de verdad para la información de configuración y ayudarlo a crear y aprovisionar sistemas más rápido para que cuando un nuevo miembro del equipo se una a su equipo, simplemente presione un botón y aprovisione su nueva máquina automáticamente. Con Foreman, podría configurar nuevos entornos de prueba con cada ejecución de implementación, lo que lo ayudará a probar diferentes características de las funciones con mucha facilidad y realizar un seguimiento de la evolución del entorno junto con la del código. De esta manera, debe esforzarse al mínimo para configurar su nuevo entorno de prueba o producción. Espero que este artículo le sea de mucha ayuda, gracias por leer.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar