Foreman y Katello en CentOS 7

¿Qué es Foreman?

¿Qué es Katello?

Instalación

Versiones a instalar:

  • Foreman: 1.11
  • Katello: 3
  • Puppet 3

Prerrequisitos

  • Una instalación con CentOS 7
[root@centos00 ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core)
  • El nombre del equipo deber de resolver el FQDN en minúsculas
[root@centos00 ~]# hostname
centos00.localdomain.local
  • Los recursos del equipo donde vamos a realizar la instalación son:
    • CPU: 2
    • RAM: 8
    • Disco duro: 50GB (dependerá de los repositorios que vayamos a gestionar con Katello)

 

Configuración de repositorios

Partimos de una instalación con los repositorios por defecto

id del repositorio                                               nombre del repositorio                                            estado
base/7/x86_64                                                    CentOS-7 - Base                                                   9.007
extras/7/x86_64                                                  CentOS-7 - Extras                                                   375
updates/7/x86_64                                                 CentOS-7 - Updates                                                2.297
repolist: 11.679

 

Añadimos los siguientes repositorios:

  • Repositorio CentOS Linux Software Collections
yum -y install centos-release-scl
  • Repositorio EPEL
yum -y localinstall http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  • Repositorio de Foreman 1.11
yum -y localinstall http://yum.theforeman.org/releases/1.11/el7/x86_64/foreman-release.rpm
  • Repositorio de Foreman Software Collections
yum -y install foreman-release-scl
  • Repositorio de Katello 3.0
yum -y localinstall http://fedorapeople.org/groups/katello/releases/yum/3.0/katello/el7/x86_64/katello-repos-latest.rpm
  • Repositorio de PuppetLabs 3
rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm

 

Tras añadir todos los repositorios comprobamos que tenemos configurados los siguientes:

id del repositorio                                nombre del repositorio                                                        estado
base/7/x86_64                                     CentOS-7 - Base                                                                   9.007
centos-sclo-rh/x86_64                             CentOS-7 - SCLo rh                                                                4.130
centos-sclo-sclo/x86_64                           CentOS-7 - SCLo sclo                                                                311
epel/x86_64                                       Extra Packages for Enterprise Linux 7 - x86_64                                10.453+23
extras/7/x86_64                                   CentOS-7 - Extras                                                                 372+3
foreman/x86_64                                    Foreman 1.11                                                                        480
foreman-plugins/x86_64                            Foreman plugins 1.11                                                                276
katello/x86_64                                    Katello 3.0                                                                          29
katello-candlepin/x86_64                          Candlepin: an open source entitlement management system.                              3
katello-client/x86_64                             Katello Client 3.0                                                                   18
katello-pulp/x86_64                               Pulp Community Releases                                                              62
puppetlabs-deps/x86_64                            Puppet Labs Dependencies El 7 - x86_64                                               17
puppetlabs-products/x86_64                        Puppet Labs Products El 7 - x86_64                                                  222
rhscl-rh-ror41-epel-7-x86_64                      Ruby on Rails 4.1 - epel-7-x86_64                                                121+59
rhscl-rh-ruby22-epel-7-x86_64                     Ruby 2.2 - epel-7-x86_64                                                           29+5
rhscl-v8314-epel-7-x86_64                         V8 3.14 - epel-7-x86_64                                                             9+3
updates/7/x86_64                                  CentOS-7 - Updates                                                                2.297
repolist: 27.836

 

 

Instalación de Foreman con escenario Katello

Descargamos el instalador de foreman

yum -y install foreman-installer

Instalamos katello

yum -y install katello

Ejecutamos el instalador de foreman indicando que es un escenerio con katello

Podemos obtener la ayuda sobre las opciones de instalación con

foreman-installer --scenario katello --help

Nosotros vamos a realizar la instalación con las opciones por defecto

foreman-installer --scenario katello

Esperamos a que se complete la instalación en unos minutos

Installing             Notice: /Stage[main]/Squid3/Service[squid3_service [8%] [....                                                   ]

Installing Debug: Executing ‘/usr/bin/yum -d 0 -e 0 -y list p [13%] [……. ] Installing Notice: /Stage[main]/Foreman::Config/Anchor[forema [99%] […………………………………………….. ] Installing Done [100%] [……………………………………………..] Success! * Katello is running at https://centos00.localdomain.local Initial credentials are admin / Nq38AUxK9J9z48Hc * To install additional capsule on separate machine continue by running: capsule-certs-generate –capsule-fqdn «$CAPSULE» –certs-tar «~/$CAPSULE-certs.tar» The full log is at /var/log/foreman-installer/katello.log

 

Guardamos las credenciales del usuario administrador

Initial credentials are admin / Nq38AUxK9J9z48Hc

 

 

Configuración de cortafuegos

Es necesario abrir algunos puertos en el servidor para poder acceder a los servicios ya que por defecto el servicio de firewall se ejecuta en los servidores CentOS

 

El listado de puertos necesarios son:

Puerto Protocol Required For
53 TCP & UDP DNS Server
67, 68 UDP DHCP Server
69 UDP  TFTP Server
80, 443 TCP  HTTP & HTTPS access to Foreman web UI / provisioning templates – using Apache + Passenger
3000 TCP HTTP access to Foreman web UI / provisioning templates – using standalone WEBrick service
3306 TCP Separate MySQL database
5910 – 5930 TCP Server VNC Consoles
5432 TCP Separate PostgreSQL database
8140 TCP  Puppet Master
8443 TCP Smart Proxy, open only to Foreman

Abrimos los puertos con el comando firewall-cmd. Por defecto, el tráfico permitido para la zona public es:

[root@centos00 ~]# firewall-cmd --get-active-zones
public
 interfaces: eno16777984
[root@centos00 ~]#  firewall-cmd --list-all
public (default, active)
  interfaces: eno16777984
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

 

Podemos utilizar el servicio ya definido RH-Satellite-6 que está definido con los siguientes puertos (se puede ver la configuración del servicio en /usr/lib/firewalld/services/RH-Satellite-6.xml)

  <port protocol="tcp" port="80"/>
  <port protocol="tcp" port="443"/>
  <port protocol="tcp" port="5646-5647"/>
  <port protocol="tcp" port="5671"/>
  <port protocol="tcp" port="8140"/>
  <port protocol="tcp" port="8080"/>
  <port protocol="tcp" port="9090"/>

Añadimos el servicio con el comando

[root@centos00 ~]# firewall-cmd --zone=public --add-service=RH-Satellite-6 --permanent
success

[root@centos00 ~]# firewall-cmd --reload
success

[root@centos00 ~]# firewall-cmd --list-all
public (default, active)
  interfaces: eno16777984
  sources:
  services: RH-Satellite-6 dhcpv6-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

 

 

Acceso a la consola de configuración

Accedemos con un navegador web a la consola de configuración

Katello-045

Utilizamos las credenciales obtenidas tras la instalación de Foreman

Katello-046

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.