Перайсці да зместу

Кантэйнерызацыя

З Вікіпедыі, свабоднай энцыклапедыі

Кантэйнерызацыя (віртуалізацыя на ўзроўні аперацыйнай сістэмы, кантэйнерная віртуалізацыя, зонавая віртуалізацыя[1]) - метад віртуалізацыі, пры якім ядро аперацыйнай сістэмы падтрымлівае некалькі ізаляваных экзэмпляраў прасторы карыстальніка замест аднаго. Гэтыя экзэмпляры (звычайна называны кантэйнерамі або зонамі) з пункту гледжання працэсаў, што выконваюцца ў іх, ідэнтычныя асобнаму экзэмпляру аперацыйнай сістэмы. Для сістэм на базе 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 Так Так Не Так Так Так[2] Не[3]
FreeVPS Linux GNU GPL - Так Так Не Так Так Так Не
iCore Virtual Accounts Windows XP Прапрыетарнае 06/2008 Так Так Не Не Не Так Не
Linux-VServer[en]

Linux GNU GPL v.2 - Так Так Так Так Так Так[4] Не
LXC

Linux GNU GPL v.2 2008 Так Не Так Так Так Так Не
OpenVZ Linux GNU GPL v.2 2005 Так Так Так[5] Так Так Так[6] Так
Virtuozzo Containers Linux, Microsoft Windows Прапрыетарнае - Так Так Так[7] Так Так Так[6] Так
FreeBSD Jail FreeBSD BSD 03/2000 Так Так Не Так Часткова Так Не
sysjail[en] OpenBSD, NetBSD BSD - Так Не Не Не Не Так Не
WPAR[en] AIX Прапрыетарнае 10/2007 Так Так Так Так Так Так[8] Так[9]

Зноскі

  1. В Solaris
  2. Кантэйнеры Solaris 10 маюць ізаляваную сетку, калі пэўны NIC прыпісваецца кантэйнеру ("exclusive IP"). Сетка не ізаляваная, але віртуалізаваная, гэта значыць кожнае віртуальнае асяроддзе мае свой IP-адрас, брандмаўэр і так далей. Ізаляцыя сеткі павінна дасягацца на апаратным узроўні. У OpenSolaris ізаляцыя сеткі рэалізаваная, гл. OpenSolaris Network Virtualization and Resource Control и Архивированная копия(недаступная спасылка). Архівавана з першакрыніцы 1 чэрвеня 2008. Праверана 1 чэрвеня 2010..
  3. Рэалізавана халодная міграцыя.
  4. Сетка ізалявана.
  5. Даступная ў ядры 2.6.18-028stable021.
  6. а б Сетка не ізаляваная, а віртуалізаваная, гэта значыць кожнае віртуальнае асяроддзе мае свой IP-адрас, файрвол і гэтак далей. Ізаляцыя сеткі не падтрымліваецца і павінна быць рэалізавана на апаратным узроўні.
  7. С версии 4.0, январь 2008.
  8. З версіі TL 02. Глядзі [1] Архівавана 1 сакавіка 2012..
  9. См. [2] Архівавана 8 ліпеня 2017.