Red Hat Universal Base Image (UBI) ayuda a construir y vivir

Los contenedores son una versión liviana del espacio de usuario del sistema operativo Linux; de hecho, este es un mínimo "básico". Sin embargo, sigue siendo un sistema operativo completo y, por lo tanto, la calidad de este contenedor en sí es tan importante como un sistema operativo completo. Es por eso que hemos estado ofreciendo imágenes de Red Hat Enterprise Linux (RHEL) durante mucho tiempo para que los usuarios puedan tener contenedores de nivel empresarial certificados, modernos y actualizados. Ejecución de imágenes de contenedor de RHEL en hosts de contenedor RHEL proporciona compatibilidad y portabilidad entre entornos, sin mencionar que ya son herramientas familiares. Hubo, sin embargo, un problema. No puede simplemente transferir dicha imagen a otra persona, incluso si se trata de un cliente o un socio que utiliza Red Hat Enterprise Linux.



Pero ahora todo ha cambiado

Con el lanzamiento de Red Hat Universal Base Image (UBI), ahora puede obtener la fiabilidad, seguridad y alto rendimiento familiares de las imágenes oficiales de contenedores de Red Hat, ya sea que tenga una suscripción o no. Esto significa que puede crear una aplicación en contenedores en UBI, ponerla en el registro de contenedores que elija y compartirla con el mundo. Red Hat Universal Base Image le permite crear, compartir y colaborar en una aplicación en contenedores en cualquier entorno, donde quiera.



Gracias a UBI, es posible publicar y ejecutar sus aplicaciones en prácticamente cualquier infraestructura. Pero si los ejecuta en plataformas Red Hat como Red Hat OpenShift y Red Hat Enterprise Linux, puede obtener beneficios adicionales (¡más oro!). Y hasta que pasemos a una descripción más detallada de UBI, permítanme proporcionar una breve pregunta frecuente sobre por qué se necesita la suscripción a RHEL. Entonces, ¿qué sucede cuando ejecuta la imagen UBI en la plataforma RHEL / OpenShift?



Ahora que estamos contentos con el marketing, hablemos más sobre UBI

Razones para usar UBI


Lo que necesita sentir para comprender que UBI le será útil:

  • Mis desarrolladores quieren usar imágenes de contenedor que se puedan distribuir y ejecutar en cualquier entorno.
  • Mi equipo de operaciones quiere una imagen básica compatible con un ciclo de vida de nivel empresarial
  • Mis arquitectos quieren ofrecer Kubernetes Operator a mis clientes / usuarios finales
  • Mis clientes no desean tener soporte de clase empresarial para todo su entorno Red Hat.
  • Mi comunidad quiere compartir, ejecutar, publicar, aplicaciones alojadas literalmente en todas partes.

Si al menos uno de los escenarios le conviene, entonces definitivamente debe prestar atención a UBI.

Más que solo un aspecto básico


UBI es menos que un sistema operativo completo, pero UBI tiene tres cosas importantes:

  1. Un conjunto de tres imágenes básicas (ubi, ubi-minimal, ubi-init)
  2. Imágenes con tiempos de ejecución listos para usar de varios lenguajes de programación (nodejs, ruby, python, php, perl, etc.)
  3. Un conjunto de paquetes relacionados en el repositorio de YUM con las dependencias más comunes.




UBI fue creado como base para aplicaciones nativas y web en la nube desarrolladas y entregadas en contenedores. Todo el contenido en UBI es un subconjunto de RHEL. Todos los paquetes en UBI pasan por canales RHEL y son compatibles como RHEL cuando se lanzan en plataformas Red Hat compatibles como OpenShift y RHEL.



Para proporcionar soporte de calidad para contenedores, se requieren muchos esfuerzos de ingenieros, especialistas en seguridad y otros recursos adicionales. Requiere no solo probar imágenes básicas, sino también analizar su comportamiento en cualquier host compatible.

Para facilitar las tareas de actualización, Red Hat está desarrollando activamente el desarrollo y el soporte, para que UBI 7 pueda ejecutarse, por ejemplo, en hosts RHEL 8, y UBI 8 puede ejecutarse en hosts RHEL 7. Esto proporciona a los usuarios la flexibilidad, confianza y tranquilidad necesarias en el proceso. , por ejemplo, actualizaciones de plataforma en imágenes de contenedor o hosts usados. Ahora todo esto se puede dividir en dos proyectos independientes.

Tres imágenes básicas




Mínimo: diseñado para aplicaciones con todas las dependencias (Python, Node.js, .NET, etc.)

  • Conjunto mínimo de contenido preinstalado
  • Sin ejecutables suid
  • Paquete mínimo de herramientas del administrador de paquetes (instalar, actualizar y desinstalar)

Plataforma: para cualquier aplicación que se ejecute en RHEL

  • Pila criptográfica unificada de OpenSSL
  • YUM full stack
  • Utilidades básicas útiles del sistema operativo incluidas (tar, gzip, vi, etc.)

Multiservicio: simplifica el lanzamiento de varios servicios en un contenedor

  • Configurado para ejecutar systemd al inicio
  • La capacidad de habilitar servicios en la etapa de construcción

