LXD: различия между версиями
Sb (обсуждение | вклад) м (typo-) |
(→Запуск) |
||
(не показано 11 промежуточных версий 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 (20241227_01:17) || x86_64 || CONTAINER || 227.27MB || 2024/12/27 00:00 UTC | |||
|- | |||
| alt/Sisyphus/arm64 (1 more) || 4d860461a016 || yes || Alt Sisyphus arm64 (20241227_01:17) || aarch64 || CONTAINER || 177.23MB || 2024/12/27 00:00 UTC | |||
|- | |||
| alt/Sisyphus/cloud (1 more) || 62d0664ce372 || yes || Alt Sisyphus amd64 (20241227_01:17) || x86_64 || CONTAINER || 183.37MB || 2024/12/27 00:00 UTC | |||
|- | |||
| alt/Sisyphus/cloud/arm64 || 143672c92ab2 || yes || Alt Sisyphus arm64 (20241227_01:17) || aarch64 || CONTAINER || 183.72MB || 2024/12/27 00:00 UTC | |||
|- | |||
| alt/p10 (3 more) || b6674565b63b || yes || Alt p10 amd64 (20241227_01:17) || x86_64 || CONTAINER || 231.58MB || 2024/12/27 00:00 UTC | |||
|- | |||
| alt/p10/arm64 (1 more) || 864957bdb260 || yes || Alt p10 arm64 (20241227_01:17) || aarch64 || CONTAINER || 182.66MB || 2024/12/27 00:00 UTC | |||
|- | |||
| alt/p10/cloud (1 more) || 262a6ff9259c || yes || Alt p10 amd64 (20241227_01:17) || x86_64 || CONTAINER || 226.51MB || 2024/12/27 00:00 UTC | |||
|- | |||
| alt/p10/cloud/arm64 || 7643261d1273 || yes || Alt p10 arm64 (20241227_01:17) || aarch64 || CONTAINER || 176.94MB || 2024/12/27 00:00 UTC | |||
|- | |||
| alt/p11 (3 more) || 4faf887493d7 || yes || Alt p11 amd64 (20241227_01:17) || x86_64 || CONTAINER || 183.38MB || 2024/12/27 00:00 UTC | |||
|- | |||
| alt/p11/arm64 (1 more) || df49ca8bf30a || yes || Alt p11 arm64 (20241227_01:17) || aarch64 || CONTAINER || 182.81MB || 2024/12/27 00:00 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}}}} |
Текущая версия от 17:47, 27 декабря 2024
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 (20241227_01:17) | x86_64 | CONTAINER | 227.27MB | 2024/12/27 00:00 UTC |
alt/Sisyphus/arm64 (1 more) | 4d860461a016 | yes | Alt Sisyphus arm64 (20241227_01:17) | aarch64 | CONTAINER | 177.23MB | 2024/12/27 00:00 UTC |
alt/Sisyphus/cloud (1 more) | 62d0664ce372 | yes | Alt Sisyphus amd64 (20241227_01:17) | x86_64 | CONTAINER | 183.37MB | 2024/12/27 00:00 UTC |
alt/Sisyphus/cloud/arm64 | 143672c92ab2 | yes | Alt Sisyphus arm64 (20241227_01:17) | aarch64 | CONTAINER | 183.72MB | 2024/12/27 00:00 UTC |
alt/p10 (3 more) | b6674565b63b | yes | Alt p10 amd64 (20241227_01:17) | x86_64 | CONTAINER | 231.58MB | 2024/12/27 00:00 UTC |
alt/p10/arm64 (1 more) | 864957bdb260 | yes | Alt p10 arm64 (20241227_01:17) | aarch64 | CONTAINER | 182.66MB | 2024/12/27 00:00 UTC |
alt/p10/cloud (1 more) | 262a6ff9259c | yes | Alt p10 amd64 (20241227_01:17) | x86_64 | CONTAINER | 226.51MB | 2024/12/27 00:00 UTC |
alt/p10/cloud/arm64 | 7643261d1273 | yes | Alt p10 arm64 (20241227_01:17) | aarch64 | CONTAINER | 176.94MB | 2024/12/27 00:00 UTC |
alt/p11 (3 more) | 4faf887493d7 | yes | Alt p11 amd64 (20241227_01:17) | x86_64 | CONTAINER | 183.38MB | 2024/12/27 00:00 UTC |
alt/p11/arm64 (1 more) | df49ca8bf30a | yes | Alt p11 arm64 (20241227_01:17) | aarch64 | CONTAINER | 182.81MB | 2024/12/27 00:00 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