Al administrar diversas maquinas en ambientes Linux es ideal que como administradores, jefes de IT o personal de soporte contemos con herramientas tanto físicas como a nivel de software para una óptima gestión y administración centralizada de cada una de ellas.
Independiente de si manejamos 10, 100 o 1000 equipos es un objetivo claro el contar con aplicaciones integrales que nos permitan llevar a cabo cada tarea de soporte de la mejor manera posible.
Para este tipo de situaciones se ha desarrollado Katello y es por esta razón que hoy Solvetic analizará de forma detallada que es, como configurar y como usar Katello en CentOS 7 y de esta forma contar siempre con una utilidad más que ayudara a llevar nuestras tareas de soporte de una forma mucho más dinámica y sencilla.
Al usar Foreman, se ofrece a los administradores de sistemas la posibilidad de automatizar fácilmente las tareas repetitivas, implementar rápidamente las aplicaciones y gestionar de forma proactiva los servidores, en las instalaciones o en la nube lo cual es una tendencia hoy en día.
Katello nos permite administrar miles de máquinas con un solo clic de forma dinámica.
Katello tiene la capacidad de extraer contenido de repositorios remotos en entornos aislados y hacer que la administración de suscripciones sea fácil aumentando aún mucho más la productividad y el uso de recursos dentro de la organización.
En la actualidad Katello está en la capacidad de administrar sistemas basados en Fedora y Red Hat Enterprise Linux (RHEL).
A nivel interno tenemos los siguientes:
- Candlepin: Administra la gestión de suscripciones.
- Pulp: Administra el contenido.
- Smart Proxy: Cumple funciones similares a un proxy para algunos de los servicios como DNS, DHCP y configuración de Puppetmaster.
- Foreman: Como hemos mencionado, es una aplicación de código abierto que nos permite gestionar sistemas físicos y virtuales automáticamente usando los módulos Kickstart y Puppet.
- Servidor de cápsula: Actúa como servidor proxy para algunos de los servicios de Katello como almacenamiento de repositorio, DNS, DHCP y configuraciones de servidor.
A nivel de hardware:
- Dos CPU lógicos.
- 8 GB de memoria RAM (Se recomiendan 12 GB).
- El sistema de archivos donde se aloja el directorio /var/lib/pulp debe contar con mínimo 30 GB de espacio para cada sistema operativo a usar.
- El directorio /var/spool/squid/ puede llegar a ocupar 10 GB de espacio ya que es una ubicación temporal para algunos tipos de sincronización de repositorios.
- El sistema de archivos donde está el directorio /var/lib/mongodb necesitara al menos 4 GB para su instalación.
- El sistema de archivos raíz necesita al menos 20 GB de espacio en disco.
A nivel de puertos será necesario lo siguiente para la conexión externa:
- 80 TCP - HTTP, el cual es usado para fines de aprovisionamiento.
- 443 TCP - HTTPS, usado para acceso web y comunicación api.
- 5647 TCP - qdrouterd , usado para las acciones del cliente y la cápsula.
- 9090 TCP – HTTPS, usado para la comunicación con el proxy inteligente.
1. Establecer el hostname en CentOS 7
El primer paso a dar consiste en renombrar el host con la siguiente sintaxis:
hostnamectl set-hostname katello.(nombre).local
En caso de no contar con un servidor DNS en nuestro sistema, será necesario actualizar el archivo /etc/hosts con el nombre anteriormente asignado de la siguiente forma:
echo "192.168.0.7 katello.solvetic.local solvetic" >> /etc/hosts
2. Ajustes de firewall para Katello en CentOS 7
Una vez definido el nombre del host, el siguiente paso consiste en establecer las reglas de firewall para Katello con el fin de habilitar los puertos.
Alli ejecutaremos la siguiente línea:
firewall-cmd --permanent --zone=public --add-port=80/tcp --add-port=443/tcp --add-port=5647/tcp --add-port=9090/tcp
Ahora agregaremos el permiso para el proxy inteligente ejecutando lo siguiente:
firewall-cmd --permanent --zone=public --add-port=8140/tcp --add-port=8443/tcp --add-port=8000/tcp --add-port=67/udp --add-port=68/udp --add-port=69/udp
Reiniciaremos el servicio del firewall ejecutando lo siguiente:
firewall-cmd –reload
3. Configurar el servidor NTP en CentOS 7
El siguiente paso consiste en configurar el servidor NTP para que el servidor pueda sincronizarse con el servidor de tiempo NTP de forma correcta. Para ello ejecutaremos las siguientes líneas.
En primer lugar instalamos NTP:
yum install -y ntp
Reiniciamos el servicio NTP:
service ntpd restart
Finalmente ejecutamos las siguientes líneas:
timedatectl set-timezone Europe/Madrid (Podemos establecer la zona horaria) ntpdate -u es.pool.ntp.org
http://www.pool.ntp.org/zone/es
4. Instalar los repositorios oficiales de Katello en CentOS 7
El siguiente paso a dar consiste en la instalación de los repositorios de Katello los cuales son requeridos para su funcionamiento.
Será necesario ejecutar las siguientes líneas:
yum -y localinstall http://fedorapeople.org/groups/katello/releases/yum/3.2/katello/el7/x86_64/katello-repos-latest.rpm
yum -y localinstall http://yum.theforeman.org/releases/1.13/el7/x86_64/foreman-release.rpm
yum -y localinstall http://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
yum -y localinstall http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install foreman-release-scl
Una vez este proceso concluya veremos lo siguiente:
Procedemos a actualizar de nuevo los paquetes ejecutando
yum -y update
yum -y --disablerepo="*" --enablerepo=rhel-7-server-rpms install yum-utils wget yum-config-manager --disable "*" yum-config-manager --enable rhel-7-server-rpms yum-config-manager --enable rhel-7-server-optional-rpms yum-config-manager --enable rhel-7-server-extras-rpms
5. Instalar y usar Katello en CentOS 7
Con los repositorios instalados el siguiente paso será instalar los paquetes de Katello y para ello ejecutamos lo siguiente:
yum -y install katello
Allí debemos esperar a que todos los paquetes sean descargados e instalados en el sistema, este proceso puede tardar entre 20 a 30 minutos. Una vez finalizado veremos lo siguiente:
Ahora configuraremos Katello usando Foreman y contamos con dos opciones. La primer opción es configurar en una sola línea el usuario y contraseña de acceso a Katello:
foreman-installer --scenario katello --foreman-admin-username admin --foreman-admin-password <Contraseña>
La segunda opción consiste en ejecutar la línea siguiente y allí tomar nota de los detalles de la cuenta.
foreman-installer --scenario katello
Finalmente para acceder a Katello debemos ir al navegador e ingresar lo siguiente:
http://Direccion-IP
Allí accederemos con las credenciales definidas anteriormente. Al acceder este será el entorno. Allí podremos iniciar todo el proceso de configuración y gestión.
Así Katello es una alternativa practica a la hora de administrar múltiples equipos en ambientes CentOS o RHEL.
Buenas, he seguido paso a paso el tutorial sobre un "CentOS Linux release 7.6.1810 (Core)" y al ejecutar"foreman-installer --scenario katello --foreman-admin-username admin --foreman-admin-password admin" me salen muchos errores:
Al final de /var/log/foreman-installer/katello.log aparce:
........
........