Runj - OCI-kompatibelt værktøjssæt til håndtering af containere baseret på FreeBSD jail

Samuel Karp, en ingeniør hos Amazon, der udvikler Bottlerocket Linux-distributions- og containerisoleringsteknologierne til AWS, udvikler en ny runtime-runj baseret på FreeBSD jail-miljøer for at give isoleret lancering af containere designet i overensstemmelse med OCI (Open Container) specifikationsinitiativet) . Projektet er positioneret som eksperimentelt, udviklet i fritiden fra hovedværket og er stadig på prototypestadiet. Koden er skrevet i Go og distribueret under BSD-licensen.

Efter at have bragt udviklingen til det rigtige niveau, kan projektet potentielt vokse til et niveau, der giver dig mulighed for at bruge runj til at erstatte den almindelige runtime i Docker- og Kubernetes-systemer, ved at bruge FreeBSD i stedet for Linux til at køre containere. Fra OCI runtime er kommandoer i øjeblikket implementeret til at oprette, slette, starte, tvinge afslutning og evaluere status for containere. Beholderfyldningen er oprettet baseret på standard- eller strippet FreeBSD-miljøet.

Da OCI-specifikationen endnu ikke understøtter FreeBSD, har projektet udviklet en række yderligere parametre relateret til konfiguration af jail og FreeBSD, som er planlagt til at blive indsendt til inklusion i OCI-hovedspecifikationen. For at styre jail, bruges jail, jls, jexec, kill og ps-værktøjerne fra FreeBSD uden direkte adgang til systemopkald. Fremtidige planer inkluderer tilføjelse af understøttelse til styring af ressourcebegrænsninger gennem kernens RCTL-grænseflade.

Udover dets egen runtime udvikles et eksperimentelt lag i projektdepotet til brug med runtime containerd (brugt i Docker), modificeret til at understøtte FreeBSD. Et særligt værktøj tilbydes til at konvertere FreeBSD rootf'erne til et OCI-kompatibelt containerbillede. Det oprettede billede kan senere importeres til containerd.

Kilde: opennet.ru

Tilføj en kommentar