Interested Article - Контейнеризация

Контейнеризация ( виртуализация на уровне операционной системы , контейнерная виртуализация , зонная виртуализация ) — метод виртуализации , при котором ядро операционной системы поддерживает несколько изолированных экземпляров пространства пользователя вместо одного. Эти экземпляры (обычно называемые контейнерами или зонами ) с точки зрения выполняемых в них процессов идентичны отдельному экземпляру операционной системы. Для систем на базе Unix эта технология похожа на улучшенную реализацию механизма chroot . Ядро обеспечивает полную изолированность контейнеров, поэтому программы из разных контейнеров не могут воздействовать друг на друга.

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

Существуют реализации, ориентированные на создание практически полноценных экземпляров операционных систем ( Solaris Containers , контейнеры Virtuozzo , OpenVZ ), так и варианты, фокусирующиеся на изоляции отдельных сервисов с минимальным операционным окружением ( jail , Docker ).

Реализации

Механизм Операционная система Лицензия Дата выпуска Особенности
Изоляция файловой системы Квоты на пространство хранения Лимиты на ввод-вывод Лимиты на память Квоты ЦПУ Изоляция сети Живая миграция
chroot встроено в большинство Unix-подобных операционных систем в зависимости от лицензии на операционную систему 1982 Частично Нет Нет Нет Нет Нет Нет
Docker Linux , FreeBSD , Windows , macOS Apache 2.0 2013 Да Да Да Да Да Да Нет
Solaris Containers Solaris , OpenSolaris CDDL 01/2005 Да Да Нет Да Да Да Нет
Linux GNU GPL - Да Да Нет Да Да Да Нет
iCore Virtual Accounts Windows XP Проприетарное 06/2008 Да Да Нет Нет Нет Да Нет

Linux GNU GPL v.2 - Да Да Да Да Да Да Нет
LXC
Linux GNU GPL v.2 2008 Да Нет Да Да Да Да Нет
OpenVZ Linux GNU GPL v.2 2005 Да Да Да Да Да Да Да
Virtuozzo Containers Linux , Microsoft Windows Проприетарное - Да Да Да Да Да Да Да
FreeBSD Jail FreeBSD BSD 03/2000 Да Да Нет Да Частично Да Нет
OpenBSD , NetBSD BSD - Да Нет Нет Нет Нет Да Нет
AIX Проприетарное 10/2007 Да Да Да Да Да Да Да

Примечания

  1. В Solaris
  2. Контейнеры Solaris 10 имеют изолированную сеть, когда конкретный NIC приписывается контейнеру («exclusive IP»). Сеть не изолирована, но виртуализирована, то есть каждая виртуальная среда имеет свой IP-адрес, брандмауэр и так далее. Изоляция сети должна достигаться на аппаратном уровне. В OpenSolaris изоляция сети реализована, см. OpenSolaris Network Virtualization and Resource Control и . Дата обращения: 1 июня 2010. Архивировано из 1 июня 2008 года. .
  3. Реализована холодная миграция.
  4. Сеть изолирована.
  5. Доступна в ядре 2.6.18-028stable021.
  6. Сеть не изолирована, а виртуализована, то есть каждая виртуальная среда имеет свой IP-адрес, файрвол и так далее. Изоляция сети не поддерживается и должна быть реализована на аппаратном уровне.
  7. С версии 4.0, январь 2008.
  8. С версии TL 02. См. от 1 марта 2012 на Wayback Machine .
  9. См. от 8 июля 2017 на Wayback Machine

Ссылки

  • , PC Magazine 11.05.2009 (недоступная ссылка с 02-09-2018 [2000 дней])
  • . Андрей Колесов, BYTE, 16.06.2009
  • Андрей Колесов. // PC Week/RE. — 2008. — № 10 (616) .
  • (англ.)
Источник —

Same as Контейнеризация