img

LXC, LXD и LXCFS – в чем разница?

Сложная терминология в некоторых темах, касающихся IT, иногда заводит в тупик. Простой и понятный процесс может быть описан очень комплексным языком, из-за чего, даже после изучения темы, могут остаться вопросы. Это касается и контейнеризации. В рамках этой темы ответим на вопрос - в чем разница между LXC, LXD и LXCFS.

LXC, LXD и LXCFS – в чем разница?

О LXC

LXC (Linux Containers) представляет собой интерфейс в пользовательской среде, функция которого - сдерживать ядро Linux. Имея в активе эффективный API и набор простых инструментов, LXC дает пользователю возможность администрировать любые использующиеся контейнеры.


Важные характеристики

Текущая версия LXC задействует ряд функций ядра, чтобы обеспечить контейнеризацию следующих процессов:

  • namespaces (ipc, uts, mount, pid);
  • профиль AppArmor (та же SELinux);
  • правила Seccomp;
  • Chroots (задействуя pivot _root);
  • потенциал ядра;
  • группы контроля (CGroups).

Как правило, контейнеры LXC обычно воспринимаются пользователями как нечто усредненное между Chroot и VM. Эта технология нацелена на то, чтобы создать среду, аналогичную стандартно установленной Linux, но сделать это без необходимости в дополнительном ядре.


Компоненты

Ниже в списке, несколько актуальных компонентов LXC:

  • liblxc;
  • языковые привязки для AP (Python (2 и 3 ), Lua, Go, Ruby, Haskell);
  • стандартные инструменты администрирования контейнеров;
  • готовые варианты контейнеров;

LXD - решение для LXC

LXD (Linux Container Daemon) является базирующимся на LXC гипервизором контейнеров.

Основные части LXD:

  • системный daemon (lxd);
  • клиент LXC;
  • плагин (nova-compute-lxd);

REST API предоставляется демоном в локальном или сетевом режиме. Эффективная утилита управления, клиент командной строки, отличается своей интуитивностью и простотой. Именно с помощью него реализовано управление каждым контейнером. Клиент обрабатывает подключение одновременно к разному количеству контейнеров, отображает уже созданные и создает новые. Есть возможность их перемещения в процессе функционирования.

Упомянутый плагин “превращает” все LXD-host в вычислительные узлы, которые работают для поддержки контейнеров, а не VM.


Преимущества

Основные преимущества LXD:

  • обеспечение безопасности (контейнеры не обладают привилегированностью, ресурсы ограничиваются и так далее.)
  • любой масштаб использования;
  • интуитивность (простое управление через ввод в командной строке);
  • образ-ориентированность (использование надежных образов, вместо шаблонов);
  • возможность активной миграции;

Связь с LXC

LXD не является новой версией LXC, скорее, он использует ее как базу. Чтобы администрирование контейнеров стало еще проще, LXD задействует LXC, влияя на библиотеку последней. Также во взаимодействии участвует прослойка, написанная на Go. Таким образом, LXD является, по сути, альтернативой LXC с расширенными возможностями (отличный пример - управление через сеть).


LXCFS: настройка контейнеризации

LXCFS - это небольшая архитектура файлов в среде пользователя, которая способна оптимизировать работу ядра Linux.

LXCFS включает в себя:

  • файлы, которые монтируются над оригинальными аналогами и предоставляют CGroup-совместимые значения;
  • дерево cgroupfs, функционирующее в независимости от контейнеров.

Архитектура представляет из себя простой код, созданный в C. Задача, которую необходимо было решить - запуск контейнера systemdпод базовым пользователем с параллельным запуском systemd внутри контейнера, с целью взаимодействовать с cgroups.

Если говорить простым языком, цель создания этой архитектуры - ощущение активного контейнера, как независимой системы.


Так в чем же разница?

Сравнивать LXC, LXD, LXCFS не имеет смысла, так как они не представляют из себя 3 разных продукта с одинаковым функционалом. Грубо можно описать их как программу, дополнение к ней и патч, который позволяет среде пользователя адаптироваться под ее нужды.

Ссылка
скопирована
DevOps
Скидка 25%
DevOps-инженер с нуля
Научитесь использовать инструменты и методы DevOps для автоматизации тестирования, сборки и развертывания кода, управления инфраструктурой и ускорения процесса доставки продуктов в продакшн. Станьте желанным специалистом в IT-индустрии и претендуйте на работу с высокой заработной платой.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
В этой статье мы познакомим вас с популярной профессией DevOps-инженера и расскажем, что он делает, как им стать, где искать раб
img
Итак, вы хотите стать DevOps-инженером? Это впечатляющий, сложный и высокооплачиваемый вариант карьеры, но такая ключевая роль о
img
У вас когда-нибудь происходила ситуация, когда вы путешествовали и не могли посмотреть те шоу, которые обычно смотрите дома, на
img
Когда вы разрабатываете какое-то программное обеспечение, вы поначалу можете не задумываться о часовых поясах. Если только вы не
img
Несмотря на доступ к все более эффективному и мощному оборудованию, операции, выполняемые непосредственно на традиционных физиче
img
Apache – это часть стека LAMP программного обеспечения для Linux (Linux, Apache, MySQL, PHP). Apache позволяет открывать в
Комментарии
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59