Buildah 1.0: Construcción de contenedores Linux facilitada
Las buenas noticias sobre los contenedores, como Docker, es que facilitan la implementación de las aplicaciones, y puede ejecutar muchas más en un servidor que en una máquina virtual. La mala noticia es que poner una aplicación en un contenedor puede ser difícil. Ahí es donde entra Buildah.
Buildah es un programa shell recién lanzado para construir de manera eficiente y rápida las aplicaciones Open Container Initiative (OCI) y las imágenes y contenedores compatibles con Docker. Buildah simplifica el proceso de creación, construcción y actualización de imágenes al tiempo que reduce la curva de aprendizaje del entorno del contenedor.
Mejor aún, para aquellos interesados en la integración continua (CI), es fácilmente programable y se puede usar en un entorno en el que uno necesita girar los contenedores automáticamente en función de las llamadas a la aplicación. No hay ningún requisito para que un daemon de tiempo de ejecución del contenedor se ejecute en su sistema para tomar recursos y complicar el proceso de compilación.
Ha habido una gran necesidad de este tipo de programa. Con demasiada frecuencia, los profesionales de TI, que deberían conocer mejor, despliegan aplicaciones en contenedores, que han sido creadas por otros, sin saber qué hay dentro de ellas.
Esto tiene tanto sentido como ejecutar un programa de instalación desconocido en Windows. Si bien hay empresas, como Bitnami, que crea contenedores confiables, con demasiada frecuencia las personas aprovechan la primera aplicación en contenedores que pueden encontrar que satisfaga sus necesidades.
Con Buildah, ahora puede construir fácilmente su propia aplicación en contenedores usando solo los componentes que necesita y en los que confía. El ingeniero de software de consultoría de Red Hat, Daniel Walsh, explicó: "Retaron a mi equipo de ingeniería a crear un 'coreutils' de imágenes de contenedores; esencialmente, una utilidad que podría usarse con herramientas de host de contenedores existentes como cp, make, yum y más para construye imágenes de contenedor OCI y Docker. Estas imágenes podrían almacenarse en registros de contenedores y ser usadas por una multitud de tiempos de ejecución de contenedores".
Buildah fue el resultado. Ah, y el nombre? Walsh escribió: "Los ingenieros me preguntaron cómo llamarlo y respondí: 'Sólo llámalo constructor'. Los ingenieros escucharon mi acento de Boston y nació Buildah
.
Buildah proporciona solo las necesidades básicas necesarias para crear o cambiar imágenes de contenedores de Linux, lo que facilita su integración en las segmentaciónes en las compilación de aplicaciones existentes.
Walsh agregó: "Cuando decimos 'necesidades básicas', lo decimos en serio. Buildah permite la creación instantánea de contenedores desde cero, piense en ello como una caja vacía. Por ejemplo, Buildah puede ensamblar contenedores que omitan cosas como los gestores de paquetes (DNF / YUM), que no son requeridos por la imagen final. Así que Buildah no sólo puede proporcionar la capacidad de construir estos contenedores de una manera menos compleja y segura, sino que puede reducir la hinchazón (y por lo tanto el tamaño de la imagen) y ampliar la personalización a lo que necesita en sus aplicaciones nativas de la nube".
Además, "dado que Buildah no es daemonless, es más fácil ejecutarlo en un contenedor sin configurar una infraestructura especial en el host o tener que "filtrar" los sockets de host en el contenedor. Puede ejecutar Buildah dentro de sus Kubernetes (o empresas Kubernetes, como Clúster Red Hat OpenShift).
Con esta primera versión 1.0, Buildah admite volúmenes de lectura/escritura externos durante las compilaciones. Esto permite a los desarrolladores crear imágenes de contenedores que hacen referencia a volúmenes externos mientras se construyen, pero sin tener que enviar esos volúmenes externos en la imagen completa. Esto simplifica la creación de imágenes sin distender esas imágenes con artefactos de producción innecesarios y no deseados.
Además, Buildah puede ayudar a crear imágenes, que cumplen mejor con los Estándares Federales de Procesamiento de Información (FIPS). Con esto, puede usar Buildah para construir y ejecutar contenedores en modo FIPS para clientes que requieren aplicaciones compatibles con FIPS.
Finalmente, Buildah ahora también ofrece construcciones de múltiples etapas, múltiples métodos de transporte de contenedores.
Al centrarse exclusivamente en la construcción y manipulación de imágenes de contenedores, Buildah es una herramienta útil para cualquier persona que trabaje con contenedores Linux. Si usted es un desarrollador que prueba imágenes localmente o está buscando un generador de imágenes independiente para una cadena de herramientas de producción, Buildah es una valiosa adición a su cinturón de herramientas contenedor.
¿Quieres usarlo tu mismo?
Ejecute lo siguiente en un sistema Red Hat, Fedora o CentOS Linux:
yum -y install buildah
Creo que te gustará 😊