En el proyecto containerd se ha adoptado un conjunto de cambios que integra el soporte para el runtime runj y permite el uso de imágenes de contenedores compatibles con OCI basadas en Linux, como las imágenes de Docker, en FreeBSD. En los comentarios de los cambios se incluye un ejemplo de un lanzamiento exitoso de una imagen de Alpine Linux en FreeBSD. $ sudo ctr run —rm —runtime wtf.sbk.runj.v1 —tty —snapshotter zfs docker.io/library/alpine:latest test sh -c ‘cat /etc/os-release && uname -a’ NAME="Alpine Linux" ID=alpine VERSION_ID=3.16.0 PRETTY_NAME="Alpine Linux v3.16" HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues" Linux 3.17.0 FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC x86_64 Linux
A pesar del estado experimental del proyecto runj y su conjunto limitado de funcionalidades en este momento, incluso en esta forma, el proyecto puede ser útil para experimentos personales, simplificación de la modelización de soluciones (Prueba de Concepto), desarrollo local, ejecución de pruebas antes del despliegue en sistemas en la nube y validación de la funcionalidad en casos donde no es posible migrar a soluciones probadas y industriales en otras plataformas, pero la necesidad de contenedorización ha surgido. Se requieren los comandos jail, jls, jexec y ps instalados para su funcionamiento.
Es importante señalar que runj es un proyecto personal de Samuel Karp, ingeniero de Amazon que trabaja en el desarrollo de la distribución de Linux Bottlerocket y tecnologías de aislamiento de contenedores para AWS, quien también es un participante independiente en el Technical Oversight Board del proyecto OpenContainers. Una vez que runj alcance el nivel necesario, el proyecto podrá utilizarse para reemplazar el runtime estándar en sistemas Docker y Kubernetes, utilizando FreeBSD en lugar de Linux para ejecutar contenedores. Actualmente, el OCI runtime implementa comandos para crear, eliminar, ejecutar, finalizar forzosamente y evaluar el estado de los contenedores, así como para configurar procesos, puntos de montaje y nombres de host.
Fuente: opennet.ru
