Foreman es un software de código abierto para administrar el ciclo de vida de servidores físicos y virtuales. Es una solución de administración de servidores que ayuda a los administradores de sistemas a realizar el aprovisionamiento y la configuración de servidores para la orquestación y el monitoreo. Foreman ofrece soporte para herramientas de aprovisionamiento como Puppet, Chef, Salt Stack, Ansible, etc.
En esta guía, le mostraremos la instalación y configuración de Foreman en el servidor Ubuntu 18.04. Vamos a instalar Foreman usando el instalador de Puppet Foreman en Ubuntu Server 18.04.
Requisitos previos
- Servidor Ubuntu 18.04
- Memoria RAM 4/2GB
¿Qué haremos?
- Configurar FQDN
- Instalar Puppet 5
- Instalar capataz
- Configurar el cortafuegos UFW
- Acceder al panel de capataz
- Agregar módulo NTP a Foreman
- Ejecutar el agente títere
Paso 1:Configurar FQDN
En primer lugar, debemos configurar el FQDN (Nombre de dominio completo) del servidor Foreman cambiando el nombre de host y editando el archivo '/etc/hosts'.
Cambie el nombre de host del sistema usando el siguiente comando y cambie el nombre de dominio por el suyo propio.
hostnamectl set-hostname server.hakase-labs.io
Ahora edite el archivo '/etc/hosts' usando el editor vim.
vim /etc/hosts
Cambie la dirección IP y el nombre de dominio por los suyos propios y péguelos.
10.9.9.20 server.hakase-labs.io server
Guarde y cierre el archivo.
Ahora ejecute el siguiente comando y asegúrese de obtener la dirección IP del servidor FQDN.
ping $(hostname -f) -c 3
Paso 2:Agregar depósito de marionetas
Para esta guía, debemos agregar el repositorio de títeres para instalar el paquete de títeres en el sistema Ubuntu. Porque queremos instalar Foreman automáticamente usando la secuencia de comandos del instalador del módulo de marionetas que proporciona Foreman.
Instale el paquete de certificado CA y descargue el paquete del repositorio de Puppet.
sudo apt install ca-certificates -y
cd /tmp && wget https://apt.puppetlabs.com/puppet5-release-bionic.deb
Ahora agregue el repositorio de marionetas usando el siguiente comando.
sudo dpkg -i /tmp/puppet5-release-bionic.deb
Paso 3:instalar Foreman
Para instalar Foreman en el sistema, debemos agregar el repositorio de Foreman.
Agregue el repositorio de Foreman ejecutando el siguiente comando.
echo "deb http://deb.theforeman.org/ bionic 1.20" | sudo tee /etc/apt/sources.list.d/foreman.list
echo "deb http://deb.theforeman.org/ plugins 1.20" | sudo tee -a /etc/apt/sources.list.d/foreman.list
Ahora agregue la clave Foreman.
wget -q https://deb.theforeman.org/pubkey.gpg -O- | sudo apt-key add -
Después de eso, actualice los repositorios de ubuntu e instale el paquete 'capataz-instalador' usando los siguientes comandos.
sudo apt update
sudo apt install foreman-installer -y
Ahora que se ha instalado el paquete de instalación de capataz, ejecute el comando de instalación a continuación.
sudo foreman-installer
Cuando se complete la instalación, obtendrá el usuario administrador y la contraseña del panel de Foreman como se muestra a continuación.
Paso 4:configurar el cortafuegos UFW
Después de la instalación del capataz, necesitamos abrir algunos puertos que necesita el capataz.
Ejecute todos los siguientes comandos ufw a continuación.
ufw allow http
ufw allow https
ufw allow ssh
ufw allow 69/udp
ufw allow 8140/tcp
Después de eso, inicie y habilite el servicio de firewall ufw.
ufw enable
Paso 5:acceda al panel de Foreman
Ahora abra su navegador web y escriba la IP del servidor capataz o el nombre de dominio en la barra de direcciones, en mi caso 'https://server.hakase-labs.io/ '.
Y obtendrá la página de inicio de sesión de Foreman.
Inicie sesión con el usuario 'admin' y la contraseña proporcionada en la parte superior, y obtendrá el panel de control del capataz.
Paso 6:agregue el módulo NTP a Foreman
El titiritero necesitaba el módulo NTP para mantener la hora exacta. Y utilizaremos Foreman para administrar el servicio NTP en el host Foreman (que también actúa como titiritero).
- Instalar el módulo Puppet para administrar el NTP
Instale el módulo de marionetas para administrar el servicio NTP al host de capataz usando el siguiente comando.
sudo /opt/puppetlabs/bin/puppet module install puppetlabs/ntp
Y obtendrá el resultado como se muestra a continuación.
- Habilitar y configurar el módulo de marionetas NTP
Después de la instalación del módulo de marionetas, debemos habilitar y configurar el módulo NTP a través del tablero de Foreman.
Inicie sesión en el panel de control de Foreman, haga clic en el menú de la izquierda.
Configurar - Marioneta - Clases.
Haga clic en el botón 'Importar entorno desde server.hakase-labs.io'.
Habilite el módulo de marionetas NTP marcando la casilla de verificación y luego haga clic en el botón Actualizar.
Se ha habilitado el módulo de marionetas para la gestión del servicio NTP.
Después de eso, anularemos la configuración predeterminada del servidor NTP utilizando nuestro propio servidor personalizado.
En la página 'Clases de marionetas', haga clic en el módulo NTP.
Ahora haga clic en la pestaña 'Parámetros de clase inteligente', luego haga clic en el parámetro 'Servidor' en el lado izquierdo.
Marque la casilla de verificación 'Anular', cambie el tipo de clave a 'matriz' y luego ingrese el valor predeterminado con el grupo de servidores NTP personalizado.
["0.id.pool.ntp.org","1.id.pool.ntp.org","2.id.pool.ntp.org","3.id.pool.ntp.org"]
Haga clic en el botón 'Enviar' en la parte inferior y la configuración del módulo de marionetas NTP se habrá completado.
- Configurar host para usar el módulo Puppet
Muestre todos los hosts disponibles en Foreman eligiendo el menú "Host" en el lado izquierdo, luego haga clic en "Todos los hosts".
Después de eso, elija el host al que desea aplicar el módulo de marionetas NTP y haga clic en el botón 'Editar'.
Haga clic en la pestaña Clases de títeres y obtendrá todos los módulos de títeres disponibles en el capataz. En Clases disponibles, expanda el módulo de clase NTP y haga clic en el signo más junto a "ntp".
Ahora haga clic en el botón 'Enviar' y el módulo de marionetas para administrar el servidor NTP se ha agregado al servidor Foreman Puppet Master.
Paso 7:ejecutar el agente de marionetas
Inicie sesión en el servidor de Foreman y ejecute el siguiente comando de títeres a continuación.
sudo /opt/puppetlabs/bin/puppet agent --test
Y obtendrá el resultado como se muestra a continuación.
El servidor instalará y configurará automáticamente el servicio NTP utilizando nuestra configuración personalizada.
Una vez que esté completo, verifique el archivo de configuración '/etc/ntp.conf'.
cat /etc/ntp.conf
Asegúrese de obtener la configuración de NTP administrada por marionetas utilizando el grupo de servidores personalizado que ya está definido en el panel de control de Foreman.