Samuel Karp, inginer la Amazon, care se ocupă de dezvoltarea distribuției Linux Bottlerocket și a tehnologiilor de izolare a containerelor pentru AWS, dezvoltă un nou runtime runj bazat pe medii jail FreeBSD pentru a asigura lansarea izolată a containerelor standardizate conform specificației OCI (Open Container Initiative). Proiectul este poziționat ca fiind experimental, dezvoltat în timpul liber, iar în prezent se află în faza de prototip. Codul este scris în Go și este distribuit sub licența BSD.
După ce dezvoltarea va atinge un nivel adecvat, proiectul ar putea crește suficient pentru a permite utilizarea lui runj ca înlocuitor pentru runtime-ul standard în sistemele Docker și Kubernetes, folosind FreeBSD pentru lansarea containerelor în loc de Linux. În prezent, din runtime-ul OCI sunt implementate comenzi pentru crearea, ștergerea, lansarea, oprirea forțată și evaluarea stării containerelor. Conținutul containerului este construit pe baza unui mediu standard sau redus FreeBSD.
Întrucât specificația OCI nu suportă deocamdată FreeBSD, cadrul proiectului a dezvoltat o serie de parametri suplimentari legați de configurarea jail și FreeBSD, care sunt planificate să fie incluse în specificația principală OCI. Pentru gestionarea jail sunt utilizate utilitarele jail, jls, jexec, kill și ps din FreeBSD, fără a apela direct la apeluri de sistem. Printre planurile de viitor se numără adăugarea suportului pentru gestionarea restricțiilor de resurse prin interfața RCTL a nucleului.
Pe lângă propriul runtime, în depozitul proiectului se dezvoltă și un strat experimental pentru utilizarea alături de runtime-ul containerd (utilizat în Docker), modificat pentru a suporta FreeBSD. O utilitară specială este propusă pentru a transforma rootfs FreeBSD într-o imagine de container compatibilă cu OCI. Ulterior, imaginea creată poate fi importată în containerd.
Sursa: opennet.ro
