Quantcast
Channel: Библиотека знаний
Viewing all articles
Browse latest Browse all 1318

LXC - [Расширенная поддержка]

$
0
0

LXC

LXC это интерфейс в пространстве пользователя для функций сдерживания ядра Linux. Через мощный APIи простые инструменты, он позволяет пользователям Linux легко создавать и управлять системными или прилагаемыми контейнерами.

Установка

$ mkdir  ~/.config/lxc
$ cp/etc/lxc/default.conf ~/.config/lxc/default.conf
$ echo"lxc.id_map = u 0 100000 65536">> ~/.config/lxc/default.conf
$ echo"lxc.id_map = g 0 100000 65536">> ~/.config/lxc/default.conf
$ lxc-create -t debian -n my-container

Контейнеры

Управление

$ lxc-start -n my-container -d
$ lxc-info -n my-container
$ lxc-attach -n my-container
$ lxc-stop -n my-container
$ lxc-destroy -n my-container

vagrant

Работа с контейнером чере vagrant

$ vagrant plugin install vagrant-lxc

Создание непривилегированного контейнера от root

Для запуска общесистемного непривилегированного контейнера (то есть, непривилегированного контейнера запущенного от root) вы должны следовать только части шагов ниже.

А именно, вам нужно вручную выделить диапазон uid и gid для root в /etc/subuid and /etc/subgid. А затем задать этот диапазон в /etc/lxc/default.conf используя такие же записи lxc.id_map как выше.

И все. Root не требует квоты на сетевые устройства и использует общий конфигурационный файл так что другие шаги не применяются.

Любой контейнер создаваемый вами от root с этого момента будет запущен непривилегированным.

Создание привилегированных контейнеров

Привилегированные контейнеры это контейнеры созданные root и запущенные от root.

В зависимости от дистрибутива Linux, они могут быть защищены некоторым сбросом привилегий, профилями apparmor, контекстом selinux или политиками seccomp но все равно, процессы до сих пор запускаются от root и вы не должны давать root доступ внутри привилегированного контейнера недоверенной стороне.

Если вам все еще необходимо создавать привилегированные контейнеры, это довольно просто. Не делайте ничего из настроек описанных выше и LXC будет создавать привилегированные контейнеры.

Так:

$ sudo lxc-create -t download -n privileged-container

Создаст новый "privileged-container" привилегированный контейнер на вашей системе используя образ и загруженного шаблона.

Особенности

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

  • Пространство имен ядра (ipc, uts, mount, pid, сетевые и пользовательские)
  • AppArmor и SELinux профили
  • Условия Seccomp
  • Chroots (используя pivot \ _root)
  • Возможности ядра
  • Контрольные группы (группы управления) (CGroups)

LXC контейнеры часто рассматривается как что-то середнее между Chroot и полноценной виртуальной машинеой. Цель LXC является создание среды максимально близкой к стандартной установке Linux, но без необходимости в отдельном ядре.

Компоненты

LXC в настоящее время состоит из нескольких отдельных компонентов:

  • The liblxc библиотека

Несколько языковых привязок для API:

Набор стандартных инструментов для управления контейнерами Шаблоны контейнеров распространения

Лицензирование

LXC это свободное программное обеспечение, большинство из кода распространяется на условиях лицензии GNU LGPLv2.1 +, некоторые части Android совместимости, выпускаются под стандартную 2-п лицензии BSD, и некоторые бинарные файлы и шаблоны выпущен под лицензией GNU GPLv2.

Лицензия по умолчанию для проекта является GNU LGPLv2.1 +.

Поддержка

Стабильная поддержка релиза LXC опирается на дистрибутивы и их самостоятельные наработки, для внесения стабильных исправлений и обновлений безопасности.

Исходя из потребностей и имеющихся ресурсов из различных дистрибутивов, особые версии LXC могут заказать долгосрочную поддержку с частыми обновлениями исправлений.

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

Коммерческая поддержка для LXC на Ubuntu LTS-релизов могут быть получены из [Canonical Ltd] (http://www.canonical.com).

Расширенная поддержка

На данный момент, только релиз как LXC 1.0, который был выпущен в феврале 2014 года, будет поддерживаться до апреля 2019 года (немного более 5 лет).

Это стало возможным благодаря [Canonical Ltd] (http://www.canonical.com) и Ubuntu, которые включили LXC 1.0 в Ubuntu 14.04 LTS (Long Term Support) и работали в тесном сотрудничестве с LXC поддерживая стабильную 1.0 ветку.

Улучшить этот вебсайтНаверх Содержимое распространяется по лицензии Creative Commons CC BY NC SA Проект спонсируется Canonical Ltd.

Другие системы виртуализации


Viewing all articles
Browse latest Browse all 1318