Linux Foundation представил containerd 1.0, runtime для изолированных контейнеров

Организация Linux Foundation представила первый стабильный выпуск инструментария containerd, в рамках которого развивается универсальный runtime для управления контейнерами, соответствующий требованиям спецификации Open Container Initiative (OCI). Код containerd написан на языке Go и распространяется под лицензией Apache 2.0.

Containerd используется в качестве одного из слоёв в таких проектах как Docker и Garden (Cloud Foundry), а также запланирован для интеграции в rkt от CoreOS. Дополнительно развивается проект cri-containerd, позволяющий использовать containerd в кластерах на базе Kubernetes. Проект развивается при участии компаний Docker, Google, NTT, IBM, Microsoft, AWS, ZTE, Huawei и ZJU.

0_1460652817.png

Containerd включает фоновый процесс с поддержкой Linux и Windows, а также клиент командной строки (ctr), использующий runC для запуска образов контейнеров в форматах OCI и Docker. Фоновый процесс может обеспечивать управление всем жизненным циклом работы контейнеров, включая передачу и хранение образов, запуск контейнеров и контроль за ними, привязку хранилищ и организацию сетевого доступа. В процессе развития инструментария дополнительно были добавлены средства для хранения и распространения образов, система обработки событий и модель снапшотов для файловых систем контейнеров.

0_1512491789.png

Для взаимодействия с фоновым процессом предоставляется API на базе gRPC, доступный через локальный UNIX-сокет. В Linux предоставляется поддержка seccomp, непривилегированных контейнеров (user namespace), клонирования и live-миграции при помощи системы criu, снапшотов ФС через средства Btrfs. Метрики и статистика предоставляются в формате Prometheus. Обеспечена полная поддержка спецификаций Open Container Initiative (OCI) для runtime и формата образов.

0_1512490937.png

© OpenNet