Перейти к содержанию

Выпуск инструментария управления контейнерами LXC и LXD 4.0

Материал из Викиновостей, свободного источника новостей

5 апреля 2020 года

Компания Canonical опубликовала релиз инструментария для организации работы изолированных контейнеров LXC 4.0, менеджера контейнеров LXD 4.0 и виртуальной ФС LXCFS 4.0 для симуляции в контейнерах /proc, /sys и виртуализированного представления cgroupfs для дистрибутивов без поддержи пространств имён для cgroup. Ветка 4.0 отнесена к выпускам с длительной поддержкой, обновления для которых формируются в течение 5 лет

LXC представляет собой runtime для запуска как системных контейнеров, так и контейнеров для отдельных приложений (OCI). В состав LXC входит библиотека liblxc, набор утилит (lxc-create, lxc-start, lxc-stop, lxc-ls и т.п.), шаблоны для построения контейнеров и набор биндингов для различных языков программирования. Изоляция осуществляется при помощи штатных механизмов ядра Linux. Для изоляции процессов, сетевого стека ipc, uts, идентификаторов пользователей и точек монтирования используется механизм пространств имён (namespaces). Для ограничения ресурсов применяются cgroups. Для понижения привилегий и ограничения доступа задействованы такие возможности ядра, как профили Apparmor и SELinux, политики Seccomp, Chroots (pivot_root) и capabilities. Код LXC написан на языке Си и распространяется под лицензией GPLv2.

LXD представляет собой надстройку над LXC, CRIU и QEMU, применяемую для централизованного управления контейнерами и виртуальными машинами на одном или нескольких серверах. Если LXC является низкоуровневым инструментарием для манипуляции на уровне отдельных контейнеров, то LXD реализован в виде фонового процесса, принимающего запросы по сети через REST API и позволяющего создавать масштабируемые конфигурации, развёрнутые на кластере из нескольких серверов. Поддерживаются различные бэкенды хранилищ (дерево директорий, ZFS, Btrfs, LVM), снапшоты со срезом состояния, live-миграция работающих контейнеров с одной машины на другую и средства для организации хранилища образов. Код LXD написан на языке Go и распространяется под лицензией Apache 2.0.

Ключевые улучшения в LXC 4.0:

  • Полностью переписан драйвер для работы с cgroup. Добавлена поддержка унифицированной иерархии cgroup (cgroup2). Добавлена функциональность контроллера freezer, при помощи которого можно остановить работу в cgroup и временно высвободить некоторые ресурсы (CPU, ввод/вывод и потенциально даже память) для выполнения других задач;
  • Реализована инфраструктура для перехвата системных вызовов;
  • Добавлена поддержка подсистемы ядра "pidfd", предназначенной для обработки ситуации с повторным использованием PID (pidfd связывается с конкретным процессом и не меняется, в том время как PID может быть привязан к другому процессу после завершения текущего процесса, ассоциированного с этим PID);
  • Улучшено создание и удаление сетевых устройств, а также их перемещения между пространствами имён сетевой подсистемы;
  • Реализована возможность перемещения беспроводных сетевых устройств (nl80211) в контейнеры.

Ключевые улучшения в LXD 4.0:

  • Добавлена поддержка запуска не только контейнеров, но и виртуальных машин;
  • Для сегментирования серверов LXD предложена концепция проектов, упрощающих управление группами контейнеров и виртуальных машин. Каждый проект может включать свой набор контейнеров, виртуальных машин, образов, профилей и разделов хранения. В привязке к проектам можно задавать свои ограничения и менять настройки;
  • Добавлена поддержка перехвата системных вызовов для контейнеров;
  • Реализовано создание резервных копий окружений и восстановление из них;
  • Обеспечено автоматизированное создание снапшотов окружений и разделов хранилищ с возможностью задания времени существования снапшота;
  • Добавлен API для мониторинга за состоянием сети (lxc network info);
  • Добавлена поддержка

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Выпуск инструментария управления контейнерами LXC и LXD 4.0», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.