Dia 2 "Red Hat Satellite Foundation Implementation" - jalvearg/Workshop-satellite GitHub Wiki

Introducción a Red Hat Satellite

Introducción a Red Hat Satellite.

¿Que es Red Hat Satellite?

Red Hat Satellite es una solución de administración de sistemas que hace que la infraestructura de Red Hat sea más fácil de implementar, escalar, administrar y mantener en entornos físicos, virtuales y en la nube. Esta herramienta de administración ayuda a los usuarios a aprovisionar, configurar y actualizar sistemas para que sigan funcionando de manera eficiente, con seguridad y en cumplimiento con varios estándares. Al automatizar la mayoría de las tareas de mantenimiento del sistema, Red Hat Satellite ayuda a las organizaciones a aumentar la eficiencia, reducir los costos operativos y permitir que TI responda mejor a las necesidades comerciales estratégicas.

¿Que es Red Hat Satellite Capsule Server?

Red Hat Satellite Capsule Server refleja el contenido de Red Hat Satellite Server para facilitar la federación de contenido en varias ubicaciones geográficas. Los sistemas host pueden extraer contenido del Capsule Server y no del Satellite Server central. Capsule Server también proporciona servicios localizados como Puppet Master, DHCP, DNS o TFTP. Los servidores cápsula lo ayudan a escalar su entorno de satélite a medida que aumenta el número de sus sistemas administrados

Los servidores cápsula reducen la carga en el servidor central, aumentan la redundancia y reducen el uso de ancho de banda

Características y beneficios de Red Hat Satellite


Red Hat Satellite automatiza muchas tareas relacionadas con la administración del sistema y se integra fácilmente en los marcos de flujo de trabajo existentes. La consola centralizada ofrece a los administradores una ubicación única para acceder a los informes y para aprovisionar, configurar y actualizar sistemas.

Gestión de contenido

Red Hat Satellite ayuda a garantizar la aplicación sistemática de contenido, incluidos los parches, en los sistemas implementados, en infraestructuras físicas, virtuales o en la nube, en todas las etapas. Este enfoque promueve una mayor consistencia y disponibilidad del sistema y libera a TI para responder más rápidamente a las necesidades y vulnerabilidades del negocio.

Característica Beneficio
Content View Las vistas de contenido son colecciones de RPM, módulos Puppet, contenido de contenedor o contenido de OSTree refinado con filtros y reglas. Se publican y promueven a lo largo de los entornos de ciclo de vida, lo que permite la gestión del sistema de un extremo a otro.
Integración de Red Hat Content Delivery Network (CDN) Permite a los usuarios controlar la sincronización del contenido de Red Hat directamente desde la interfaz de usuario.
Gestión life-cycle Permite la distribución, aprovisionamiento, configuración y entrega de contenido a través de Red Hat Satellite Capsule Server.
Sincronización de contenido optimizada Permite a los usuarios crear sistemas casi inmediatamente después de la instalación mientras el contenido se descarga en segundo plano.

Gestión de actualizaciones

Garantice un entorno operativo estándar (SOE) obteniendo actualizaciones sobre parches de seguridad, actualizaciones y mejoras. Además, mejore rápidamente la seguridad del sistema al parchear varios sistemas a la vez.

Característica Beneficio
Capacidad para definir y gestionar SOE Garantice SOE obteniendo actualizaciones sobre parches de seguridad, actualizaciones y mejoras.
Parche automatizado Mejore rápidamente la seguridad del sistema parcheando cientos o miles de sistemas a la vez.
Gestión del ciclo de vida Permite la distribución, aprovisionamiento, configuración y entrega de contenido a través de Red Hat Satellite Capsule Server.
Implementación y seguimiento de software de Red Hat y software de terceros Implemente toda la infraestructura de Red Hat, así como el software de terceros, extrayendo todos esos bits de software en Satellite. Una vez que Satellite tiene ese contenido, también realiza un seguimiento de él, lo que mejora la seguridad y garantiza un mejor seguimiento de lo que se implementa en cada sistema.

