Nel progetto containerd è stato accettato un insieme di modifiche che integrano il supporto per il runtime runj e aprono la possibilità di utilizzare su FreeBSD immagini di container compatibili con OCI basate su Linux, ad esempio le immagini Docker. Nei commenti alle modifiche viene fornito un esempio di un'installazione riuscita di un'immagine di Alpine Linux su FreeBSD. $ sudo ctr run —rm —runtime wtf.sbk.runj.v1 —tty —snapshotter zfs docker.io/library/alpine:latest test sh -c ‘cat /etc/os-release && uname -a’ NAME=”Alpine Linux” ID=alpine VERSION_ID=3.16.0 PRETTY_NAME=”Alpine Linux v3.16″ HOME_URL=”https://alpinelinux.org/” BUG_REPORT_URL=”https://gitlab.alpinelinux.org/alpine/aports/-/issues” Linux 3.17.0 FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC x86_64 Linux
Vale la pena notare che runj è un progetto personale di Samuel Karp, ingegnere di Amazon che sviluppa la distribuzione Linux Bottlerocket e tecnologie di isolamento dei container per AWS, ed è anche un membro indipendente del Technical Oversight Board del progetto OpenContainers. Dopo il completamento di runj al livello necessario, il progetto potrebbe essere utilizzato per sostituire il runtime predefinito nei sistemi Docker e Kubernetes, utilizzando FreeBSD per eseguire i container al posto di Linux. Attualmente, nel runtime OCI sono implementati comandi per la creazione, eliminazione, esecuzione, terminazione forzata e valutazione dello stato dei container, nonché per la configurazione dei processi, dei punti di montaggio e del nome host.
L'uso della scrittura bufferizzata asincrona basata su io_uring ha ridotto le latenza in XFS fino a 80 volte
Fonte: opennet.ru
