LXD: различия между версиями
Sb (обсуждение | вклад) м (typo-) |
Нет описания правки Метка: ручная отмена |
||
(не показано 10 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
[https://linuxcontainers.org/lxd/introduction/ LXD] это новое поколение системы управления контейнерами базирующееся на Linux containers. | [https://linuxcontainers.org/lxd/introduction/ LXD] это новое поколение системы управления контейнерами, базирующееся на Linux containers. | ||
== Установка и настройка == | == Установка и настройка == | ||
Строка 15: | Строка 15: | ||
== Запуск == | == Запуск == | ||
Доступные образы ALT на images.linuxcontainers.org | |||
$ lxc image list images:alt | |||
Примерный вывод: | |||
{| class="wikitable" | |||
|- | |||
| alt/Sisyphus (3 more) || a6bb3268c7a1 || yes || Alt Sisyphus amd64 (20190710_01:17) || x86_64 || 227.27MB || "Jul 10 || 2019 at 12:00am (UTC)" | |||
|- | |||
| alt/Sisyphus/arm64 (1 more) || 4d860461a016 || yes || Alt Sisyphus arm64 (20190710_01:17) || aarch64 || 177.23MB || "Jul 10 || 2019 at 12:00am (UTC)" | |||
|- | |||
| alt/Sisyphus/i386 (1 more) || 62d0664ce372 || yes || Alt Sisyphus i386 (20190710_01:17) || i686 || 183.37MB || "Jul 10 || 2019 at 12:00am (UTC)" | |||
|- | |||
| alt/Sisyphus/ppc64el (1 more) || 143672c92ab2 || yes || Alt Sisyphus ppc64el (20190710_01:17) || ppc64le || 183.72MB || "Jul 10 || 2019 at 12:00am (UTC)" | |||
|- | |||
| alt/p8 (3 more) || b6674565b63b || yes || Alt p8 amd64 (20190710_01:17) || x86_64 || 231.58MB || "Jul 10 || 2019 at 12:00am (UTC)" | |||
|- | |||
| alt/p8/i386 (1 more) || 864957bdb260 || yes || Alt p8 i386 (20190710_01:17) || i686 || 182.66MB || "Jul 10 || 2019 at 12:00am (UTC)" | |||
|- | |||
| alt/p9 (3 more) || 262a6ff9259c || yes || Alt p9 amd64 (20190710_01:17) || x86_64 || 226.51MB || "Jul 10 || 2019 at 12:00am (UTC)" | |||
|- | |||
| alt/p9/arm64 (1 more) || 7643261d1273 || yes || Alt p9 arm64 (20190710_01:17) || aarch64 || 176.94MB || "Jul 10 || 2019 at 12:00am (UTC)" | |||
|- | |||
| alt/p9/i386 (1 more) || 4faf887493d7 || yes || Alt p9 i386 (20190710_01:17) || i686 || 183.38MB || "Jul 10 || 2019 at 12:00am (UTC)" | |||
|- | |||
| alt/p9/ppc64el (1 more) || df49ca8bf30a || yes || Alt p9 ppc64el (20190710_01:17) || ppc64le || 182.81MB || "Jul 10 || 2019 at 12:00am (UTC)" | |||
|} | |||
Образы доступены для следующих архитектур: | |||
* amd64 | |||
* arm64 | |||
* i386 | |||
* ppc64el | |||
Запустить контейнер. | Запустить контейнер. | ||
$ lxc launch images:alt/p9 first | $ lxc launch images:alt/p9 first | ||
Строка 22: | Строка 54: | ||
$ lxc exec first bash | $ lxc exec first bash | ||
Остановить контейнер. | Остановить контейнер. | ||
$ lxc | $ lxc stop first | ||
И удалить его. | И удалить его. | ||
$ lxc rm first | $ lxc rm first | ||
== Сборка образов == | == Сборка образов == | ||
=== Сборка с использованием официального rootfs === | |||
Образы для lxd собираются с помощью {{pkg|distrobuilder}}. | Образы для lxd собираются с помощью {{pkg|distrobuilder}}. | ||
# apt-get install distrobuilder | # apt-get install distrobuilder | ||
# distrobuilder build-lxd /usr/share/distrobuilder/ | # distrobuilder build-lxd /usr/share/doc/distrobuilder-*/doc/ci/alt.yaml -o image.release=p9 -o image.architecture=amd64 | ||
Вместо {{path|/usr/share/doc/distrobuilder-*/doc/ci/alt.yaml}} можно передать свой конфиг для настройки будущего образа, а через image.release=Sisyphus можно собрать другой релиз (в данном случае Sisyphus). | |||
Добавить полученый образ в lxd. | Добавить полученый образ в lxd. | ||
$ lxc image import lxd.tar.xz rootfs.squashfs --alias myimage | $ lxc image import lxd.tar.xz rootfs.squashfs --alias myimage | ||
=== Сборка с использованием mkimage-profiles === | |||
Наиболее похож на официальный образа профиль <tt>ve/lxc-systemd-networkd</tt>. Собрать его можно следующей командой. | |||
$ make ve/lxc-systemd-networkd.squash | |||
Есть еще профили <tt>ve/lxc-systemd-etcnet</tt> и <tt>ve/lxc-sysvinit-etcnet</tt>. | |||
Для получения метаданных можно использовать скрипт - https://raw.githubusercontent.com/alt-cloud/gen-lxd-metadata/master/gen-lxd-metadata.sh. | |||
Запустив его таким образом (с подстановкой необходимых параметров): | |||
$ ./gen-lxd-metadata.sh \ | |||
--name myimage \ | |||
--description myimage \ | |||
--architecture x86_64 \ | |||
--template-hosts \ | |||
lxd.tar.xz | |||
Осталось добавить полученый образ в lxd. | |||
$ lxc image import lxd.tar.xz lxc-systemd-networkd-latest-x86_64.squash --alias myimage | |||
[[Category:Виртуализация]] | [[Category:Виртуализация]] | ||
{{Category navigation|title=Виртуализация|category=Виртуализация|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=Виртуализация|category=Виртуализация|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 19:14, 26 ноября 2021
LXD это новое поколение системы управления контейнерами, базирующееся на Linux containers.
Установка и настройка
Установить пакет lxd.
# apt-get install lxd
Добавить отображение uid и gid в файлы /etc/subuid и /etc/subgid:
root:100000:65536 lxd:100000:65536
Включить сервис lxd.
# systemctl enable --now lxd
Запустить первоначальную настройку.
# lxd init
Добавить пользователя от которого будет запускаться lxd в группу lxd.
# usermod username --append --groups lxd
Запуск
Доступные образы ALT на images.linuxcontainers.org
$ lxc image list images:alt
Примерный вывод:
alt/Sisyphus (3 more) | a6bb3268c7a1 | yes | Alt Sisyphus amd64 (20190710_01:17) | x86_64 | 227.27MB | "Jul 10 | 2019 at 12:00am (UTC)" |
alt/Sisyphus/arm64 (1 more) | 4d860461a016 | yes | Alt Sisyphus arm64 (20190710_01:17) | aarch64 | 177.23MB | "Jul 10 | 2019 at 12:00am (UTC)" |
alt/Sisyphus/i386 (1 more) | 62d0664ce372 | yes | Alt Sisyphus i386 (20190710_01:17) | i686 | 183.37MB | "Jul 10 | 2019 at 12:00am (UTC)" |
alt/Sisyphus/ppc64el (1 more) | 143672c92ab2 | yes | Alt Sisyphus ppc64el (20190710_01:17) | ppc64le | 183.72MB | "Jul 10 | 2019 at 12:00am (UTC)" |
alt/p8 (3 more) | b6674565b63b | yes | Alt p8 amd64 (20190710_01:17) | x86_64 | 231.58MB | "Jul 10 | 2019 at 12:00am (UTC)" |
alt/p8/i386 (1 more) | 864957bdb260 | yes | Alt p8 i386 (20190710_01:17) | i686 | 182.66MB | "Jul 10 | 2019 at 12:00am (UTC)" |
alt/p9 (3 more) | 262a6ff9259c | yes | Alt p9 amd64 (20190710_01:17) | x86_64 | 226.51MB | "Jul 10 | 2019 at 12:00am (UTC)" |
alt/p9/arm64 (1 more) | 7643261d1273 | yes | Alt p9 arm64 (20190710_01:17) | aarch64 | 176.94MB | "Jul 10 | 2019 at 12:00am (UTC)" |
alt/p9/i386 (1 more) | 4faf887493d7 | yes | Alt p9 i386 (20190710_01:17) | i686 | 183.38MB | "Jul 10 | 2019 at 12:00am (UTC)" |
alt/p9/ppc64el (1 more) | df49ca8bf30a | yes | Alt p9 ppc64el (20190710_01:17) | ppc64le | 182.81MB | "Jul 10 | 2019 at 12:00am (UTC)" |
Образы доступены для следующих архитектур:
- amd64
- arm64
- i386
- ppc64el
Запустить контейнер.
$ lxc launch images:alt/p9 first
Убедится, что он есть.
$ lxc ls
Зайти в него.
$ lxc exec first bash
Остановить контейнер.
$ lxc stop first
И удалить его.
$ lxc rm first
Сборка образов
Сборка с использованием официального rootfs
Образы для lxd собираются с помощью distrobuilder.
# apt-get install distrobuilder # distrobuilder build-lxd /usr/share/doc/distrobuilder-*/doc/ci/alt.yaml -o image.release=p9 -o image.architecture=amd64
Вместо /usr/share/doc/distrobuilder-*/doc/ci/alt.yaml можно передать свой конфиг для настройки будущего образа, а через image.release=Sisyphus можно собрать другой релиз (в данном случае Sisyphus).
Добавить полученый образ в lxd.
$ lxc image import lxd.tar.xz rootfs.squashfs --alias myimage
Сборка с использованием mkimage-profiles
Наиболее похож на официальный образа профиль ve/lxc-systemd-networkd. Собрать его можно следующей командой.
$ make ve/lxc-systemd-networkd.squash
Есть еще профили ve/lxc-systemd-etcnet и ve/lxc-sysvinit-etcnet.
Для получения метаданных можно использовать скрипт - https://raw.githubusercontent.com/alt-cloud/gen-lxd-metadata/master/gen-lxd-metadata.sh. Запустив его таким образом (с подстановкой необходимых параметров):
$ ./gen-lxd-metadata.sh \ --name myimage \ --description myimage \ --architecture x86_64 \ --template-hosts \ lxd.tar.xz
Осталось добавить полученый образ в lxd.
$ lxc image import lxd.tar.xz lxc-systemd-networkd-latest-x86_64.squash --alias myimage