Im Projekt containerd wurde eine Reihe von Ănderungen akzeptiert, die die UnterstĂŒtzung des runtimes runj integrieren und die Möglichkeit eröffnen, OCI-kompatible Container-Images auf FreeBSD zu verwenden, beispielsweise Docker-Images. In den Kommentaren zu den Ănderungen wird ein Beispiel fĂŒr den erfolgreichen Start eines Images mit Alpine Linux unter FreeBSD angegeben. $ 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
Trotz des experimentellen Status des Projekts runj und des derzeit begrenzten Funktionsumfangs kann das Projekt in seiner aktuellen Form nĂŒtzlich sein fĂŒr persönliche Experimente, zur Vereinfachung der Modellierung von Lösungen (Proof Of Concept), fĂŒr die lokale Entwicklung, das Starten von Tests vor der Bereitstellung in Cloud-Systemen und zur ĂberprĂŒfung der FunktionalitĂ€t in FĂ€llen, in denen kein Zugriff auf getestete und kommerzielle Lösungen auf anderen Plattformen besteht, aber der Bedarf an Containerisierung besteht. FĂŒr den Betrieb sind installierte jail, jls, jexec und ps erforderlich.
Besonders erwĂ€hnenswert ist, dass runj ein persönliches Projekt von Samuel Karp, einem Ingenieur bei Amazon, ist, der sich mit der Entwicklung der Linux-Distribution Bottlerocket und Technologien zur Container-Isolierung fĂŒr AWS beschĂ€ftigt und ebenfalls ein unabhĂ€ngiges Mitglied des Technical Oversight Board des Projekts OpenContainers ist. Nach der Weiterentwicklung von runj auf das erforderliche Niveau wird das Projekt möglicherweise als Ersatz fĂŒr das standardmĂ€Ăige runtime in Docker- und Kubernetes-Systemen verwendet werden können, indem FreeBSD anstelle von Linux fĂŒr den Start von Containern eingesetzt wird. Von den OCI-Runtimes sind zum aktuellen Zeitpunkt Befehle zum Erstellen, Löschen, Starten, Beenden und zur Zustandsevaluation von Containern sowie zur Anpassung von Prozessen, Mount-Punkten und Hostnamen implementiert.
Quelle: opennet.ru
