sat02 - gpulido-redhat/workshopclaro Wiki

Validación de pre-requisitos para la instalación de Red Hat Satellite

Los siguientes requisitos se aplican al sistema operativo base:

NOTA: El servidor en el cual se instalara satellite deberá ser dedicado para este servicio.

Requerimientos de almacenamiento

Directorio Tamaño en instalacion Tamaño en ejecucion
/var/cache/pulp/ 1 MB 20 GB
/var/lib/pulp/ 1 MB 300 GB
/var/lib/mongodb/ 3.5 GB 50 GB
/var/lib/qpidd/ 25 MB Not Applicable
/var/log/ 10 MB 10 GB
/var/opt/rh/rh-postgresql12 100 MB 10 GB
/var/spool/squid/ 0 MB 10 GB
/usr 3 GB Not Applicable
/opt 3 GB Not Applicable
/opt/puppetlabs 500 MB Not Applicable

Directrices para sistema de archivos

Almacenamiento de archivos de log

NOTA: La cantidad exacta de almacenamiento que necesita para los mensajes de registro depende de su instalación y configuración

Navegadores soportados Satellite soporta versiones recientes de: Firefox y Google Chrome.

*El tamaño del tiempo de ejecución se midió con los repositorios de Red Hat Enterprise Linux 6, 7 y 8 sincronizados.

Requerimientos de puertos y firewall

Puertos para la comunicación de satélite a Red Hat CDN

Puerto Protocolo Servicio Requerido para
443 TCP HTTPS Servicios de administración de suscripción (access.redhat.com) y conexión a Red Hat CDN (cdn.redhat.com).

Puertos para el acceso de la interfaz de usuario basada en navegador al satélite

Puerto Protocolo Servicio Requerido para
443 TCP HTTPS Acceso a la interfaz de usuario basada en navegador para Satellite.
80 TCP HTTP Redirección a HTTPS para acceder a la interfaz de usuario web a satélite (opcional).

Puertos para la comunicación de cliente a satélite

Puerto Protocolo Servicio Requerido para
80 TCP HTTP Anaconda, yum, para obtener certificados, plantillas de Katello y para descargar el firmware de iPXE.
443 TCP HTTPS Servicios de administración de suscripción, yum, servicios de telemetría y para la conexión al agente de Katello.
5646 TCP AMQP El enrutador de despacho Capsule Qpid al enrutador de despacho Qpid en Satellite.
5647 TCP AMQP Agente de Katello para comunicarse con el enrutador de despacho Qpid de Satellite.
8000 TCP HTTP Anaconda para descargar plantillas kickstart a hosts y para descargar firmware iPXE.
8140 TCP HTTPS Conexiones de Puppet agent a Puppet master.
9090 TCP HTTPS Envío de informes SCAP a la cápsula integrada, para la imagen de descubrimiento durante el aprovisionamiento para comunicarse con Satellite Server y copiar las claves SSH para la configuración de ejecución remota (Rex).
7 TCP,UDP ICMP DHCP externo en una red de cliente a satélite, ICMP ECHO para verificar que la dirección IP esté libre (opcional).
53 TCP,UDP DNS Consultas de DNS del cliente al servicio de DNS cápsula integrado de un satélite (opcional).
67 UDP DHCP Transmisiones de cápsula integradas de cliente a satélite, transmisiones DHCP para aprovisionamiento de clientes desde una cápsula integrada de satélite (opcional).
69 UDP TFTP Clientes que descargan archivos de imagen de arranque PXE desde una cápsula integrada de satélites para aprovisionamiento (opcional).
5000 TCP HTTPS Connection to Katello for the Docker registry (Optional).

Puertos para comunicación satélite a cápsula

Puerto Protocolo Servicio Requerido para
443 TCP HTTPS Conexiones al servidor Pulp en la cápsula.
9090 TCP HTTPS Conexiones al proxy en la cápsula.
80 TCP HTTP Descarga de un disco de arranque (opcional)

Puertos de red opcionales

Puerto Protocolo Servicio Requerido para
22 TCP SSH Comunicaciones basadas en satélite y cápsula, para ejecución remota (Rex) y Ansible.
443 TCP HTTPS Comunicaciones basadas en satélites, para recursos informáticos de vCenter.
5000 TCP HTTP Comunicaciones por satélite, para recursos informáticos en OpenStack o para ejecutar contenedores.
22,16514 TCP SSH,SSL/TLS Comunicaciones por satélite, para recursos informáticos en libvirt.
389,636 TCP LDAP,LDAPS Comunicaciones satellite, para LDAP y fuentes de autenticación LDAP seguras.
5900 to 5930 TCP SSL/TLS Comunicaciones satellite, para la consola NoVNC en la interfaz de usuario web a los hipervisores.

Instalación de Red Hat Satellite. (Demostración)

Verificando conectividad y resolución DNS

[[email protected] ~]# ping -c1 localhost
[[email protected] ~]# ping -c1 $(hostname -f)
[[email protected] ~]# ping -c1 $(hostname -s)
[[email protected] ~]# nslookup satellite.opennova.pe
Server:         192.168.0.120
Address:        192.168.0.120#53

