Перейти к содержанию

Обзор развертывания LXD на сервере

Предварительные требования

Для корректной работы приложения необходимо соблюдение следующих условий:

  • Операционная система: Ubuntu 22.04 (jammy).

  • Права доступа: Пользователь должен иметь права root или принадлежать к группе lxd.

  • Порты:

  • Внутренний порт управления: 8443/tcp.

  • Внешний порт для веб-интерфейса: 443/tcp.

FDQN итоговой панели на домене hostkey.in

Для доступа к интерфейсу управления используется следующий шаблон доменного имени:

Параметр Значение
Префикс lxd
Домен hostkey.in
Полный шаблон lxd{Server_ID_from_Invapi}.hostkey.in

Процесс установки приложения

Установка выполняется в несколько этапов и включает настройку системных компонентов:

  1. Подготовка ОС: Установка необходимых системных пакетов snapd и squashfs-tools.

  2. Развертывание LXD:

  3. Установка через пакетный менеджер snap (канал 5.21/stable).

  4. Инициализация хранилища с минимальными настройками по умолчанию.

  5. Настройка прав доступа: добавление администратора в группу lxd.

  6. Настройка веб-интерфейса: Включение графического интерфейса управления (UI) через системные настройки snap.

  7. Сетевая конфигурация:

  8. Настройка прослушивания HTTPS на порту 8443.

  9. Настройка брандмауэра ufw (если включено в параметрах): разрешается доступ по SSH и к порту 8443/tcp.

  10. Настройка проксирования:

  11. Установка Docker и запуск службы.

  12. Развертывание контейнера Nginx для обеспечения SSL-соединения через Certbot.

  13. Автоматическое создание конфигурационных файлов в /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:

snap refresh lxd --channel 5.21/stable

Если используется Docker-контейнер проксирования, обновите его командой:

cd /root/nginx && docker compose pull && docker compose up -d

Расположение конфигурационных файлов и данных

  • Конфигурация 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 доступ
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×