Modifications apportées à containersd pour permettre aux conteneurs Linux de s'exécuter sur FreeBSD

Le projet containersd a adopté un ensemble de modifications qui intègrent la prise en charge de Runtime Runj et permettent à FreeBSD d'utiliser des images de conteneurs Linux compatibles OCI, telles que les images Docker. Les commentaires sur les modifications fournissent un exemple de lancement réussi d'une image avec Alpine Linux sur 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/-/ problèmes" Linux 3.17.0 FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GÉNÉRIQUE x86_64 Linux

Malgré le statut expérimental du projet runj et l'ensemble limité de fonctionnalités pour le moment, même sous cette forme, le projet peut être utile pour des expériences personnelles, simplifiant la modélisation de solutions (Proof Of Concept), le développement local, l'exécution de tests avant le déploiement sur des systèmes cloud. et l'élaboration de fonctionnalités pour les cas où il n'est pas possible de passer à des solutions testées et industrielles sur d'autres plates-formes, mais où le besoin de conteneurisation est mûr. Cela nécessite jail, jls, jexec et ps pour fonctionner.

Il convient également de noter que runj est un projet personnel de Samuel Karp, un ingénieur d'Amazon développant les technologies de distribution Linux Bottlerocket et d'isolation de conteneurs pour AWS, qui est également membre indépendant du comité de surveillance technique du projet OpenContainers. Après avoir amené runj au niveau requis, le projet peut être utilisé pour remplacer le runtime standard dans les systèmes Docker et Kubernetes, en utilisant FreeBSD au lieu de Linux pour exécuter des conteneurs. À partir du runtime OCI, des commandes sont actuellement implémentées 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

Ajouter un commentaire