Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 2. Trabajar con imágenes de contenedores

Las imágenes base de Red Hat Enterprise Linux (RHEL) pueden utilizarse como base para las imágenes de contenedor. Para RHEL 8, todas las imágenes base de Red Hat están disponibles como nuevas imágenes base universales (UBI), lo que significa que puede obtenerlas y redistribuirlas libremente. Estas incluyen versiones de RHEL standard, minimal, init, y Red Hat Software Collections que ahora están disponibles libremente y son redistribuibles. Las imágenes base de RHEL son:

  • Supported: Soportado por Red Hat para su uso con aplicaciones en contenedores. Contienen los mismos paquetes de software seguros, probados y certificados que se encuentran en Red Hat Enterprise Linux.
  • Cataloged: Se encuentra en el Catálogo de Contenedores de Red Hat, con descripciones, detalles técnicos y un índice de salud para cada imagen.
  • Updated: Se ofrece con un calendario de actualizaciones bien definido, para que sepa que está recibiendo el software más reciente (véase Red Hat Container Image Updates).
  • Tracked: Seguimiento de las erratas para ayudar a entender los cambios que se producen en cada actualización.
  • Reusable: Las imágenes base deben descargarse y almacenarse en caché en su entorno de producción una vez. Cada imagen base puede ser reutilizada por todos los contenedores que la incluyan como base.

Los UBIs para RHEL 8 proporcionan la misma calidad de software RHEL para la construcción de imágenes de contenedores que sus predecesores no UBIs (rhel6, rhel7, rhel-init, y rhel-minimal imágenes de base), pero ofrecen más libertad en cuanto a su uso y distribución.

Para RHEL 8, están disponibles las imágenes base estándar, mínima e init. Red Hat también proporciona un conjunto de imágenes de tiempo de ejecución de lenguajes, basadas en Application Streams, sobre las que se puede construir cuando se crean contenedores para aplicaciones que requieren tiempos de ejecución específicos. Las imágenes de tiempo de ejecución incluyen python, php, ruby, nodejs y otros.

También hay un conjunto de imágenes de RHEL 7 que se pueden ejecutar en sistemas RHEL 8. Para RHEL 7, hay imágenes base UBI (redistribuibles) y no UBI (requieren acceso de suscripción y no son redistribuibles). Estas imágenes incluyen tres imágenes base normales (rhel7, rhel-init, y rhel-minimal) y tres imágenes UBI (ubi7, ubi7-init, y ubi7-minimal).

Aunque Red Hat no ofrece herramientas para ejecutar contenedores en sistemas RHEL 6, sí ofrece imágenes de contenedores RHEL 6 que puede utilizar. Hay imágenes base estándar (rhel6) e init (rhel6-init) disponibles para RHEL 6, pero no hay una imagen mínima de RHEL 6. Asimismo, no hay imágenes RHEL 6 UBI.

Aunque las imágenes base heredadas de RHEL 7 seguirán siendo soportadas, se recomiendan las imágenes UBI de cara al futuro. Por esta razón, los ejemplos en el resto de este capítulo se realizan con imágenes UBI de RHEL 8. Para una lista de imágenes UBI de Red Hat disponibles, e información asociada sobre los repositorios UBI y el código fuente, vea el artículo Imágenes base universales (UBI): Imágenes , repositorios y paquetes.

2.1. Diferencias entre las imágenes RHEL y las imágenes UBI

Las imágenes UBI fueron creadas para que usted pueda construir sus imágenes de contenedor sobre una base de software oficial de Red Hat que pueda ser compartida e implementada libremente. Desde una perspectiva técnica, son casi idénticas a las imágenes heredadas de Red Hat Enterprise Linux, lo que significa que tienen una gran seguridad, rendimiento y ciclos de vida, pero se publican bajo un acuerdo de licencia de usuario final diferente. Estos son algunos atributos de las imágenes Red Hat UBI:

  • Built from a subset of RHEL content: Las imágenes de Red Hat Universal Base se construyen a partir de un subconjunto del contenido normal de Red Hat Enterprise Linux. Todo el contenido utilizado para construir las imágenes UBI seleccionadas se libera en un conjunto de repositorios yum disponibles públicamente. Esto le permite instalar paquetes adicionales, así como actualizar cualquier paquete en las imágenes base UBI.
  • Redistributable: La intención de las imágenes UBI es permitir a los clientes de Red Hat, a los socios, a los ISVs y a otros estandarizar las imágenes UBI para que puedan construir sus imágenes de contenedor sobre una base de software oficial de Red Hat que pueda ser compartido e implementado libremente. Desde una perspectiva técnica, son casi idénticas a las imágenes de Red Hat Enterprise Linux heredadas, lo que significa que tienen una gran seguridad, rendimiento y ciclos de vida, pero se publican bajo un Acuerdo de Licencia de Usuario Final diferente.
  • Base and runtime images: Además de los tres tipos de imágenes base, también están disponibles versiones UBI de varias imágenes de tiempo de ejecución. Estas imágenes de tiempo de ejecución proporcionan una base para las aplicaciones que pueden beneficiarse de los tiempos de ejecución estándar soportados, como python, php, nodejs y ruby.
  • Enabled yum repositories: Los siguientes repositorios yum están habilitados en cada imagen de RHEL 8 UBI:

    • El repositorio ubi-8-baseos contiene el subconjunto redistribuible de paquetes RHEL que puede incluir en su contenedor.
    • El repositorio ubi-8-appstream contiene paquetes de flujos de aplicaciones que puede añadir a una imagen UBI para ayudarle a estandarizar los entornos que utiliza con aplicaciones que requieren tiempos de ejecución particulares.
  • Licensing: Usted es libre de utilizar y redistribuir las imágenes UBI, siempre que se adhiera al Acuerdo de Licencia de Usuario Final de Red Hat Universal Base Image.
  • Adding UBI RPMs: Puede añadir paquetes RPM a las imágenes UBI desde los repositorios UBI preconfigurados. Si se encuentra en un entorno desconectado, debe permitir la red de entrega de contenidos UBI(https://cdn-ubi.redhat.com) para utilizar esta función. Consulte la solución Connect to https://cdn-ubi.redhat.com para obtener más detalles.