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

Обзор развертывания 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 выполняется в несколько этапов:

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

  2. Установка среды виртуализации:

  3. Загрузка и установка lxd через пакетный менеджер snap (версия 5.21/stable).

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

  5. Настройка управления:

  6. Добавление администратора в группу lxd.

  7. Включение веб-интерфейса (UI).

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

  9. Настройка сетевого прокси:

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

  11. Развертывание контейнера Nginx для управления SSL-сертификатами (Certbot).

  12. Настройка конфигурации проксирования, которая перенаправляет трафик с порта 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:

snap refresh lxd --channel 5.21/stable

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

docker compose pull && docker compose up -d

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

Основные данные и файлы конфигурации распределены по следующим путям:

  • /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

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×