LXD: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Метка: ручная отмена
 
(не показано 12 промежуточных версий 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 exec first
  $ lxc stop first
И удалить его.
И удалить его.
  $ lxc rm first
  $ lxc rm first
== Сборка образов ==
=== Сборка с использованием официального rootfs ===
Образы для lxd собираются с помощью {{pkg|distrobuilder}}.
# apt-get install 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.
$ 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