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

Обзор развертывания 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. Процесс включает следующие этапы:

  1. Обновление кэша пакетов и обновление системы до последних версий.
  2. Настройка имени хоста и добавление записи в файл /etc/hosts.
  3. Добавление репозитория Proxmox VE в файл /etc/apt/sources.list.d/pve-install-repo.list.
  4. Импорт ключа подписи репозитория в зависимости от версии Debian:
  5. Для Debian 11: ключ загружается с https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg.
  6. Для Debian 12: ключ загружается с https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg.
  7. Для Debian 13: ключ загружается с https://enterprise.proxmox.com/debian/proxmox-release-trixie.gpg.
  8. Установка необходимых утилит: debconf-utils, isc-dhcp-client.
  9. Установка ядра Proxmox:
  10. Для Debian 11: пакет pve-kernel-5.15.
  11. Для Debian 12 и 13: пакет proxmox-default-kernel.
  12. Перезагрузка сервера для применения нового ядра.
  13. Установка основного пакета proxmox-ve, а также зависимостей postfix и open-iscsi.
  14. Установка службы синхронизации времени chrony (для Debian 12).
  15. Удаление стандартных ядер Debian (linux-image-amd64 и версии 5.10*, 6.1*, 6.12* в зависимости от релиза).
  16. Обновление конфигурации загрузчика командой update-grub.
  17. Удаление пакета os-prober.
  18. Отключение репозитория 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.

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