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


Администрирование операционных систем на базе Linux (Debian/Ubuntu и Centos/RedHat) Виртуализация серверов и рабочих станций в Windows и Linux - Hiperv, KVM, VMWare
linux сервер lxc lxd lxdui python server supervisor ubuntu изоляция сервер на базе ubuntu
 
 

* В этом блоге я описываю свою повседневную рабочую практику, поэтому все статьи в блоге написаны лично мной и при копировании их на свой сайт пожалуйста указывайте ссылку на страницу откуда вы скопировали.
* Если какая-то статья вам помогла, то вы можете дать мне немного денег вместо простого спасибо (ссылка на форму поддержки проекта внизу страницы), если вы что-то не поняли или у вас что-то не получается, то вы можете нанять меня и я вам все подробно расскажу (расценки и ссылки в конце статьи).


(последние правки 3 недели, 3 дня)

Я уже неоднократно рассказывал о настройке системы контейнерной изоляции LXD и управлении фермой LXD гипервизоров из консоли, но как верно подметили мои читатели все же хотелось бы иметь удобный графический интерфейс для управления LXD-сервером. Честно говоря какого-то официального web-интерфейса для LXD я не нашел и мне пришлось пробовать все проекты с github.

 

Я попробовал наверное все развивающиеся проекты 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

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

Моя официальная страница на FaceBook
Мой микроблог в твиттер

Сборка гипервизора контейнеров LXC (LXD) из исходных кодов и настройка окружения разработчика

Сборка гипервизора контейнеров LXC (LXD) из исходных кодов и настройка окружения разработчика

Данная статья родилась в процессе работ над проектом по тестировнию функционала горячей миграции контейнеров LXC. Мы провели сборку LXD из git-репозитария и описали шаги для повторения этих манипипуляций в дальнейшем. Дополнительно мы подготовили инструкцию по созданию окружения для наших разработчиков.


Управление дисковыми хранилищами LXD из консоли

Управление дисковыми хранилищами LXD из консоли

В предыдущей статье про базовую настройку окружения разработчика мы получили много вопросов по поводу управления дисковыми пулами и по результатам обсуждения статьи мы подготовили небольшую статью HOW-TO по управлению виртуальными дисками (и хранилищами) системы контейнерной изоляции LXD.


Скрипт и поясняющее видео сборки гипервизора контейнеров LXD из исходных кодов (мастер-ветка)

Скрипт и поясняющее видео сборки гипервизора контейнеров LXD из исходных кодов (мастер-ветка)

В продолжение статьи по сборке GIT-версии гипервизора контейнеров LXD из исходных кодов, я подготовил скрипт выполняющий все описанное в предыдущих статьях в автоматизированном режиме и небольшую видео-демонстрацию того как собрать все в ручном режиме.


OpenVPN-сеть для LXD-кластера без назначения адресов клиентов (использование стороннего DHCP для управления клиентами VPN-сети)

OpenVPN-сеть для LXD-кластера без назначения адресов клиентов (использование стороннего DHCP для управления клиентами VPN-сети)

Представляю вашему вниманию небольшой экскурс в активно используемую мной технологию построения распределенных виртуальных сетей на базе OpenVPN в немного непривычной реализации. Если вы работаете с OpenVPN технологиями, то наверное обратили внимание что практически все руководства описывают OpenVPN сеть где OpenVPN-сервер выступет в качестве DHCP-сервера и назначает адреса для своих клиентов, но я сегодня хотел бы предложить вам уйти от типовых реализаций.


Набор скриптов для управления LXD-фермой

Набор скриптов для управления LXD-фермой

В свете последних сообщений о том, что в системе LXC и LXD было исправлено достаточно много ошибок связанных с утечкой памяти, возникло желание, пересобрать свежие версии LXC и LXD для тестовой фермы и понаблюдать до внедрения на продакшн. Перед внедрением на прод естественно надо посмотреть два-три дня и сравнить полученные за тестовый период метрики. Про пересборку фермы LXC-LXD я уже писал, но сегодня я хотел предложить вашему вниманию набор скриптов которые я использую для построения узла фермы контейнерной виртуализации.


Как вы наверное понимаете, бесплатно сейчас работать никто не будет и если ответ на ваш вопрос потребует больше трех минут времени и вам требуется полноценная консультация, то расценки на мои услуги представленны ниже.


Есть вопросы?
Спрашивайте и я обязательно вам отвечу!

* Поля обязательные для заполнения .