ЛХС
![]() | |
Разработчик(и) | |
---|---|
Первоначальный выпуск | 6 августа 2008 г [1] |
Стабильная версия | 6.0.0 [2] ![]() |
Репозиторий | |
Написано в | С , оболочка |
Операционная система | Линукс |
Платформа | x86 , IA-64 , PowerPC , SPARC , Itanium , ARM |
Тип | Виртуализация на уровне ОС |
Лицензия | GNU LGPL v.2.1 (некоторые компоненты под GNU GPL v2 и BSD ) |
Веб-сайт | Linux-контейнеры |
Контейнеры Linux ( LXC ) — это метод виртуализации на уровне операционной системы для запуска нескольких изолированных систем Linux (контейнеров) на управляющем хосте с использованием одного ядра Linux.
Ядро Linux предоставляет функциональные возможности cgroups , которые позволяют ограничивать и устанавливать приоритеты ресурсов (ЦП, память, блочный ввод-вывод, сеть и т. д.) без необходимости запуска каких-либо виртуальных машин , а также функцию изоляции пространства имен , которая позволяет полностью изолировать Представление приложения об операционной среде, включая деревья процессов , сети , идентификаторы пользователей и смонтированные файловые системы . [3]
LXC объединяет контрольные группы ядра и поддержку изолированных пространств имен , обеспечивая изолированную среду для приложений. [4] Ранние версии Docker использовали LXC в качестве драйвера выполнения контейнера. [4] хотя LXC стал необязательным в версии 0.9, а поддержка была прекращена в Docker v1.10. [5] [6]
Обзор [ править ]
LXC изначально был разработан IBM в рамках сотрудничества нескольких сторон, стремившихся добавить пространства имен в ядро. [7] Он обеспечивает виртуализацию на уровне операционной системы через виртуальную среду, имеющую собственный процесс и сетевое пространство, вместо создания полноценной виртуальной машины . LXC опирается на ядра Linux. cgroups функциональность [8] который был выпущен в версии 2.6.24. Он также опирается на другие виды функций изоляции пространства имен, которые были разработаны и интегрированы в основное ядро Linux.
Безопасность [ править ]
Первоначально контейнеры LXC не были такими безопасными, как другие методы виртуализации на уровне ОС, такие как OpenVZ : в ядрах Linux до версии 3.8 пользователь root гостевой системы мог запускать произвольный код в хост-системе с привилегиями root, как и в chroot. тюрьмы. [9] Начиная с версии LXC 1.0, можно запускать контейнеры на хосте от имени обычных пользователей, используя «непривилегированные контейнеры». [10] Непривилегированные контейнеры более ограничены, поскольку они не могут напрямую обращаться к оборудованию. Однако даже привилегированные контейнеры должны обеспечивать адекватную изоляцию в модели безопасности LXC 1.0, если они правильно настроены. [10]
Альтернативы [ править ]
LXC похож на другие технологии виртуализации на уровне ОС в Linux, такие как OpenVZ и Linux-VServer , а также в других операционных системах, таких как тюрьмы FreeBSD , AIX разделы рабочей нагрузки и контейнеры Solaris . В отличие от OpenVZ, LXC работает в обычном ядре Linux, не требуя применения дополнительных патчей к исходным кодам ядра. Версия 1 LXC, выпущенная 20 февраля 2014 года как версия с долгосрочной поддержкой, поддерживалась в течение пяти лет. [11] LXC 4.0 будет поддерживаться до 1 июня 2025 г., а LXC 5.0 — до 1 июня 2027 г. [12]
ЛХД [ править ]
LXD — альтернативный менеджер контейнеров Linux, написанный на Go . Он построен на основе LXC и призван обеспечить лучший пользовательский опыт. [13] Это гипервизор контейнеров, предоставляющий API для управления контейнерами LXC. [14] Проект LXD был запущен в 2015 году и с самого начала спонсировался Canonical Ltd. , компанией-разработчиком Ubuntu Linux . 4 июля 2023 года проект LinuxContainers объявил, что Canonical решила взять на себя управление проектом LXD, но был создан его форк под названием Incus. [15] [16] 25 августа 2023 года под контролем Canonical была официально выпущена версия LXD 5.17, обеспечивающая поддержку возможностей делегирования OpenZFS 2.2. [17]
См. также [ править ]
- Инициатива «Открытый контейнер»
- Контейнер Linux (ранее CoreOS Linux)
- Docker — проект, автоматизирующий развертывание приложений внутри программных контейнеров.
- Apache Mesos — крупномасштабная платформа управления кластерами, основанная на изоляции контейнеров.
- Реализации виртуализации на уровне операционной системы
- Proxmox Virtual Environment , платформа управления виртуализацией серверов с открытым исходным кодом, поддерживающая контейнеры LXC и KVM.
- Anbox использует LXC для выполнения приложений Android в других дистрибутивах Linux.
Ссылки [ править ]
- ^ «Загрузки» . Контейнеры Linux . Архивировано из оригинала 10 ноября 2014 г. Проверено 10 ноября 2014 г.
- ^ «Выпуск v6.0.0» . 3 апреля 2024 г. Проверено 11 апреля 2024 г.
- ^ Рами Розен (май 2013 г.). «Управление ресурсами: пространства имен и контрольные группы ядра Linux» (PDF) . КС . УКСБ . Проверено 11 февраля 2015 г.
- ^ Jump up to: Перейти обратно: а б Кенлон, Сет (30 января 2020 г.). «Изучение простых контейнеров Linux с помощью lxc» . Красная шляпа . ИБМ . Проверено 5 июля 2023 г.
- ^ «Docker 0.9: представление драйверов выполнения и libcontainer» . Блог . Докер. 10 марта 2014 г. Проверено 9 мая 2018 г.
- ^ «1.10.0» . Примечания к выпуску двигателя . Докер. 04 февраля 2016 г. Проверено 6 октября 2020 г.
- ^ Уэбб, Джордан (13 сентября 2022 г.). «LXC и LXD: другая история контейнеров» . LWN.net . Проверено 5 июля 2023 г.
- ^ Кутупис, Петрос (27 августа 2018 г.). «Все, что вам нужно знать о контейнерах Linux, часть II: работа с контейнерами Linux (LXC)» . Linux-журнал . Проверено 5 июля 2023 г.
- ^ Марко, д'Итри (2011). «Уклонение от контейнеров Linux» . БОФХ . ЭТО. Архивировано из оригинала 9 января 2014 года . Проверено 12 февраля 2014 г.
- ^ Jump up to: Перейти обратно: а б Грабер, Стефан (1 января 2014 г.). «LXC 1.0: Функции безопасности [6/10]» . Проверено 12 февраля 2014 г.
Однако, по крайней мере, в Ubuntu наши контейнеры по умолчанию поставляются с, по нашему мнению, довольно хорошей конфигурацией как доступа к cgroup, так и расширенным профилем apparmor, который предотвращает все известные нам атаки. [...] LXC больше не работает от имени пользователя root, поэтому даже если злоумышленнику удастся выйти из контейнера, он обнаружит, что имеет привилегии обычного пользователя на хосте
- ^ Грабер, Стефан (20 декабря 2013 г.). «LXC 1.0: ваш первый контейнер Ubuntu» . Святой Грабер . Проверено 23 февраля 2014 г.
- ^ «ЛХС» . Контейнеры Linux . Проверено 7 февраля 2023 г.
- ^ "Введение" . ЛХД . Контейнеры Linux . Проверено 14 апреля 2020 г.
- ^ Пэрротт, Томас. «Введение в проекты LXD» . Убунту . Канонический . Проверено 5 июля 2023 г.
- ^ «LXD был перенесен в Canonical» . Контейнеры Linux . 04.07.2023. Архивировано из оригинала 4 июля 2023 г. Проверено 5 июля 2023 г.
- ^ Рудра, Сурав (5 июля 2023 г.). «Проект LXD находит новый дом в Canonical» . Это Фосс . Проверено 5 июля 2023 г.
- ^ Пэррот, Томас (25 августа 2023 г.). «LXD 5.17 выпущен» . Убунту . Канонический.
Внешние ссылки [ править ]
- Официальный сайт и репозиторий исходного кода на GitHub.
- Статья IBM Developerworks о LXC
- «Уклонение от контейнеров Linux», Марко Д'Итри
- Презентация Рами Розена о cgroups и пространствах имен, базовой технологии контейнеров Linux.
- Презентация Рами Розена о контейнерах Linux и облаке будущего.
- LXC: установка и настройка контейнеров Linux.
- LSS: безопасные контейнеры Linux (LWN.net)
- Введение в контейнеры Linux
- LXC для Android на YouTube , апрель 2013 г.