Name:   satellite.opennova.pe
Address: 192.168.0.140
[[email protected] ~]# nslookup 192.168.0.140
140.0.168.192.in-addr.arpa      name = satellite.opennova.pe

Es buena idea indicar el el archivo /etc/hosts **<IP> <FQDN Satellite> <Short name Satellite>**

192.168.0.140 satellite.opennova.pe satellite

Habilitación de conexiones de un cliente a un servidor satélite

[[email protected] ~]# firewall-cmd \
--add-port="80/tcp" --add-port="443/tcp" \
--add-port="5647/tcp" --add-port="8000/tcp" \
--add-port="8140/tcp" --add-port="9090/tcp" \
--add-port="53/udp" --add-port="53/tcp" \
--add-port="67/udp" --add-port="69/udp" \
--add-port="5000/tcp"
[[email protected] ~]# firewall-cmd --runtime-to-permanent
[[email protected] ~]# firewall-cmd --list-all

Instalacion Online Habilitación de los siguientes repositorios:

[[email protected] ~]# subscription-manager repos --enable=rhel-7-server-rpms \
--enable=rhel-7-server-satellite-6.9-rpms \
--enable=rhel-7-server-satellite-maintenance-6-rpms \
--enable=rhel-server-rhscl-7-rpms \
--enable=rhel-7-server-ansible-2.9-rpms

Borrar metadata yum

[[email protected] ~]# yum clean all

Verificar repositorios configurados

[[email protected] ~]# yum repolist enabled

Realizar una lista de paquetes necesarios para la administración de la maquina virtual.

[[email protected] ~]# yum install sos git net-tools bind-utils vim mlocate chrony

NOTA: Si necesita instalar algún paquete adicional como bash-completion, dig, net-tools, git, vim, entre otros necesarios para su administración realizarlo antes de la instalación y configuración del producto

Actualizar el sistema en conjunto y reiniciar

[[email protected] ~]# yum update
[[email protected] ~]# reboot

Instalar paquetes de instalación para Red Hat Satellite

[[email protected] ~]# yum install satellite

Instalar Red Hat Satellite

[[email protected] ~]# satellite-installer --scenario satellite \
--foreman-initial-organization "initial_organization_name" \
--foreman-initial-location "initial_location_name" \
--foreman-initial-admin-username admin_user_name \
--foreman-initial-admin-password admin_password
satellite-installer --scenario satellite \
--foreman-initial-admin-username admin \
--foreman-initial-admin-password redhat

Nota: Para evitar problemas de perdida de conectividad hacia la terminar virtual se recomienda ejecutar el procedimiento de instalación por screen Instalar screen

[[email protected] ~]# yum install -y screen

Generar un alias de conexión screen

[[email protected] ~]# screen -S jaime 

Listar conexión screen, identificar el id ejemplo: 3081

[[email protected] ~]# screen -ls
There is a screen on:
        3081.jaime      (Attached)
1 Socket in /var/run/screen/S-root.

En caso de des-conexión abrir otro terminal y ejecutar el comando indicado para restablecer la conexión, recordar poner el id que se genere en su terminal

[[email protected] ~]# screen -r 3081

Instalacion offline

Validar que el cliente tenga el repositorio local para Red Hat Enteprise Linux 7.9

[[email protected] ~]# cat /etc/yum.repos.d/rhel.repo
[rhel]
name=rhel
enabled=1
baseurl=ftp://classroom.opennova.pe/rhel7
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[selinux]
name=selinux
enabled=1
baseurl=ftp://classroom.opennova.pe/selinux
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[[email protected] ~]# yum repolist

Es buena idea indicar el el archivo /etc/hosts **<IP> <FQDN Satellite> <Short name Satellite>** NOTA: Utilizar las ips y nombres dns asignados

192.168.0.151 server01.opennova.pe server01

Instalar paquetes necesarios para su administracion

