Вчера вышел containerd 2.0. Это популярная исполняемая среда для запуска контейнеров, которая в прошлом была частью Docker. Это первый мажорный релиз проекта с 2017 года. В версии 2.0 появились новые фичи, а некоторые старые перешли в статус стабильных. Например, добавились поддержка плагинов, которые проверяют, можно ли извлекать образы, поддержка переменных окружения OpenTelemetry, а также предупреждения об устаревании функций.
Полный список изменений вы найдёте в release notes и документации containerd 2.0, он довольно масштабный. NRI включен по умолчанию
NRI (Node Resource Interface) позволяет подключать специфическую для домена или вендора пользовательскую логику к OCI-совместимым средам выполнения. Эта логика позволяет вносить контролируемые изменения в контейнеры, выполнять дополнительные действия или оптимизировать управление ресурсами.
Уже есть плагины, поддерживаемые containerd, а также набор плагинов, поддерживаемых сообществом.Плагины — верификаторы образов
Свежая версия containerd поддерживает плагины, которые проверяют, разрешено ли извлекать образы. Такие плагины могут реализовывать ту или иную политику, например требовать, чтобы образы контейнеров имели определённые имена или были подписаны. Таким образом, они предоставляют механизмы для повышения безопасности использования containerd в продакшене.
Плагины — верификаторы образов интегрируются со службой передачи (transfer service), которая была представлена в containerd 1.7 и теперь перешла в статус стабильной.Поддержка конфигурации переменных окружения OpenTelemetry
Релиз 2.0 добавляет поддержку стандартных переменных окружения, определённых в спецификации OpenTelemetry, во встроенный плагин трейсинга containerd.
Для включения плагина трейсинга в окружении containerd должны быть заданы как OTEL_SDK_DISABLED, так и одна из переменных OTEL_EXPORTER_OTLP_ENDPOINT или OTEL_EXPORTER_OTLP_TRACES_ENDPOINT. Если эндпоинт не настроен, плагин containerd для OTLP-трейсинга отключается.Предупреждения об устаревании отдельных функций
В новой версии прекращена поддержка ряда устаревших фич из прошлых версий, например встроенного функционала для создания снапшотов aufs. Полный список есть на сайте containerd:
Чтобы депрекация функций не стала для пользователей сюрпризом, в containerd 2.0 добавили предупреждения об устаревании. Получить их можно с помощью команды ctr deprecations list. Убедитесь, что уже используете containerd 1.7.21+ или 1.6.36+, чтобы получить полный список.# ctr deprecations list ID LAST OCCURRENCE MESSAGE io.containerd.deprecation/pull-schema-1-image 2023-12-29T01:17:21.672915093Z Schema 1 images are deprecated since containerd v1.7 and removed in containerd v2.0. Since containerd v1.7.8, schema 1 images are identified by the "io.containerd.image/converted-docker-schema1" label.P. S.
Читайте также в нашем блоге:
Зачем нужен containerd и почему его отделили от Docker
Зрелая исполняемая среда для контейнеров: containerd стал «выпускником» CNCF
Интеграция containerd с Kubernetes, заменяющая Docker, готова к production
Источник новости: habr.com