Imágenes de contenedores con tiempos de ejecución listos de lenguajes de programación


Además de las imágenes básicas que le permiten instalar soporte para lenguajes de programación, los UBI incluyen imágenes preensambladas con tiempos de ejecución listos para varios lenguajes de programación. Muchos desarrolladores pueden simplemente tomar una imagen y comenzar a trabajar en la aplicación que están desarrollando.

Con el lanzamiento de UBI, Red Hat ofrece dos conjuntos de imágenes, basadas en RHEL 7 y basadas en RHEL 8. Se basaron en Red Hat Software Collections (RHEL 7) y Application Streams (RHEL 8), respectivamente. Estos tiempos de ejecución se mantienen actualizados y reciben de manera estándar hasta cuatro actualizaciones por año, por lo que siempre existe la oportunidad de trabajar con las versiones más recientes y más estables.

Aquí hay una lista de imágenes de contenedores UBI 7:



Aquí hay una lista de imágenes de contenedor para UBI 8:



Paquetes Asociados


Usar imágenes listas para usar es realmente muy conveniente. Red Hat mantiene su relevancia y las actualiza con el lanzamiento de la nueva versión de RHEL, así como las actualizaciones críticas de CVE de acuerdo con la política de actualización de la política de imagen de RHEL para que pueda tomar una de estas imágenes e inmediatamente comenzar a trabajar en la aplicación.



Pero a veces, cuando crea una aplicación, es posible que de repente necesite un paquete adicional. O, a veces, para que la aplicación funcione, debe actualizar un paquete en particular. Es por eso que las imágenes de UBI vienen con un conjunto de RPM que están disponibles a través de yum y que se distribuyen a través de una red de entrega de contenido rápida y altamente accesible (¡empaca!). Cuando ejecuta una actualización yum en su CI / CD en ese momento crítico de lanzamiento, puede estar seguro de que funcionará.

RHEL es la base


Nunca nos cansamos de repetir que RHEL es la base de todo. ¿Sabes qué equipos de Red Hat están trabajando para crear imágenes básicas? Por ejemplo, estos:

  • Un equipo de ingeniería responsable de garantizar que las bibliotecas centrales como glibc y OpenSSL, así como los tiempos de ejecución de lenguaje como Python y Ruby, brinden un rendimiento constante y trabajen de manera confiable con cargas de trabajo cuando se usan en contenedores.
  • El grupo de seguridad del producto se dedica a la corrección oportuna de errores y problemas de seguridad en bibliotecas y entornos de idiomas, y su rendimiento se evalúa utilizando la calificación especial del índice de salud del contenedor .
  • El equipo de gerentes e ingenieros de productos está agregando nuevas características y brindando un ciclo de vida de producto largo, lo que da confianza en la inversión que puede usarse como base.

Red Hat Enterprise Linux actúa como un gran host e imagen para contenedores, pero para muchos desarrolladores la capacidad de trabajar con el sistema en una variedad de formatos es importante, algunos de los cuales pueden ir más allá de los escenarios admitidos para usar el sistema Linux. Y aquí las imágenes universales de UBI vienen al rescate.

Supongamos que, en este momento, en esta etapa, solo está buscando una imagen básica para comenzar a trabajar en una aplicación simple en contenedor. ¿O está más cerca del futuro y está pasando de contenedores independientes que se ejecutan en el motor de contenedores a la historia nativa de la nube mediante la construcción y certificación de Operadores que se ejecutan en OpenShift. En cualquier caso, UBI proporcionará una base excelente para esto.



Los contenedores incluyen una versión ligera del espacio de usuario del sistema operativo en un nuevo formato de empaque. El lanzamiento de imágenes de UBI establece un nuevo estándar de la industria para el desarrollo en contenedores, con contenedores de clase empresarial disponibles para todos los usuarios, desarrolladores de software independientes y comunidades de código abierto. En particular, los desarrolladores de software pueden estandarizar sus productos utilizando una base única y probada para todas sus aplicaciones en contenedores, incluidos los operadores de Kubernetes . La certificación Red Hat Container y la certificación Red Hat OpenShift Operator Certification también están disponibles para empresas de desarrollo con sede en UBI, lo que a su vez permite la verificación continua de software que se ejecuta en plataformas Red Hat como OpenShift.



Cómo comenzar a trabajar con una imagen


En resumen, muy simple. Podman está disponible no solo en RHEL, sino también en Fedora, CentOS y varias otras distribuciones de Linux. Todo lo que necesita hacer es cargar la imagen desde uno de los siguientes repositorios, y listo.

Para UBI 8:

podman pull registry.access.redhat.com/ubi8/ubi podman pull registry.access.redhat.com/ubi8/ubi-minimal podman pull registry.access.redhat.com/ubi8/ubi-init 

Para UBI 7:

 podman pull registry.access.redhat.com/ubi7/ubi podman pull registry.access.redhat.com/ubi7/ubi-minimal podman pull registry.access.redhat.com/ubi7/ubi-init 

Bueno, y vea la guía completa de imágenes de Universal Base

Source: https://habr.com/ru/post/451090/


All Articles