WEB-интерфейс управления узлом виртуализации LXD


 

Я попробовал наверное все развивающиеся проекты web-интерфейсов управления LXC/LXD фермой виртуализации и в итоге остановился на lxdui от AdaptiveScale. Последние каммиты там датированны четырьмя месяцами назад и этот проект написан на python, что позволит мне его по необходимости дорабатывать.

Официальная страница на GITHUB расположена по адресу: https://github.com/AdaptiveScale/lxdui

Установку я буду проводить на уже настроенный узел LXD, причем я рекомендую не использовать пакет входящий в состав дистрибутива, а собрать LXC по моей инструкции "Сборка гипервизора контейнеров LXC (LXD) из исходных кодов и настройка окружения разработчика". В свежих версиях которые еще не приняли в стабильную ветку наконец то появились механизмы живой миграции между узлами.

За основу для этого теста я взял Ubuntu Server 16.04. Не буду повторяться с установкой демона LXD и сразу расскажу как установить этот web-интерфейс на уже существующий узел LXC/LXD изоляции, а начинаем мы конечно с установки необходимых пакетов:

# apt install -y git build-essential libssl-dev python3-venv python3-dev zfsutils-linux bridge-utils
# aptitude install libffi-dev

Переходим в каталог /opt/ и создаем каталог для хранения нашего web-интерфейса, подготавливаем виртуальное окружение и производим тестовый запуск.

Все это укладывается в следующую последовательность команд в Linux-терминале:

# cd /opt/
# mkdir ./lxd-web
# cd ./lxd-web/
# git clone https://github.com/AdaptiveScale/lxdui.git
# python3 -m venv venvironment
# source ./venvironment/bin/activate
# cd lxdui
# python3 setup.py install
# lxdui start

Если все прошло успешно, то вы увидите следующее сообщение:

LXDUI ver. 2.1.2 -- (c)AdaptiveScale, Inc.
http://www.adaptivescale.com
LXDUI started. Running on http://0.0.0.0:15151
PID=24129, Press CTRL+C to quit

Соответственно мы можем подключаться при помощи браузера к серверу по порту 15151.

Логин и пароль по умолчанию admin/admin после первого входа его лучше конечно изменить и сделать это можно из консоли выполнив команду:

# lxdui user update -u admin

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

Осталось только настроить автозапуск окружения и для этого я буду использовать SupervisorD. Для установки SupervisorD используется команда:

# aptitude install supervisor

А конфигурационный файл для запуска web-интерфейса управления (/etc/supervisor/conf.d/lxd-web.conf) приобретает вид:

[program:lxdui-15151]
command=/opt/lxd-web/venvironment/bin/python3 /opt/lxd-web/lxdui/run.py start
stderr_logfile = /var/log/supervisor/lxdui-stderr.log
stdout_logfile = /var/log/supervisor/lxdui-stdout.log

Перезагрузите сервер и проверьте, что запуск происходит автоматически.