Runj - Toolkit compatibile con OCI per la gestione dei contenitori basati sulla jail di FreeBSD

Samuel Karp, un ingegnere di Amazon che sviluppa la distribuzione Bottlerocket Linux e le tecnologie di isolamento dei container per AWS, sta sviluppando un nuovo runtime runj basato sugli ambienti jail di FreeBSD per fornire il lancio isolato di container progettati in conformità con l'iniziativa delle specifiche OCI (Open Container) . Il progetto si posiziona come sperimentale, sviluppato nel tempo libero dal lavoro principale ed è ancora in fase di prototipo. Il codice è scritto in Go e distribuito sotto la licenza BSD.

Dopo aver portato lo sviluppo al livello adeguato, il progetto può potenzialmente crescere fino a un livello che consente di utilizzare runj per sostituire il normale runtime nei sistemi Docker e Kubernetes, utilizzando FreeBSD invece di Linux per eseguire i contenitori. Dal runtime OCI, i comandi sono attualmente implementati per creare, eliminare, avviare, forzare la chiusura e valutare lo stato dei contenitori. Il riempimento del contenitore viene creato in base all'ambiente FreeBSD standard o ridotto.

Poiché la specifica OCI non supporta ancora FreeBSD, il progetto ha sviluppato una serie di parametri aggiuntivi relativi alla configurazione del jail e di FreeBSD, che sono pianificati per essere inclusi nella specifica OCI principale. Per gestire jail vengono utilizzate le utility jail, jls, jexec, kill e ps di FreeBSD, senza accedere direttamente alle chiamate di sistema. I piani futuri includono l'aggiunta del supporto per la gestione delle limitazioni delle risorse tramite l'interfaccia RCTL del kernel.

Oltre al proprio runtime, nel repository del progetto è in fase di sviluppo anche un livello sperimentale da utilizzare con il runtime containerd (utilizzato in Docker), modificato per supportare FreeBSD. Viene offerta un'utilità speciale per convertire rootfs di FreeBSD in un'immagine contenitore compatibile con OCI. L'immagine creata può essere successivamente importata in containerd.

Fonte: opennet.ru

Aggiungi un commento