Gestión de Aprovisionamiento

Los administradores pueden aprovisionar en infraestructura virtualizada, bare metal y en entornos de nube pública o privada, todo desde una consola centralizada mediante un proceso simple

Característica Beneficio
Aprovisionamiento en bare metal Aprovisione y actualice rápidamente toda su infraestructura básica.
Aprovisionamiento en Red Hat Virtualization, Red Hat OpenStack® Platform, VMware o varios proveedores de nube Cree y administre fácilmente instancias en infraestructura virtualizada o en entornos de nube pública y privada.
Aprovisionamiento mediante plantillas Cree escenarios complejos de Kickstart y Preboot Execution Environment (PXE) con poderosas variables y fragmentos.
System discovery Descubra y busque en hosts no aprovisionados para una implementación rápida, incluso en entornos donde el Protocolo de configuración dinámica de host (DHCP) y PXE no están disponibles.

Gestión de Configuración

Analice y corrija automáticamente la desviación y el control de la configuración, y aplique el estado final del host deseado, todo desde la interfaz de usuario de Red Hat Satellite. Esta interfaz le permite configurar de manera eficiente los sistemas Red Hat Enterprise Linux® para una mayor agilidad.

Característica Beneficio
Ejecución remota Automatiza los flujos de trabajo y permite a los usuarios realizar múltiples acciones contra grupos de sistemas, incluido el reinicio de un sistema después de la instalación de un parche y la realización de actualizaciones continuas en cientos de sistemas.
Integración de Red Hat Insights Utiliza análisis avanzados para ayudar a detectar riesgos, permite la creación de un plan Insights para remediar los riesgos y ayuda a ejecutar los Playbooks de Ansible® a través de la misma interfaz de satélite.
Integración de Red Hat Ansible Automation Platform Permite la ejecución remota, la gestión del estado deseado y la automatización de la gestión de la configuración.

Gestión de suscripciones

Genere informes y mapee fácilmente sus productos Red Hat a sistemas registrados para una visibilidad de consumo de suscripción de un extremo a otro.

Característica Beneficio
Gestión de suscripciones Importe y administre fácilmente la distribución de suscripciones de software de Red Hat.
Motor de informes integrado Informe y mapee los productos comprados a los sistemas registrados dentro de Red Hat Satellite para una visibilidad de uso de suscripción de un extremo a otro.

Identificar componentes de Red Hat Satellite.

Red Hat Satellite 6 consta de varios proyectos de código abierto que están integrados, verificados, entregados y respaldados como Satellite 6.
Consta de los siguientes proyectos de código abierto:

Foreman

Foreman es una aplicación de código abierto que se utiliza para el aprovisionamiento y la gestión del ciclo de vida de sistemas físicos y virtuales. Foreman configura automáticamente estos sistemas utilizando varios métodos, incluidos los módulos kickstart y Puppet. Foreman también proporciona datos históricos para informes, auditorías y resolución de problemas.

Katello

Katello es un complemento de Foreman para la gestión de suscripciones y repositorios. Proporciona un medio para suscribirse a los repositorios de Red Hat y descargar contenido. Puede crear y administrar diferentes versiones de este contenido y aplicarlas a sistemas específicos dentro de las etapas definidas por el usuario del ciclo de vida de la aplicación.

Candlepin

Candlepin es un servicio dentro de Katello que se encarga de la gestión de suscripciones.

Pulp

Pulp es un servicio dentro de Katello que se encarga de la gestión de contenido y repositorios. Pulp asegura un espacio de almacenamiento eficiente al no duplicar los paquetes RPM incluso cuando lo solicitan Content Views en diferentes organizaciones.

Hammer

Hammer es una herramienta CLI que proporciona equivalentes de línea de comandos y shell de la mayoría de las funciones de la interfaz de usuario web.

REST API Red Hat Satellite 6 incluye un servicio de API RESTful que permite a los administradores y desarrolladores del sistema escribir scripts personalizados y aplicaciones de terceros que interactúan con Red Hat Satellite.

