Dia 2 "Red Hat Satellite Foundation Implementation" - jalvearg/Workshop-satellite GitHub Wiki
¿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
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. |
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 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 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 es un servicio dentro de Katello que se encarga de la gestión de suscripciones.
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 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.
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.
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 |
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
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. |
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