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

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

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

Для успешного развертывания приложения необходимо наличие сервера с операционной системой Ubuntu. Требуется наличие прав суперпользователя для выполнения команд установки и настройки.

Необходимо наличие зарегистрированного доменного имени в формате {{ prefix }}{{ server_id }}.{{ zone }} для получения SSL-сертификатов.

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

Установка приложения выполняется в следующей последовательности:

  1. Обновление и upgrade пакетов системы через менеджер пакетов apt.
  2. Установка программного обеспечения nginx и python3-pip через apt.
  3. Установка утилит certbot и certbot-nginx через менеджер пакетов pip.
  4. Установка платформы Docker с использованием роли docker-managed-install.
  5. Установка приложения PMM с помощью скрипта, загружаемого командой curl -fsSL https://www.percona.com/get/pmm | /bin/bash.

Контейнеры Docker и их запуск

Приложение PMM развертывается в контейнере Docker с именем pmm-server.

Внутри контейнера используется система управления процессами supervisor для управления службами, включая веб-сервер nginx.

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

Веб-сервер nginx работает внутри контейнера pmm-server и выступает в роли прокси-сервера.

Для обеспечения безопасного соединения используется утилита certbot с плагином certbot-nginx. Сертификат выдается для домена, указанного в переменной {{ prefix }}{{ server_id }}.{{ zone }}.

После получения сертификаты копируются из хост-системы в контейнер по следующим путям: - Сертификат: /srv/nginx/certificate.crt - Приватный ключ: /srv/nginx/certificate.key - Цепочка сертификатов: /srv/nginx/ca-certs.pem - Параметры DH: /srv/nginx/dhparam.pem

Файл конфигурации сертификатов размещается по пути /srv/nginx/certificate.conf.

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

После копирования файлов сертификатов в контейнер права на них изменяются. Владелец файлов устанавливается как пользователь pmm из группы pmm.

Команды для изменения прав выполняются внутри контейнера: - chown pmm.pmm /srv/nginx/certificate.crt - chown pmm.pmm /srv/nginx/certificate.key - chown pmm.pmm /srv/nginx/ca-certs.pem - chown pmm.pmm /srv/nginx/dhparam.pem

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

Для перезапуска веб-сервера nginx внутри контейнера используется команда управления supervisorctl:

docker exec -i pmm-server supervisorctl restart nginx
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×