Обзор развертывания Proxmox VE на сервере¶
Предпосылки и предварительные требования¶
Для успешного развертывания системы необходимо наличие сервера с операционной системой Debian. Поддерживаются следующие версии дистрибутива: - Debian 11 (bullseye) - Debian 12 (bookworm) - Debian 13 (trixie)
Сервер должен иметь доступ к интернету для загрузки пакетов и ключей репозиториев. Требуется наличие прав суперпользователя (root) для выполнения всех операций установки и конфигурации.
Система использует следующие порты и службы: - Порт 8006 для веб-интерфейса Proxmox VE. - Порт 80 и 443 для работы прокси-сервера Nginx и получения SSL-сертификатов.
Структура файлов и каталогов¶
Конфигурационные файлы и данные приложения размещаются в следующих директориях: - /etc/apt/sources.list.d/ — файлы репозиториев Proxmox VE. - /etc/apt/trusted.gpg.d/ — ключи подписи репозиториев. - /root/nginx/ — каталог для конфигурации Docker Compose и прокси-сервера. - /data/nginx/user_conf.d/ — пользовательские конфигурационные файлы Nginx. - /data/nginx/nginx-certbot.env — файл переменных окружения для сервиса Nginx. - /etc/letsencrypt/ — каталог для хранения SSL-сертификатов (подключается как том Docker).
Процесс установки приложения¶
Установка Proxmox VE выполняется через пакетный менеджер apt. Процесс включает следующие этапы:
- Обновление кэша пакетов и обновление системы до последних версий.
- Настройка имени хоста и добавление записи в файл
/etc/hosts. - Добавление репозитория Proxmox VE в файл
/etc/apt/sources.list.d/pve-install-repo.list. - Импорт ключа подписи репозитория в зависимости от версии Debian:
- Для Debian 11: ключ загружается с
https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg. - Для Debian 12: ключ загружается с
https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg. - Для Debian 13: ключ загружается с
https://enterprise.proxmox.com/debian/proxmox-release-trixie.gpg. - Установка необходимых утилит:
debconf-utils,isc-dhcp-client. - Установка ядра Proxmox:
- Для Debian 11: пакет
pve-kernel-5.15. - Для Debian 12 и 13: пакет
proxmox-default-kernel. - Перезагрузка сервера для применения нового ядра.
- Установка основного пакета
proxmox-ve, а также зависимостейpostfixиopen-iscsi. - Установка службы синхронизации времени
chrony(для Debian 12). - Удаление стандартных ядер Debian (
linux-image-amd64и версии5.10*,6.1*,6.12*в зависимости от релиза). - Обновление конфигурации загрузчика командой
update-grub. - Удаление пакета
os-prober. - Отключение репозитория Proxmox Enterprise путем закомментирования строк в файлах
/etc/apt/sources.list.d/pve-enterprise.listили/etc/apt/sources.list.d/pve-enterprise.sources.
Контейнеры Docker и их запуск¶
Для обеспечения работы веб-интерфейса через HTTPS используется Docker.
Установка Docker выполняется через роль docker-managed-install. Для Debian 13 конфигурация службы Docker заменяется на шаблон /lib/systemd/system/docker.service, после чего служба перезапускается.
Конфигурация контейнеров описана в файле /root/nginx/compose.yml. Файл содержит следующие сервисы: - nginx: образ jonasal/nginx-certbot:latest. - Режим перезапуска: unless-stopped. - Режим сети: host. - Переменные окружения: CERTBOT_EMAIL=hkadm@hostkey.com. - Файл переменных: /data/nginx/nginx-certbot.env. - Подключенные тома: - nginx_secrets монтируется в /etc/letsencrypt. - /data/nginx/user_conf.d монтируется в /etc/nginx/user_conf.d.
Запуск контейнеров выполняется командой docker compose up -d из директории /root/nginx.
Прокси серверы¶
Прокси-сервер Nginx развернут в контейнере Docker. Он обрабатывает входящий трафик и перенаправляет его на веб-интерфейс Proxmox VE.
Конфигурация прокси находится в файле /data/nginx/user_conf.d/proxmox{{ server_id }}.hostkey.in.conf. В блоке location / настроена директива пересылки запросов: proxy_pass https://proxmox{{ server_id }}.hostkey.in:8006;
Сертификаты SSL выдаются и обновляются автоматически через встроенный в образ Nginx механизм Certbot.
Настройки прав¶
Права доступа к файлам и директориям настроены следующим образом: - Директория /root/nginx имеет владельца root и группу root с правами 0755. - Файл конфигурации Docker Compose /root/nginx/compose.yml имеет владельца root и группу root с правами 0644. - Служба Docker настроена с параметром KillMode=process и Delegate=yes для корректной работы с cgroups. - Ограничения по памяти и процессам для Docker установлены на infinity (LimitNPROC, LimitCORE, TasksMax).
Запуск, остановка и обновление¶
Управление службами осуществляется через systemd.
Для перезагрузки конфигурации systemd используется команда: systemctl daemon-reload
Для перезапуска службы Docker используется команда: systemctl restart docker
Контейнеры Nginx управляются через Docker Compose из директории /root/nginx: - Запуск: docker compose up -d - Остановка: docker compose down - Обновление конфигурации: изменение файла compose.yml или переменных окружения с последующим запуском docker compose up -d.
Обновление пакетов Proxmox VE и системы выполняется стандартными командами apt update и apt upgrade.