Samuel Karp, ingeniør hos Amazon, utvikler Linux- Bottlerocket-distribusjons- og containerisoleringsteknologiene for AWS, utvikler en ny runtime, runj, basert på FreeBSD-jail-miljøer for å muliggjøre isolert oppstart av containere bygget i henhold til OCI-spesifikasjonen (Open Container Initiative). Prosjektet er posisjonert som eksperimentelt, utviklet i fritiden og for tiden i prototypefasen. Koden er skrevet i Go og distribuert under BSD-lisensen.
Når utviklingen når det nødvendige nivået, kan prosjektet potensielt vokse til et nivå der runj kan brukes til å erstatte standard runtime i Docker- og Kubernetes-systemer, ved å bruke FreeBSD til å kjøre containere i stedet. LinuxOCI-kjøretiden implementerer for øyeblikket kommandoer for å opprette, slette, starte, tvinge avslutning og evaluere containerstatus. Containernyttelaster bygges ved hjelp av et standard eller nedstrippet FreeBSD-miljø.
Siden OCI-spesifikasjonen for øyeblikket mangler støtte for FreeBSD, har prosjektet utviklet en rekke tilleggsparametere relatert til jail-konfigurasjon og FreeBSD, som er planlagt inkludert i hoved-OCI-spesifikasjonen. Jail-administrasjon utføres ved hjelp av FreeBSD-verktøyene jail, jls, jexec, kill og ps, uten direkte tilgang til systemkall. Fremtidige planer inkluderer å legge til støtte for ressursgrensehåndtering via kjernens RCTL-grensesnitt.
I tillegg til sin egen runtime utvikler prosjektets repository også et eksperimentelt lag for bruk med containerd-runtime (brukt i Docker), modifisert for å støtte FreeBSD. Et dedikert verktøy er tilgjengelig for å konvertere FreeBSD rootfs til et OCI-kompatibelt containerbilde. Det resulterende bildet kan deretter importeres til containerd.
Kilde: opennet.ru
