Domina tus servidores con Foreman (primera parte)

En el artículo de hoy vamos a echar un vistazo a un producto que conocí a finales del año pasado, con grandes virtudes, para gestionar y dominar nuestros servidores, estoy hablando de Foreman.

Las virtudes de Foreman

Se trata de una herramienta para la completa gestión del ciclo de vida de nuestros servidores, tanto físicos como virtuales. Nos proporciona, a los administradores de sistemas, la capacidad de automatizar fácilmente tareas repetitivas, implementar rápidamente aplicaciones y administrar proactivamente los servidores, tanto en instalaciones físicas como en la llamada nube (ya sabéis, servidores de terceros)

Más al detalle

Foreman es un proyecto de código abierto, esto es, open source, que ayuda a los administradores de sistemas a en su día a día con los servidores, desde al aprovisionamiento y la configuración hasta la orquestación y la supervisión. Desde él podemos trabajar fácilmente con Puppet, Chef, Salt y Ansible. Todo ello se orquesta en una arquitectura que trabaja con un proxy inteligente. Esto nos permitirá automatizar fácilmente las tareas repetitivas, implementar aplicaciones de forma rápida y gestionar los cambios de manera proactiva, tanto en las instalaciones como en las máquinas virtuales o en remoto.

También se nos ofrece unas completas instalaciones, facilitadas por un frontend web, un CLI y una RESTfull API.

Actualmente el producto ya tiene más de siete años de antigüedad y se está utilizando en muchas organizaciones, gestionando entre diez y diez mil servidores.

A nivel de licencia se trata de software libre, ya que utiliza la GPL

Es un producto similar, en algunas partes, al producto de pago de Red Hat Satellite

Muestra del frontend web de Foreman

¿Qué podemos hacer?

Desde proporcionar y actualizar toda nuestra infraestructura, hasta crear y administrar instancias a través de nubes privadas y públicas. Podemos agrupar los hosts y administrarlos a granel, independientemente de la ubicación. Revisar los casos históricos (logs) para posibles auditorías. Permite construir automáticamente imágenes por definición del sistema.

Actualmente se instalan desde Foreman los siguientes sistemas operativos:

  • Red Hat, Centos, Fedora, Ubuntu, Debian, Solarias 8 y 10, OpenSUSE, SLES, Oracle Linux, CoreOS, FreeBSD y Junos

También puede trabajar con diferentes proveedores en la llamada nube:

  • Amazon EC2, Google Computer Engine, Libvirt, OpenStack, VMware entre otros.

¿Cómo empezar a utilizarlo?

El instalador del producto es una colección de módulos de Puppet, que instalan todo lo necesario para una configuración de trabajo completa. Utiliza empaquetamiento nativo (tanto DEB como RPM) y agrega la configuración necesaria para una completa instalación.

Entre sus diferentes partes encontramos la interfaz de usuario de Foreman, el SmartProxy, Passenger, un Puppet Master y opcionalmente servicios como TFTP, DNS y DHCP. Para realizar la instalación en modo servidor, podemos trabajar con los siguientes sistemas operativos:

  • CentOS, Scientific Linux u Oracle Linux
  • Debian 8 Jessie
  • Fedora 24
  • RHEL 7
  • Ubuntu 16.04 y Ubuntu 14.04

Existe la posibilidad de instalarlo en otros sistemas.

En cualquier caso para que funcione correctamente a nivel de hardware (ya sea físico o virtual) debemos cumplir con varios requisitos, el principal de ellos es 4 GB mínimo de memoria, aunque yo recomiendo por lo menos 8 GB, para que podamos trabajar con plugins tan importantes como Katello, del que hablaremos más adelante. Además, a nivel de discos y puntos de montaje, esto ya es preferencia mía, utilizaremos una configuración a medida.
En mi caso me he decantado por CentOS 7, que ya lo he utilizado alguna vez.

Os el enlace al segundo capítulo sobre su instalación: Segunda Parte

Fuentes | Página oficial Foreman