Hace tres años, con el lanzamiento de Red Hat Enterprise Linux 8 (RHEL 8), distribuimos un conjunto nuevo de herramientas de contenedores con un concepto moderno llamado Application Streams. Gracias a ellas, los usuarios de RHEL pueden buscar, ejecutar, diseñar y compartir los contenedores. Para obtener más información sobre los motivos por los que trasladamos RHEL de Docker a Podman (y el proceso para lograrlo), consulte RHEL 8 enables containers with the tools of software craftsmanship.
En nuestra versión anterior, What's new in Red Hat Enterprise Linux 8.5 Container Tools?, incorporamos muchas de las funciones y las características esenciales necesarias para llegar a RHEL 9.
En la versión 9 de RHEL, seguimos ofreciendo las mismas herramientas de contenedores basadas en el administrador de pods (podman), Buildah, Skopeo, Udica, CRIU y otras herramientas de Linux. En ella mantenemos la filosofía de ofrecer las herramientas que consideramos idóneas para la tarea, lo cual facilita la actualización de la versión 8 a la 9 de RHEL para los usuarios de los contenedores. En este artículo, se profundiza en las tecnologías y los cambios más recientes de RHEL 9 para empaquetar las herramientas de contenedores.
-
Compatibilidad con NFS para el almacenamiento de los contenedores
-
crun se convierte en el tiempo de ejecución predeterminado de contenedores en RHEL 9.0
-
Control Group v2 (cgroup 2) pasa a ser la función predeterminada en RHEL 9 y Podman
Cambios entre las versiones RHEL 8.6 y RHEL 9.0
Primero, comencemos con información general sobre RHEL. RHEL 8.6 y RHEL 9.0 son lo que denominamos versiones sincronizadas. Se lanzaron casi al mismo tiempo y seguirán sincronizadas hasta que RHEL 8 llegue a la versión 8.10, y pase a la fase de soporte de mantenimiento, mientras que RHEL 9 seguirá en pie con funciones nuevas. Gracias a ello, los usuarios tienen aproximadamente dos años de actualizaciones de las funciones en ambas plataformas y cierto período para implementar la actualización. Su ciclo de vida está diseñado a propósito para facilitar este proceso, así como el de las herramientas de contenedores.
Observe en el siguiente gráfico que las versiones de RHEL 8 y 9 están sincronizadas:
-
RHEL 9 Alpha -> RHEL 8.4
-
RHEL 9 Beta -> RHEL 8.5
-
RHEL 9.0 GA -> RHEL 8.6
-
RHEL 9.1 -> RHEL 8.7
-
RHEL 9.2 -> RHEL 8.8
-
RHEL 9.3 -> RHEL 8.9
-
RHEL 9.4 -> RHEL 8.10
Esta sincronización entre las versiones simplifica las actualizaciones y abarca las versiones de Podman, Buildah y Skopeo. Exacto, coinciden las versiones ágiles y estables de estas herramientas. Por ejemplo, observe que la versión más reciente de Podman es la misma entre RHEL 8 y 9:
En RHEL 8
cat /etc/redhat-release Red Hat Enterprise Linux release 8.6 (Ootpa) [root@lance ~]# podman --version podman version 4.0.2
En RHEL 9
cat /etc/redhat-release Red Hat Enterprise Linux release 9.0 (Plow) podman --version podman version 4.0.2
La sincronización de los sistemas de software importantes, como Podman, entre las versiones principales de RHEL simplifica las actualizaciones, pero aún hay algunos cambios que debe tener presente. En RHEL 8.X, lanzamos dos flujos de aplicaciones: uno para que los desarrolladores accedan a las versiones más recientes de Podman, Buildah y Skopeo, y otro estable para que los equipos de operaciones cuenten con soporte del ciclo de vida de dos años.
Application Streams de RHEL 8
Hubo algunos desafíos en cuanto a la metodología utilizada en RHEL 8. En primer lugar, no notamos una adopción considerable del flujo estable y rápido, lo cual desestimó nuestra suposición inicial cuando lo lanzamos. Pensábamos que los usuarios querrían acceder a una API de contenedores estable (Podman) sin dejar de utilizar los bits más recientes y avanzados del sistema operativo (el kernel de Linux, systemd, etc.). Es a lo que siempre se ha aspirado con los sistemas operativos basados en los contenedores.
Sin embargo, la suposición resultó ser incorrecta. En cambio, los usuarios de RHEL principalmente buscaban acceder de forma conjunta al flujo estable de herramientas de contenedores y al complemento Extended Update Support (EUS) de dos años para RHEL. Resulta que quienes utilizan la plataforma quieren un sistema operativo completo con un ciclo de vida más extenso. Por ello, modificamos el lanzamiento de las herramientas de contenedores en RHEL 9.
Application Stream y EUS gradual de RHEL 9
En RHEL 9, también ofrecemos dos formas para utilizar las herramientas de contenedores: una focalizada en avanzar rápidamente y, la otra, en la estabilidad. Los desarrolladores y los usuarios que deseen acceder a las versiones más recientes y avanzadas de Podman, Buildah y Skopeo pueden utilizar un Application Stream que se lanza cada 12 semanas como máximo (al igual que RHEL 8). El diseño de este flujo permite que se mantenga sincronizado con el flujo rápido en RHEL 8 (hasta la versión 8.10, cuando detenga su desarrollo), lo cual facilita la actualización entre las versiones principales y la restauración a versiones anteriores.
Si los usuarios de RHEL 9 necesitan acceder a un flujo estable que cuente con soporte durante dos años mediante la incorporación de las correcciones de seguridad de las versiones nuevas a las anteriores, pueden obtenerlo a través del complemento Extended Update Support (EUS) de RHEL, a pesar de que se trate de una suscripción por separado. Deliberadamente, todas las versiones de las herramientas de contenedores en el EUS de RHEL 9 se mantienen sincronizadas con el flujo estable correspondiente en RHEL 8. Nuevamente, esto facilita la actualización de RHEL 8 a 9, lo cual permite conservar una versión uniforme de Podman y reduce las posibilidades de introducir regresiones.
Es importante tener en cuenta que RHEL 8 seguirá ofreciéndose exactamente como se diseñó. No se utilizará la metodología elegida para RHEL 9. Si sus desarrolladores, administradores o arquitectos planificaron la implementación de RHEL 8 según flujos estables, podrá seguir contando con ellos y no necesitará el EUS.
También debe tener en cuenta que, en RHEL 8.6, el módulo container-tools:2.0 quedó obsoleto y debe actualizarlo a una versión más reciente (3.0, 4.0, etc.) para seguir recibiendo los parches de seguridad. Para obtener más información, consulte la página RHEL Application Streams Life Cycle page.
Gestión centralizada de las asignaciones de identidad
Podman sin privilegios de superusuario es una tecnología fantástica. Mejora la seguridad de los contenedores al ejecutarlos sin privilegios de superusuario, de la misma manera que los procesos normales se ejecutan en un sistema. Esto implica que la carga de trabajo desde la cual se realizan los ataques debería quebrantar una capa adicional de seguridad, para lo cual primero tendría que atravesar los controles del contenedor y luego descubrir la manera de adquirir los privilegios de superusuario. Es ideal para grandes conjuntos de computadoras portátiles y de escritorio, en entornos de HPC e incluso para los desarrolladores en servidores compartidos.
Sin embargo, siempre ha sido complejo gestionar una gran cantidad de usuarios sin privilegios en numerosas estaciones de trabajo de RHEL, nodos de HPC o servidores compartidos, dado que un administrador debía gestionar los archivos /etc/subuid y /etc/sugid de forma manual en cada nodo.
Pero con RHEL 9 ya no sucede, dado que introdujimos una función en la gestión de identidades (IdM) que permite a los administradores encargarse fácilmente de los usuarios de podman sin privilegios de superusuario en los grupos de usuarios y los nodos de RHEL. Los usuarios pueden asignar subuids y subgids a un solo usuario o a todos en un servidor de directorio. Es muy conveniente. Para obtener más información, consulte Chapter 29. Managing subID ranges manually.
Compatibilidad con NFS para el almacenamiento de los contenedores
Como se mencionó, Podman sin privilegios de superusuario es una función excelente, y los administradores suelen tener una gran cantidad de usuarios en muchos nodos (estaciones de trabajo, HPC, servidores compartidos para los desarrolladores, etc.). En estos casos, los usuarios quieren tener los datos consigo. Por ejemplo, si utilizan el comando "podman pull" en un nodo, querrán tener esa imagen disponible en cualquier nodo del clúster. Una manera sencilla de hacerlo con los procesos normales es con NFS, pero históricamente no ha funcionado con Podman y los contenedores.
Gracias a esta función nueva, Podman ahora puede almacenar datos en cualquier servidor NFS que admita atributos extendidos (xattrs). Los usuarios que no tienen privilegios de superusuario pueden extraer determinada imagen una vez y usarla en cualquier lugar donde esté disponible su directorio principal. Es sumamente conveniente para las estaciones de trabajo, los nodos de HPC o incluso servidores de desarrollo compartidos donde se lleva a cabo la integración y distribución continuas (CI/CD). Para obtener más información, consulte este artículo preliminar: New features for running containers on NFS with rootless Podman
Stack avanzada de red para Podman 4.0
En el lanzamiento de RHEL 9 con Podman 4.X, se incluye una nueva stack de red para los usuarios. Ofrece funciones nuevas, como el soporte mejorado para IPv6 y los contenedores en múltiples redes y un rendimiento más óptimo.
En el siguiente artículo encontrará una excelente descripción general: Podman 4.0's new network stack: What you need to know.
Certificado portátil y firma de contenedores
En la versión RHEL 8.4 incluimos UBI Micro, una de las imágenes de contenedores más pequeñas y ágiles del sector (Introduction to Red Hat's UBI Micro).
Para RHEL 9, nos basamos en esta tecnología para crear una imagen de contenedor OpenSSL pequeña (12,5 MB) que se puede usar en casos prácticos criptográficos simples, como generar solicitudes de certificados SSL, verificarlos o incluso firmar archivos.
Esto permite que los desarrolladores lleven a cabo casos prácticos criptográficos confiables, ya sea en producción o en sus computadoras de escritorio o portátiles. Al igual que con todas las imágenes de base universales de Red Hat, sus desarrolladores y usted pueden usar y distribuir este certificado portátil nuevo y la firma de contenedores en cualquier lugar que lo necesiten.
Para obtener más información, consulte la lista en Red Hat Ecosystem Catalog
crun se convierte en el tiempo de ejecución predeterminado de contenedores en RHEL 9.0
En 2020, los colaboradores de Red Hat introdujeron crun, un tiempo de ejecución de contenedores ligero, con poco uso de memoria y compatible con la OCI. En la versión 9 de RHEL, lo convertimos en el tiempo de ejecución predeterminado para los contenedores. Tanto crun como runc serán compatibles con el ciclo de vida completo de RHEL 9.
Gracias al uso de crun de forma predeterminada, se simplificaron muchas tareas de configuración básica para los administradores, se mejoró el rendimiento y la utilización de la memoria y se liberó todo tipo de casos prácticos interesantes. Para obtener más información, consulte: An introduction to crun, a fast and low-memory footprint container runtime
Control Group v2 (cgroup 2) pasa a ser la función predeterminada en RHEL 9 y Podman
El proyecto cgroup 2 se autodefine como, "un elemento del kernel de Linux que proporciona un mecanismo para aislar, medir y controlar la distribución de los recursos para un conjunto de procesos en un servidor". Esto proporciona a los administradores y al software de infraestructura, como los motores de contenedores y los tiempos de ejecución, un mecanismo poderoso para limitar los recursos que utiliza cualquier proceso determinado, lo cual es particularmente útil con los contenedores.
Si bien RHEL 8 ya admitía cgroup 2, el usuario debía habilitarlo y reiniciar el sistema. Con RHEL 9, es el mecanismo predeterminado listo para usarse, lo cual permite controlar los contenedores sin privilegios de superusuario de forma más precisa (First Look: Rootless Containers and cgroup v2 on Fedora 31). Para obtener una buena introducción a cgroup 2, consulte: World domination with cgroups in RHEL 8: welcome cgroups v2!
Conclusión
Hay muchas funciones nuevas para los contenedores en RHEL 9.0 con Podman 4.0.2, pero varias de ellas también están disponibles en RHEL 8.6. Indistintamente de si desea obtener la mejor y más reciente instalación o aprovechar al máximo una actual, podrá hacerlo gracias al diseño y la arquitectura del flujo de la aplicación de las herramientas de contenedores.
En RHEL 9 no solo seguimos ofreciendo acceso rápido a las últimas versiones de Podman, Buildah y Skopeo, sino también a un flujo estable a través de EUS. Nos empeñamos en que nuestros clientes puedan utilizar RHEL 9 con gran facilidad, y esperamos que lo disfruten. Agradeceríamos que nos brinde sus comentarios.
No dude en enviarle sus comentarios a nuestro nuevo gerente de productos de las herramientas de contenedores, Mark Russell (https://www.linkedin.com/in/marrusl/), nuestro gerente de productos del servidor de RHEL, Scott McCarty (@fatherlinux), nuestro gerente de marketing técnico, Eric Hendricks (@itguyeric), o envíenos un Tweet a nuestra cuenta oficial de Red Hat Enterprise Linux, @rhel).
Sobre los autores
At Red Hat, Scott McCarty is Senior Principal Product Manager for RHEL Server, arguably the largest open source software business in the world. Focus areas include cloud, containers, workload expansion, and automation. Working closely with customers, partners, engineering teams, sales, marketing, other product teams, and even in the community, he combines personal experience with customer and partner feedback to enhance and tailor strategic capabilities in Red Hat Enterprise Linux.
McCarty is a social media start-up veteran, an e-commerce old timer, and a weathered government research technologist, with experience across a variety of companies and organizations, from seven person startups to 20,000 employee technology companies. This has culminated in a unique perspective on open source software development, delivery, and maintenance.
Más similar
Navegar por canal
Automatización
Las últimas novedades en la automatización de la TI para los equipos, la tecnología y los entornos
Inteligencia artificial
Descubra las actualizaciones en las plataformas que permiten a los clientes ejecutar cargas de trabajo de inteligecia artificial en cualquier lugar
Nube híbrida abierta
Vea como construimos un futuro flexible con la nube híbrida
Seguridad
Vea las últimas novedades sobre cómo reducimos los riesgos en entornos y tecnologías
Edge computing
Conozca las actualizaciones en las plataformas que simplifican las operaciones en el edge
Infraestructura
Vea las últimas novedades sobre la plataforma Linux empresarial líder en el mundo
Aplicaciones
Conozca nuestras soluciones para abordar los desafíos más complejos de las aplicaciones
Programas originales
Vea historias divertidas de creadores y líderes en tecnología empresarial
Productos
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Servicios de nube
- Ver todos los productos
Herramientas
- Training y Certificación
- Mi cuenta
- Soporte al cliente
- Recursos para desarrolladores
- Busque un partner
- Red Hat Ecosystem Catalog
- Calculador de valor Red Hat
- Documentación
Realice pruebas, compras y ventas
Comunicarse
- Comuníquese con la oficina de ventas
- Comuníquese con el servicio al cliente
- Comuníquese con Red Hat Training
- Redes sociales
Acerca de Red Hat
Somos el proveedor líder a nivel mundial de soluciones empresariales de código abierto, incluyendo Linux, cloud, contenedores y Kubernetes. Ofrecemos soluciones reforzadas, las cuales permiten que las empresas trabajen en distintas plataformas y entornos con facilidad, desde el centro de datos principal hasta el extremo de la red.
Seleccionar idioma
Red Hat legal and privacy links
- Acerca de Red Hat
- Oportunidades de empleo
- Eventos
- Sedes
- Póngase en contacto con Red Hat
- Blog de Red Hat
- Diversidad, igualdad e inclusión
- Cool Stuff Store
- Red Hat Summit