Runj - kompatybilny z OCI zestaw narzędzi do zarządzania kontenerami oparty na więzieniu FreeBSD

Samuel Karp, inżynier w firmie Amazon, który opracowuje technologie dystrybucji Bottlerocket Linux i izolacji kontenerów dla AWS, opracowuje nowe środowisko uruchomieniowe oparte na środowiskach więziennych FreeBSD, aby zapewnić izolowane uruchamianie kontenerów zaprojektowanych zgodnie z inicjatywą specyfikacji OCI (Open Container)) . Projekt pozycjonowany jest jako eksperymentalny, rozwijany w wolnym czasie od pracy głównej i nadal znajduje się na etapie prototypu. Kod napisany jest w Go i rozpowszechniany na licencji BSD.

Po doprowadzeniu rozwoju na odpowiedni poziom projekt może potencjalnie urosnąć do poziomu, który pozwoli na wykorzystanie runj do zastąpienia zwykłego środowiska uruchomieniowego w systemach Docker i Kubernetes, wykorzystanie FreeBSD zamiast Linuksa do uruchamiania kontenerów. Ze środowiska wykonawczego OCI obecnie zaimplementowano polecenia umożliwiające tworzenie, usuwanie, uruchamianie, wymuszanie kończenia i ocenę stanu kontenerów. Wypełnienie kontenera tworzone jest w oparciu o standardowe lub uproszczone środowisko FreeBSD.

Ponieważ specyfikacja OCI nie obsługuje jeszcze FreeBSD, w projekcie opracowano szereg dodatkowych parametrów związanych z konfiguracją jail i FreeBSD, które mają zostać przesłane do głównej specyfikacji OCI. Do zarządzania jailem używane są narzędzia jail, jls, jexec, kill i ps z FreeBSD, bez bezpośredniego dostępu do wywołań systemowych. Plany na przyszłość obejmują dodanie obsługi zarządzania ograniczeniami zasobów poprzez interfejs RCTL jądra.

Oprócz własnego środowiska wykonawczego, w repozytorium projektu opracowywana jest także warstwa eksperymentalna do użytku z kontenerem wykonawczym (używanym w Dockerze), zmodyfikowanym do obsługi FreeBSD. Oferowane jest specjalne narzędzie do konwersji plików rootf FreeBSD na obraz kontenera zgodny z OCI. Utworzony obraz można później zaimportować do kontenera.

Źródło: opennet.ru

Dodaj komentarz