6 puntos por xguru 2025-02-28 | Aún no hay comentarios. | Compartir por WhatsApp
  • El modo imagen de Red Hat Enterprise Linux (RHEL) simplifica el proceso de construir, desplegar y administrar RHEL con contenedores arrancables
  • Los equipos de desarrollo, operaciones y los proveedores de soluciones pueden administrar tanto las aplicaciones como el sistema operativo base usando las mismas herramientas y tecnologías nativas de contenedores

Construcción de contenedores arrancables vs. contenedores de aplicación

  • Al igual que con los contenedores de aplicación convencionales, es posible construir contenedores arrancables usando tecnologías de contenedores existentes como Podman, Docker o buildkit
  • Las imágenes pueden almacenarse en registros de contenedores como Quay.io, Docker Hub, GitHub Container Registry o un registro interno de contenedores
  • Los contenedores arrancables son una evolución natural de la tecnología de contenedores y ofrecen un flujo de trabajo integral nativo de contenedores y una experiencia de usuario que incluye todo el sistema operativo y el kernel de Linux

Uso de Containerfile

  • Un Containerfile (también llamado Dockerfile) contiene toda la información necesaria para construir una imagen de contenedor, incluyendo la imagen base, instrucciones para instalar paquetes de software y copiar archivos desde un repositorio Git
  • El flujo de trabajo y las herramientas para construir contenedores arrancables son esencialmente los mismos que para los contenedores de aplicación
  • Sin embargo, hay algunas mejores prácticas que se aplican al construir contenedores arrancables

Mejores prácticas para linting

  • Se recomienda ejecutar el comando bootc container lint como último paso del Containerfile
  • Este comando realiza varias comprobaciones dentro de la imagen del contenedor y genera errores si encuentra problemas
  • Por ejemplo, verifica si hay varios kernels en /usr/lib/modules, inspecciona la sintaxis de los archivos en /usr/lib/bootc/kargs.d y revisa la higiene de /etc y /usr/etc

GitHub Actions y espacio en disco

  • Al construir contenedores con GitHub Actions, es posible encontrarse con problemas relacionados con el espacio en disco debido al tamaño de las imágenes de contenedores arrancables
  • Para resolver estos problemas, se puede agregar al archivo de workflow un paso que elimine el directorio /opt/hostedtoolcache para liberar espacio en disco

Entender /var

  • /var es un directorio para datos y estado persistentes, modificables y locales de la máquina; incluso durante las actualizaciones, el contenido de /var de la imagen del contenedor no cambia
  • Por lo tanto, si una aplicación escribe datos en /var, conviene moverlos a otro directorio como /usr/share para evitar problemas con montajes de solo lectura

Uso del comando useradd

  • Si se invoca useradd en scripts de empaquetado, pueden producirse desviaciones de estado si /etc/passwd se modifica localmente
  • Para evitar estos problemas, se puede considerar usar la opción DynamicUser=yes de systemd para la creación dinámica de usuarios
  • Sin embargo, en casos complejos puede ser difícil migrar a DynamicUser=yes; en ese caso, se recomienda usar systemd-sysusers para crear usuarios

Integración de contenedores con Quadlet

  • Ejecutar cargas de trabajo en contenedores con systemd es una forma simple pero potente de lograr despliegues confiables
  • Podman ofrece una herramienta llamada Quadlet para integrarse con systemd, lo que permite administrar cargas de trabajo en contenedores de forma declarativa
  • Quadlet se integra por completo con el modo imagen, y puede usar imágenes enlazadas lógicamente para predescargar imágenes de contenedores de aplicaciones durante el arranque

Resumen

  • El uso del modo imagen implica un cambio de paradigma en la forma de operar hosts RHEL
  • Se puede construir, desplegar y administrar el sistema operativo con herramientas cloud-native, trabajando con un sistema operativo inmutable donde la mayor parte del sistema se monta en modo de solo lectura

Aún no hay comentarios.

Aún no hay comentarios.