Puppet

Red Hat Satellite 6 incluye paquetes Puppet compatibles. El programa de instalación permite a los usuarios instalar y configurar Puppet Masters como parte de Red Hat Satellite Capsule Servers. Un módulo Puppet, que se ejecuta en un Puppet Master en Red Hat Satellite Server o Satellite Capsule Server, también es compatible con Red Hat.

Arquitecturas de cliente compatibles

Soporte de gestión de contenido

Plataforma Arquitecturas
Red Hat Enterprise Linux 8 x86_64, ppc_64, s390x
Red Hat Enterprise Linux 7 x86_64, ppc64 (BE), ppc64le, aarch64, s390x
Red Hat Enterprise Linux 6 x86_64, i386, s390x, ppc64 (BE)
Red Hat Enterprise Linux 5 x86_64, i386, s390x

Soporte de aprovisionamiento de host

Plataforma Arquitecturas
Red Hat Enterprise Linux 8 x86_64
Red Hat Enterprise Linux 7 x86_64
Red Hat Enterprise Linux 6 x86_64, i386
Red Hat Enterprise Linux 5 x86_64, i386

Gestión de la configuración - Soporte Puppet 5

Plataforma Arquitecturas
Red Hat Enterprise Linux 8 x86_64, ppc_64, s390x
Red Hat Enterprise Linux 7 x86_64, aarch64, ppc64le
Red Hat Enterprise Linux 6 x86_64, i386
Red Hat Enterprise Linux 5 x86_64, i386

Arquitectura del sistema Red Hat Satellite 6

Entendimiento y visualización del proceso de instalación

Meta:
- Entender el proceso de instalación de la solución Red Hat Satellite así como el diseño sugerido para una correcta implementación.

Objetivos:
- Instalación de Red Hat Satellite (Paso a Paso)

Secciones:
- Validación de pre-requisitos para la instalación de Red Hat Satellite.(Teórico)
- Instalación de Red Hat Satellite. (Procedimiento)

Laboratorios:
- Instalación de Red Hat Satellite

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

Los siguientes requisitos se aplican al sistema operativo base:

  • arquitectura x86_64
  • La última versión de Red Hat Enterprise Linux 7 Server
  • CPU de 4 núcleos a 2,0 GHz como mínimo
  • Se requiere un mínimo de 20 GB de RAM para que el servidor satélite funcione. Además, también se recomienda un mínimo de 4 GB de RAM para SWAP. Es posible que el satélite que se ejecuta con menos RAM que el valor mínimo no funcione correctamente
  • Un nombre de host único, que puede contener letras minúsculas, números, puntos (.) Y guiones (-)
  • Una suscripción actual a Red Hat Satellite
  • Acceso de usuario administrativo (root)
  • Una máscara de sistema de 0022 (umask 0022)
  • Resolución DNS completa registro A y PTR usando un nombre de dominio completamente calificado

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

Requerimientos de almacenamiento

Directorio Tamaño en instalación Tamaño en ejecución
/var/log 10 MB 10 GB
/var/opt/rh/rh-postgresql12/lib/pgsql 100 MB 20 GB
/usr 3 GB Not Applicable
/opt 3 GB Not Applicable
/opt/puppetlabs 500 MB Not Applicable
/var/lib/pulp 1 MB 300 GB
/var/lib/qpidd/ 25 MB Not Applicable

Directrices para sistema de archivos

  • Utilice el sistema de archivos XFS para Red Hat Satellite 6 porque no tiene las limitaciones de inodo que tiene ext4. Debido a que Satellite Server usa muchos enlaces simbólicos, es probable que su sistema se quede sin inodos si usa ext4 con su configuracion por defecto.
  • No use NFS con MongoDB porque MongoDB no usa I/O convencional para acceder a archivos de datos y ocurren problemas de rendimiento cuando tanto los archivos de datos como los archivos de diario están alojados en NFS. Si es necesario para usar NFS, monte el volumen con las siguientes opciones en el archivo /etc/fstab: bg, nolock y noatime.
  • No utilice NFS para el almacenamiento de datos de Pulp. El uso de NFS para Pulp tiene un impacto negativo en el rendimiento de la sincronización de contenido.
  • Do not use the GFS2 file system as the input-output latency is too high.

