Runj - OCI-kompatibelt verktøysett for å administrere containere basert på FreeBSD-fengsel

Samuel Karp, en ingeniør hos Amazon som utvikler Bottlerocket Linux-distribusjons- og containerisoleringsteknologier for AWS, utvikler en ny runtime runj basert på FreeBSD-fengselsmiljøer for å gi isolert lansering av containere designet i samsvar med OCI (Open Container) spesifikasjonsinitiativet) . Prosjektet er posisjonert som eksperimentelt, utviklet i fritiden fra hovedarbeidet og er fortsatt på prototypestadiet. Koden er skrevet i Go og distribuert under BSD-lisensen.

Etter å ha brakt utviklingen til riktig nivå, kan prosjektet potensielt vokse til et nivå som lar deg bruke runj for å erstatte den vanlige kjøretiden i Docker- og Kubernetes-systemer, ved å bruke FreeBSD i stedet for Linux for å kjøre containere. Fra OCI-kjøretiden implementeres kommandoer for å opprette, slette, starte, tvinge avslutning og evaluere statusen til containere. Beholderfyllingen er laget basert på standard eller nedstrippet FreeBSD-miljø.

Siden OCI-spesifikasjonen ennå ikke støtter FreeBSD, har prosjektet utviklet en rekke tilleggsparametere knyttet til konfigurering av fengsel og FreeBSD, som planlegges sendt inn for inkludering i hoved-OCI-spesifikasjonen. For å administrere fengsel brukes jail, jls, jexec, kill og ps-verktøyene fra FreeBSD, uten direkte tilgang til systemanrop. Fremtidige planer inkluderer å legge til støtte for ressursbegrensningsadministrasjon gjennom kjernens RCTL-grensesnitt.

I tillegg til sin egen kjøretid, utvikles også et eksperimentelt lag i prosjektdepotet for bruk med runtime containerd (brukt i Docker), modifisert for å støtte FreeBSD. Et spesielt verktøy tilbys for å konvertere FreeBSD rootfs til et OCI-kompatibelt containerbilde. Det opprettede bildet kan senere importeres til containerd.

Kilde: opennet.ru

Legg til en kommentar