Обзор развертывания LXD на сервере¶
Предварительные требования¶
Для корректной работы приложения необходимо соблюдение следующих условий:
-
Операционная система: Ubuntu 22.04 (jammy).
-
Права доступа: Пользователь должен иметь права
rootили принадлежать к группеlxd. -
Порты:
-
Внутренний порт управления:
8443/tcp. -
Внешний порт для веб-интерфейса:
443/tcp.
FDQN итоговой панели на домене hostkey.in¶
Для доступа к интерфейсу управления используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | lxd |
| Домен | hostkey.in |
| Полный шаблон | lxd{Server_ID_from_Invapi}.hostkey.in |
Процесс установки приложения¶
Установка выполняется в несколько этапов и включает настройку системных компонентов:
-
Подготовка ОС: Установка необходимых системных пакетов
snapdиsquashfs-tools. -
Развертывание LXD:
-
Установка через пакетный менеджер
snap(канал5.21/stable). -
Инициализация хранилища с минимальными настройками по умолчанию.
-
Настройка прав доступа: добавление администратора в группу
lxd. -
Настройка веб-интерфейса: Включение графического интерфейса управления (UI) через системные настройки
snap. -
Сетевая конфигурация:
-
Настройка прослушивания HTTPS на порту
8443. -
Настройка брандмауэра
ufw(если включено в параметрах): разрешается доступ по SSH и к порту8443/tcp. -
Настройка проксирования:
-
Установка Docker и запуск службы.
-
Развертывание контейнера Nginx для обеспечения SSL-соединения через Certbot.
-
Автоматическое создание конфигурационных файлов в
/data/nginx/user_conf.d/с перенаправлением трафика на локальный порт8443.
Контейнеры Docker и их запуск¶
Для работы веб-интерфейса используется следующий контейнер:
| Имя образа | Порты | Тома (volumes) | Переменные окружения | Политика перезапуска |
|---|---|---|---|---|
jonasal/nginx-certbot:latest | host mode | nginx_secrets:/etc/letsencrypt/data/nginx/user_conf.d:/etc/nginx/user_conf.d | CERTBOT_EMAIL=hkadm@hostkey.com (из файла /data/nginx/nginx-certbot.env) | unless-stopped |
Кастомные скрипты и дополнительные настройки¶
В процессе развертывания выполняются следующие действия:
-
Настройка окружения: Создание директории
/root/nginxдля хранения конфигураций Docker Compose. -
Управление проксированием: Скрипт модифицирует файлы конфигурации Nginx в
/data/nginx/user_conf.d/, добавляя директивуproxy_pass https://127.0.0.1:8443;для перенаправления трафика на LXD API. -
Интеграция с панелью: Отправка уведомлений о статусе установки (начало, этапы, завершение) во внешнюю систему мониторинга.
Инструкция по обновлению приложения¶
Для обновления основного компонента (LXD) необходимо выполнить обновление пакета snap:
Если используется Docker-контейнер проксирования, обновите его командой:
Расположение конфигурационных файлов и данных¶
-
Конфигурация Nginx:
/data/nginx/user_conf.d/ -
Данные Certbot (SSL): Внешний том
nginx_secrets. -
Переменные окружения Docker:
/data/nginx/nginx-certbot.env -
Конфигурация Docker Compose:
/root/nginx/compose.yml
Доступные порты для подключения¶
| Порт | Протокол | Назначение |
|---|---|---|
443 | TCP | Внешний доступ к веб-интерфейсу (через Nginx) |
8443 | TCP | Локальный API/UI LXD |
22 | TCP | SSH доступ |