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
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
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.
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.
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.
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.
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.
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.