Esta es la segunda parte del tutorial de Foreman. En la primera guía, ya le mostramos la instalación y configuración de Foreman en Ubuntu Server 18.04 LTS y ahora le mostraré cómo agregar Puppet Agents a Foremen.
Requisitos previos
- capataz titiritero
- Privilegios de raíz
¿Qué haremos?
- Configurar hosts
- Instalar y configurar Puppet Agent
- Firmar certificados en el maestro de marionetas Foreman
- Pruebas
Paso 1 - Configurar hosts
En primer lugar, debemos configurar el FQDN (Nombre de dominio completo) de los servidores del agente títere.
Cambie el nombre de host del servidor usando el siguiente comando hostnamectl.
hostnamectl set-hostname client.hakase-labs.io
Después de eso, edite el archivo '/etc/hosts'.
vim /etc/hosts
Cambie la dirección IP y el FQDN por los suyos propios y péguelos.
10.9.9.20 server.hakase-labs.io server
10.9.9.21 client.hakase-labs.io client
Guardar y cerrar.
Ahora pruebe el host con el siguiente comando y asegúrese de que el FQDN del servidor se resuelva en su dirección IP válida.
ping $(hostname -f) -c 3
Paso 2:instalar y configurar Puppet Agent
En este paso, instalaremos Puppet Agent 5 en los servidores Ubuntu 18.04 y CentOS 7. Queremos agregar el repositorio de Puppet al sistema y luego instalar los paquetes del agente de Puppet en los servidores de Ubuntu y CentOS.
- Instalar Puppet Agent en el servidor Ubuntu 18.04
Descargue el repositorio de paquetes y agréguelo al sistema.
cd /tmp && wget https://apt.puppetlabs.com/puppet5-release-bionic.deb
sudo dpkg -i puppet5-release-bionic.deb
Después de eso, actualice los repositorios de ubuntu e instale los paquetes del agente de marionetas usando los siguientes comandos apt.
sudo apt update
sudo apt install -y puppet-agent
- Instalar Puppet Agent en el servidor CentOS 7
Descargue el repositorio de paquetes y agréguelo al sistema.
cd /tmp && wget https://yum.puppet.com/puppet5/puppet5-release-el-7.noarch.rpm
rpm -ivh puppet5-release-el-7.noarch.rpm
Después de eso, instale los paquetes del agente de marionetas usando el siguiente comando.
sudo yum install -y puppet-agent
Cuando se complete la instalación, debemos editar la configuración predeterminada de la marioneta y definir la configuración del agente.
Vaya al directorio '/etc/puppetlabs/puppet' y edite el archivo de configuración 'puppet.conf'.
cd /etc/puppetlabs/puppet/
vim puppet.conf
Cambie el FQDN del servidor y el nombre del certificado con el suyo propio y péguelo.
[agent]
server = server.hakase-labs.io
certname = client.hakase-labs.io
runinterval = 180
environment = production
listen = false
pluginsync = true
report = true
Guardar y salir.
Después de eso, ejecute el servicio del agente de marionetas usando el siguiente comando.
sudo /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true
O si es necesario, reinicie el servicio.
sudo systemctl restart puppet
El agente de marionetas está funcionando en servidores Ubuntu y CentOS.
Paso 3:Firmar solicitudes de certificados de los agentes títeres
Para firmar las solicitudes de certificado de los agentes de la marioneta, podemos usar el terminal shell del servidor del maestro de la marioneta (en este caso es el propio servidor del capataz) o usar el tablero del capataz.
- Firmar solicitudes de certificado usando Terminal Shell
Inicie sesión en el servidor del maestro de marionetas (en esta guía es el servidor del capataz) y verifique la solicitud de certificado usando el siguiente comando.
sudo /opt/puppetlabs/bin/puppetserver ca list
Ahora verá el certificado de nombre del cliente, firme con el siguiente comando.
sudo /opt/puppetlabs/bin/puppetserver ca sign --certname client.hakase-labs.io
Y el certificado del agente títere se agregó al maestro títere a través del servidor terminal.
- Firmar solicitudes de certificado utilizando el panel de Foreman
Haga clic en 'Infraestructura ' a la izquierda, luego elige 'Proxies inteligentes '.
Ahora seleccione los 'Certificados ' opciones del botón desplegable del servidor capataz.
Ahora obtendrá el nombre del cliente que realiza las solicitudes en el estado 'pendiente', haga clic en 'Firmar botón '.
Después de eso, verifique los hosts del agente yendo a la página 'Hosts'.
Dentro de los 'Anfitriones ', haga clic en 'Todos los hosts ' y asegúrese de obtener el nombre del agente títere en la lista de servidores como se muestra a continuación.
A continuación se detallan los detalles sobre Ubuntu Puppet Agent.
Paso 4 - Prueba
En este tutorial, probaremos el servidor de capataz de títeres y el agente de títeres para implementar los servicios nginx y NTP en el host del agente de títeres. Antes de comenzar, debemos descargar los módulos de títeres nginx y ntp en el servidor de capataz y luego activar estos módulos y agregarlos al agente de títeres.
- Descargar el módulo de marionetas de Nginx
Descargue el módulo de marionetas nginx ejecutando el siguiente comando en el servidor capataz del maestro de marionetas.
sudo /opt/puppetlabs/bin/puppet module install puppet/nginx
- Activar módulos de marionetas
Después de eso, importe el módulo nginx a través del panel de control del capataz.
Haga clic en el botón 'Configurar ' a la izquierda y haz clic en Puppet 'Clases '.
Haga clic en 'Importar entorno desde server.hakase-labs.io ', marque las clases de módulos disponibles y haga clic en 'Actualizar '.
Ahora obtendrá el módulo Nginx en la lista.
- Agregar el módulo Puppet al host del agente
Haga clic en 'Hosts ' a la izquierda, haga clic en 'Todos los hosts ' para obtener listas de hosts disponibles.
Ahora haga clic en 'Editar ' en el host del agente llamado 'client.hakase-labs.io'.
Ir a las 'Clases de marionetas ', agregue el módulo 'nginx' y 'ntp' y haga clic en 'Enviar botón '.
Los módulos Nginx y NTP se agregaron al host del agente.
Adicional :
Si desea verificar las clases activas en los anfitriones, simplemente haga clic en 'YAML ' en la información detallada sobre el host y se le mostrará la fuente sin procesar de la configuración YAML.
- Aplicar y probar
Si desea aplicar los cambios manualmente, puede ejecutar el siguiente comando en los hosts del agente de marionetas.
sudo /opt/puppetlabs/bin/puppet agent --test
Cuando esté completo, mostrará el resultado como se muestra a continuación.
Después de eso, verifique el servicio nginx y ntp comprobando el puerto indicado para asegurarse de que los servicios nginx y ntp utilicen los puertos HTTP y NTP.
netstat -plntu
Ahora puede acceder al servidor web nginx en el nodo del agente.
curl client.hakase-labs.io
Para verificar la configuración del servidor ntp, ejecute el siguiente comando.
cat /etc/ntp.conf
Y se le mostrará la configuración ntp administrada por Puppet.
Enlaces
- https://theforeman.org/manuals/