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

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

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

Среда развертывания требует операционную систему на базе Debian с определенными версиями выпуска. Для выполнения задач установки и конфигурирования система должна иметь привилегии суперпользователя (root). Поддерживаются следующие версии Debian:

  • Debian 11 (Bullseye)

  • Debian 12 (Bookworm)

  • Debian 13 (Trixie)

Сервер должен иметь возможность разрешать доменное имя и подключаться к домену hostkey.in. Процесс развертывания включает корректировки сетевой конфигурации, включая обновление имени хоста (hostname) и модификации файла /etc/hosts.

Конфигурация FQDN

Финальная панель управления приложением доступна через Fully Qualified Domain Name (FQDN, полностью квалифицированное доменное имя), структурированное в рамках домена hostkey.in. Формат FQDN следующий:

proxmox<Server ID>.hostkey.in:443

Где <Server ID> — уникальный идентификатор, присвоенный конкретному экземпляру сервера. Сервис работает через обратный прокси-сервер, который отображает внешний порт HTTPS 443 на внутренний порт Proxmox 8006.

Структура файлов и каталогов

В процессе развертывания создаются специфические каталоги, а файлы конфигурации размещаются в стандартных системных путях и пользовательских каталогах данных. Ключевые расположения включают:

  • Каталог конфигурации Nginx: /root/nginx

  • Файл Docker Compose: /root/nginx/compose.yml

  • Конфигурация пользователя: /data/nginx/user_conf.d/proxmox<Server ID>.hostkey.in.conf

  • Системные репозитории: /etc/apt/sources.list.d/pve-install-repo.list

  • Ключи GPG: /etc/apt/trusted.gpg.d/proxmox-release-<debian_release>.gpg

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

Приложение Proxmox VE устанавливается напрямую на операционную систему хоста с использованием пакетного менеджера apt. Процесс включает добавление официального репозитория Proxmox VE, импорт соответствующего ключа GPG в зависимости от версии Debian и установку необходимых пакетов.

Для Debian 11 устанавливается пакет pve-kernel-5.15. Для Debian 12 и Debian 13 используется пакет proxmox-default-kernel. Основное приложение и зависимости устанавливаются через следующие пакеты:

  • proxmox-ve

  • postfix

  • open-iscsi

  • chrony (на Debian 12)

В процессе установки стандартное ядро Debian удаляется для обеспечения использования ядра Proxmox в качестве ядра по умолчанию. После начальной установки ядра требуется перезагрузка системы для применения изменений.

Права доступа и безопасность

Доступ к интерфейсу Proxmox защищен через протокол HTTPS. Развертывание использует Nginx на базе Docker вместе с Certbot для управления SSL/TLS-сертификатами. Контейнер Nginx действует как обратный прокси-сервер, завершая SSL-соединения на стандартном порту HTTPS и пересылая трафик на внутренний порт Proxmox.

Управление межсетевым экраном (firewall) и доступом осуществляется через конфигурацию Nginx и сам сервис Docker. Сервис Nginx настроен на обработку внешних запросов на порту 443 и их пересылку на внутренний сервис, работающий на порту 8006.

Контейнеры Docker и их развертывание

Docker устанавливается на хосте для управления обратным прокси-сервером и обновлением SSL-сертификатов. Для оркестрации сервиса Nginx используется Docker Compose.

Контейнер Docker запускается с использованием образа jonasal/nginx-certbot:latest. Сервис настроен со следующими параметрами:

  • Образ: jonasal/nginx-certbot:latest

  • Политика перезапуска: unless-stopped

  • Режим сети: host

  • Монтирование томов:

  • nginx_secrets отображен на /etc/letsencrypt (внешний том)

  • /data/nginx/user_conf.d отображен на /etc/nginx/user_conf.d

Файл сервиса Docker, расположенный по пути /lib/systemd/system/docker.service, обновляется в Debian 13 (Trixie) для обеспечения совместимости, после чего выполняется перезагрузка демона (daemon reload) и перезапуск сервиса.

Прокси-серверы

Система использует обратный прокси-сервер Nginx, работающий внутри контейнера Docker, для обработки завершения SSL-сессий и маршрутизации. Прокси-сервер настроен на принятие трафика для внешнего домена proxmox<Server ID>.hostkey.in и пересылку его на внутренний интерфейс Proxmox.

Конфигурация включает:

  • Email для Certbot: hkadm@hostkey.com

  • Внутренняя цель: https://proxmox<Server ID>.hostkey.in:8006

  • Файл конфигурации: /data/nginx/user_conf.d/proxmox<Server ID>.hostkey.in.conf

Конфигурация прокси-сервера явно задает директиву proxy_pass для маршрутизации запросов на внутренний сервис Proxmox на порт 8006.

Настройки прав доступа

Каталог конфигурации Nginx создается с определенным владением и правами доступа:

  • Путь: /root/nginx

  • Владелец: root:root

  • Маска прав: 0755

Файл Docker Compose создается со следующими правами:

  • Путь: /root/nginx/compose.yml

  • Владелец: root:root

  • Маска прав: 0644

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

Файлы конфигурации и данные распределены по системе следующим образом:

Путь к файлу/каталогу Описание
/root/nginx/compose.yml Определение Docker Compose для Nginx и Certbot
/data/nginx/user_conf.d/proxmox<Server ID>.hostkey.in.conf Конфигурация блока сервера Nginx
/data/nginx/nginx-certbot.env Переменные окружения для Certbot
/etc/apt/sources.list.d/pve-install-repo.list Источники репозитория Proxmox VE
/etc/apt/trusted.gpg.d/proxmox-release-*.gpg Ключи GPG для проверки пакетов
/root/nginx Базовый каталог конфигурации Docker для Nginx

Доступные порты для подключения

В ходе развертывания открываются следующие конфигурации портов:

Направление Порт Протокол Описание
Внешнее 443 TCP Доступ по HTTPS к интерфейсу Proxmox через Nginx
Внутреннее 8006 TCP Прямой интерфейс управления Proxmox VE (за прокси)

Запуск, остановка и обновление

Сервис Proxmox VE управляется как нативный системный сервис. Прокси-сервер Nginx управляется через Docker Compose.

Команды управления сервисами:

  • Запуск прокси-сервера Nginx:

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

  • Остановка прокси-сервера Nginx:

    cd /root/nginx && docker compose down
    

  • Перезапуск сервиса Docker:

    systemctl restart docker
    

  • Перезагрузка systemd:

    systemctl daemon-reload
    

Для обновления приложения используются стандартные команды apt для получения последних пакетов из репозитория Proxmox, за которым следует перезагрузка системы, если обновлены ядро или основные сервисы.

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