[[email protected] ~]# yum install sos wget git net-tools vim mlocate chrony screen bash-completion selinux-policy
[[email protected] ~]# systemctl start chronyd
[[email protected] ~]# systemctl enable chronyd
[[email protected] ~]# firewall-cmd \
--add-port="80/tcp" --add-port="443/tcp" \
--add-port="5647/tcp" --add-port="8000/tcp" \
--add-port="8140/tcp" --add-port="9090/tcp" \
--add-port="53/udp" --add-port="53/tcp" \
--add-port="67/udp" --add-port="69/udp" \
--add-port="5000/tcp"
[[email protected] ~]# firewall-cmd --runtime-to-permanent
[[email protected] ~]# firewall-cmd --list-all
[[email protected] ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[[email protected] ~]# wget ftp://classroom.opennova.pe/sat69.iso
[[email protected] ~]# mkdir /mnt/sat69
[[email protected] ~]# mount /root/sat69.iso /mnt/sat69
[[email protected] ~]# cd /mnt/sat69; ./install_packages
[[email protected] ~]# satellite-installer --help
[[email protected] ~]# satellite-installer --scenario satellite \
--foreman-initial-admin-username admin \
--foreman-initial-admin-password redhat

Ingresar a la url https://satellite.opennova.pe usuario: admin password: redhat

Una vez indicada las credenciales podremos logearnos y accesar al dashboard de satellite

Instalar software adicional posterior a la instalacion

[[email protected] ~]# foreman-maintain packages install bind-utils

NOTA: Foreman bloquea la instalación post-instalación para evitar que se instalen paquetes que hagan conflicto con satellite, pero si se necesita instalar alguna herramienta para la administración y/o resolución de problemas este lo hará con el comando indicado. Tomar en cuenta que cada instalación hará que satellite valide su integridad por lo que posterior a la instalación el reiniciara los servicios y verificara sus componentes.

Extras Hammer Authentication Session

[[email protected] ~]# vim /root/.hammer/cli.modules.d/foreman.yml

Agregar el parámetro :use_sessions: true como se muestra en la siguiente imagen

[[email protected] ~]# cat /root/.hammer/cli.modules.d/foreman.yml
:foreman:
  :use_sessions: true
  # Credentials. You'll be asked for the interactively if you leave them blank here
  :username: 'admin'
  :password: 'redhat'

  # Check API documentation cache status on each request
  :refresh_cache: false

  # API request timeout in seconds, set -1 for infinity
  :request_timeout: 120
[[email protected] ~]# hammer auth login basic
[Foreman] Username: admin
[Foreman] Password for admin:
Successfully logged in as 'admin'.
[[email protected] ~]# hammer auth status
Session exists, currently logged in as 'admin'.
[[email protected] ~]# hammer organization list
---|----------------------|----------------------|-------------|---------------------
ID | TITLE                | NAME                 | DESCRIPTION | LABEL
---|----------------------|----------------------|-------------|---------------------
1  | Default Organization | Default Organization |             | Default_Organization
3  | Opennova             | Opennova             |             | ON
---|----------------------|----------------------|-------------|---------------------
[[email protected] ~]# hammer settings list | grep ^idle_timeout
idle_timeout                                           | Idle timeout                                                | 60                                                                               | Log out idle users after a certain number of minutes

Cambiar el tiempo de sesión de 60 minutos a 30 minutos

[[email protected] ~]# hammer settings set --name idle_timeout --value 30
Setting [idle_timeout] updated to [30].
[[email protected] ~]# hammer settings list | grep ^idle_timeout
idle_timeout                                           | Idle timeout                                                | 30                                                                               | Log out idle users after a certain number of minutes

Revisar el estado de los servicios principales o core de Satellite

[[email protected] ~]# hammer ping
database:
    Status:          ok
    Server Response: Duration: 0ms
candlepin:
    Status:          ok
    Server Response: Duration: 16ms
candlepin_auth:
    Status:          ok
    Server Response: Duration: 14ms
pulp:
    Status:          ok
    Server Response: Duration: 51ms
pulp_auth:
    Status:          ok
    Server Response: Duration: 19ms
foreman_tasks:
    Status:          ok
    Server Response: Duration: 4ms

Gestionar los servicios de red hat satellite

Listar servicios Red Hat Satellite

[[email protected] ~]# satellite-maintain service list

Listar estado Red Hat Satellite

[[email protected] ~]# satellite-maintain service status

Parar servicios Red Hat Satellite

[[email protected] ~]# satellite-maintain service stop

Reiniciar servicios Red Hat Satellite

[[email protected] ~]# satellite-maintain service restart

Hacer una revision de salud de Red Hat Satellite

[[email protected] ~]# satellite-maintain health check

Configurar mensaje personalizado para pagina de Login

Resetear el password del Administrador Generar una contraseña aleatoria

[[email protected] ~]# foreman-rake permissions:reset
Reset to user: admin, password: zaJxRftxb7Gbvca

Ingresar con el password y cambiar por uno nuevo

Asignar una contraseña nueva

[[email protected] ~]# foreman-rake permissions:reset password=redhat123

Laboratorio: Instalando Red Hat Satellite

1. Instalar Red Hat Satellite utilizando el procedimiento INSTALACIÓN OFFLINE - Utilizar el procedimiento indicado en la explicación. - Una vez finalizada la instalación logearse con el usuario: admin password: redhat - Post-instalación instalar el paquete bind-utils 2. Configurar el cliente hammer - Configurar hammer para que utilice sesiones :use_sessions: - Logearse al satellite por la herramienta hammer utilizando hammer auth login basic - Setear el timeout de sesión a 30 minutos - Validar por hammer los servicios principales - Utilizar satellite-maintain service para listar, ver el estado y reiniciar los servicios de satellite. - Configurar un mensaje de inicio de sesión que diga la frase: "Red Hat Satellite Claro" - Cambiar la contraseña del usuario admin por los 2 métodos: Con el uso de clave autogeneradas luego cambiarlo por la GUI y luego cambiarla indicando el password exacto que debe tener.