Le projet containerd a adopté un ensemble de modifications intégrant la prise en charge du runtime runj et ouvrant la possibilité d'utiliser sous FreeBSD des images de conteneurs basées sur Linux compatibles OCI, comme les images Docker. Dans les commentaires des changements, un exemple de démarrage réussi d'une image avec Alpine Linux sous FreeBSD est donné. $ 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
Malgré le statut expérimental du projet runj et l'ensemble limité de fonctionnalités actuellement disponibles, même dans une telle forme, le projet peut être utile pour des expériences personnelles, la simplification de la modélisation de solutions (Proof Of Concept), le développement local, le lancement de tests avant le déploiement dans des systèmes cloud et l'évaluation de l'opérabilité dans les cas où il n'est pas possible de passer à des solutions éprouvées et industrielles sur d'autres plateformes, mais la nécessité de conteneurisation s'est fait sentir. Pour fonctionner, il est nécessaire d'avoir jail, jls, jexec et ps installés.
Il convient de noter séparément que runj est un projet personnel de Samuel Karp, ingénieur de l'entreprise Amazon, qui développe le système d'exploitation Linux Bottlerocket et des technologies d'isolation de conteneurs pour AWS. Il est également un participant indépendant du Technical Oversight Board du projet OpenContainers. Après que runj atteindra le niveau nécessaire, le projet pourra être utilisé pour remplacer le runtime standard dans les systèmes Docker et Kubernetes, en utilisant FreeBSD pour le lancement de conteneurs au lieu de Linux. Parmi les OCI runtimes, des commandes ont actuellement été mises en œuvre pour créer, supprimer, démarrer, forcer l'arrêt et évaluer l'état des conteneurs, ainsi que pour configurer le processus, les points de montage et le nom d'hôte.
Source : opennet.ru
