Docker представил Moby и LinuxKit для построения произвольных систем контейнерной изоляции

Docker представил Moby и LinuxKit для построения произвольных систем контейнерной изоляции

Компания Docker представила два новых проекта Moby и LinuxKit, предоставляющих инструменты для создания произвольных систем контейнерной изоляции.

Moby позволяет комбинировать готовые компоненты и фреймворки для создания систем на базе контейнеров, а LinuxKit предоставляет средства для формирования минимальной операционной системы для запуска контейнеров. Код написан на языке Go и распространяется (LinuxKit, Moby) под лицензией Apache 2.0.

Moby даёт возможность манипулировать готовыми блоками для построения специализированных систем контейнерной изоляции, создавая результирующую систему по кирпичикам по аналогии с конструктором Лего. Предоставляются различные варианты компонентов, охватывающих все аспекты работы систем контейнерной изоляции, включая ОС, runtime, средства оркестровки, инструменты управления инфраструктурой, сетевые подсистемы, хранилища, средства безопасности, сборочные инструменты и механизмы доставки образов. Каждый компонент оформлен в виде контейнера, поэтому создание новых компонентов производится через подготовку OCI-совместимых контейнеров.

Кроме коллекции компонентов, Moby также предлагает специальный инструментарий, который даёт возможность собрать компоненты в форму, готовую для выполнения на выбранных архитектурах и платформах: для установки на конечное оборудование (x86, ARM), в виде исполняемых файлов для Linux, macOS и Windows или образов виртуальных машин для популярных облачных платформ и систем виртуализации. Завершающим звеном является набор эталонных схем компоновки Moby Origin, которые можно использовать в качестве шаблона для связывания компонентов в рабочую систему. В частности, доступен шаблон для формирования из компонентов Moby типовой системы Docker.

Потребителю предоставляются гибкие возможности для экспериментов и подбора оптимальной конфигурации - каждый компонент в шаблоне можно заменять на один из предлагаемых альтернативных вариантов. Например, можно выбрать технологию изоляции или систему оркестровки. Пользователи Moby получают возможность не ограничиваться рамками конкретных продуктов и построить свою инфраструктуру для запуска контейнеров, комбинируя разные подходы с учётом всех своих пожеланий.

LinuxKit дополняет Moby и представляет собой тулкит для сборки защищённых, переносимых и компактных операционных систем для Linux-контейнеров. При помощи LinuxKit администратор может сформировать образ ОС, содержащий только минимально необходимый набор компонентов, достаточных для запуска контейнеров. Все системные сервисы в LinuxKit оформлены в виде контейнеров и могут быть заменены или удалены. Минимальный размер сборки, достаточной для запуска контейнеров - 35 Мб.

Конфигурация сборки определяется в виде YAML-спецификации, на основе которой LinuxKit может подготовить загрузочный образ. В спецификации указывается ядро, процесс инициализации, список контейнеров для запуска, набор системных сервисов, дополнительные файлы для включения в сборку и формат вывода (например, ISO). В качестве основы используются компоненты пространства пользователя дистрибутива Alpine Linux, в том числе системной библиотеки Musl.

Для повышения безопасности используются патчи PaX и SSP (Stack Smashing Protection, -fstack-protector), а для полноценного использования ASLR при сборке формируются исполняемые файлы PIE (Position-Independent Executable). В перспективе планируется переписать системные компоненты на безопасных языках Rust, Go или OCaml и выполнять их в режиме максимальной изоляции, благодаря сборке в виде самодостаточных "unikernel", развитием которых занимался перешедший в руки Docker проект MirageOS. Пока на базе unikernel реализован только сервис dhcp, но по мере развития всё больше системных компонентов будут переписываться из Си на безопасные языки и поставляться в форме unikernel.

Запись в группу: https://iteducenter.ua/apply

Наши контакты:

Тел.: [відкрити контакти](044) 537-86-76, [відкрити контакти](093) 47-5555-0, [відкрити контакти](096) 99-99-560

Вебсайт: www.iteducenter.ua

Vkontakte: https://vk.com/iteducenter

Facebook: https://www.facebook.com/iteducenterua


Залишити коментар
Будь ласка, введіть ваше ім’я
Будь ласка, введіть коментар.
1000 символів

Будь ласка, введіть email
або Відмінити

Інші статті в категорії IT, програмування, розробка