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