Almacenamiento de archivos de log

  • Los archivos de log son escritos en /var/log/messages/, /var/log/httpd/, and /var/lib/foreman-proxy/openscap/content/

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. (Paso a Paso)

Verificando conectividad y resolución DNS

[root@satellite ~]# ping -c1 localhost
[root@satellite ~]# ping -c1 $(hostname -f)
[root@satellite ~]# ping -c1 $(hostname -s)
[root@satellite ~]# nslookup satellite.local
Server:         192.168.0.251
Address:        192.168.0.251#53

Name:   satellite.local
Address: 192.168.0.251
[root@satellite ~]# nslookup 192.168.0.251
140.0.168.192.in-addr.arpa      name = satellite.local

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

192.168.0.251 satellite.local satellite

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

[root@satellite ~]# 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"
[root@satellite ~]# firewall-cmd --runtime-to-permanent
[root@satellite ~]# firewall-cmd --list-all


Instalacion Online Habilitación de los siguientes repositorios:

[root@satellite ~]# subscription-manager repos --enable=rhel-7-server-rpms \
--enable=rhel-7-server-satellite-6.10-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

[root@satellite ~]# yum clean all

Verificar repositorios configurados

[root@satellite ~]# yum repolist enabled

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

[root@satellite ~]# 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

[root@satellite ~]# yum update
[root@satellite ~]# reboot

Instalar paquetes de instalación para Red Hat Satellite

[root@satellite ~]# yum install satellite

Instalar Red Hat Satellite

[root@satellite ~]# 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

[root@satellite ~]# yum install -y screen

Generar un alias de conexión screen

[root@satellite ~]# screen -S jaime 

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

[root@satellite ~]# 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

[root@satellite ~]# screen -r 3081

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

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

Instalar software adicional posterior a la instalacion

[root@satellite ~]# 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

[root@satellite ~]# vim /root/.hammer/cli.modules.d/foreman.yml


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

[root@satellite ~]# 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
[root@satellite ~]# hammer auth login basic
[Foreman] Username: admin
[Foreman] Password for admin:
Successfully logged in as 'admin'.
[root@satellite ~]# hammer auth status
Session exists, currently logged in as 'admin'.
[root@satellite ~]# hammer organization list
---|----------------------|----------------------|-------------|---------------------
ID | TITLE                | NAME                 | DESCRIPTION | LABEL
---|----------------------|----------------------|-------------|---------------------
1  | RedHat               | RedHat               |             | 
---|----------------------|----------------------|-------------|---------------------
[root@satellite ~]# 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

[root@satellite ~]# hammer settings set --name idle_timeout --value 30
Setting [idle_timeout] updated to [30].
[root@satellite ~]# 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

[root@satellite ~]# 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

[root@satellite ~]# satellite-maintain service list

Listar estado Red Hat Satellite

[root@satellite ~]# satellite-maintain service status

Parar servicios Red Hat Satellite

[root@satellite ~]# satellite-maintain service stop

Reiniciar servicios Red Hat Satellite

[root@satellite ~]# satellite-maintain service restart

Hacer una revision de salud de Red Hat Satellite

[root@satellite ~]# satellite-maintain health check

Configurar mensaje personalizado para pagina de Login

Resetear el password del Administrador Generar una contraseña aleatoria

[root@satellite ~]# foreman-rake permissions:reset
Reset to user: admin, password: zaJxRftxb7Gbvca

Ingresar con el password y cambiar por uno nuevo

Asignar una contraseña nueva

[root@satellite ~]# foreman-rake permissions:reset password=redhat123
⚠️ **GitHub.com Fallback** ⚠️