Кластер СУБД PostgreSQL
Общие сведения¶
📌 Кластер PostgreSQL на Patroni — это отказоустойчивая система управления базой данных PostgreSQL, обеспечивающая автоматическое переключение (failover) и высокую доступность. Решение построено на базе PostgreSQL и расширено за счёт Patroni — инструмента управления кластером, который использует etcd/consul и HAProxy (или аналог) для согласования и маршрутизации.
Такой кластер позволяет обеспечить непрерывную доступность данных даже в случае падения одного из узлов и автоматически переключаться на другой без потери данных и ручного вмешательства.
⚙️ Основные возможности:
-
Высокая доступность (HA)
- Patroni контролирует состояние всех узлов и автоматически инициирует переключение master-узла, если текущий недоступен.
- Репликация выполняется в streaming режиме: изменения на ведущем сервере передаются на подчинённые практически мгновенно.
-
Надёжность и отказоустойчивость
- Минимум 3 узла (рекомендуется) позволяют достичь кворума для принятия решений о failover.
- При необходимости кластер можно масштабировать и адаптировать под большие нагрузки.
-
Централизованное хранилище конфигурации
- Используется etcd или Consul как хранилище состояния и конфигурации — это позволяет координировать действия между узлами.
-
Интеграция с HAProxy или Envoy
- Для подключения клиентов используется внешний балансировщик, который направляет запросы на актуальный master-узел PostgreSQL.
- Обеспечивает прозрачность работы с БД со стороны приложений.
-
Мониторинг и контроль
- Поддержка REST API от Patroni для получения состояния кластера.
- Совместим с Prometheus и другими системами мониторинга.
✅ Когда использовать кластер PostgreSQL на Patroni:
- Требуется обеспечить непрерывную работу бизнес-критичных сервисов.
- Недопустима потеря соединения с БД из-за отказа одного узла.
- В проекте используются микросервисы, Kubernetes или облачная архитектура, где отказоустойчивость — обязательное требование.
- Нужно реализовать репликацию, резервирование и автоматический failover с минимальной поддержкой.
- Требуется единая точка входа (VIP) и при этом защита от простоев и ручных переключений.
Заказ сервиса Кластер СУБД PostgreSQL¶
-
Выбор сервиса
На портале пользователя в боковом меню перейдите в раздел Каталог Сервисов и выберите сервис «Кластер СУБД PostgreSQL». -
Заполнение вкладки Build a VM
После выбора сервиса вы окажетесь на вкладке «Build a VM», где необходимо заполнить следующие поля:-
Блок полей Place VM to:
- Environment — выберите среду размещения.
- Location — локация доступная для выбранной среды.
-
Блок полей Number of VMs:
- Number — количество виртуальных машин в кластере. Для продуктивного использования рекомендуется 3 ноды. Количество 1-2 допускается только для тестирования.
-
Блок полей Postgres and Patroni settings:
-
Version — выберите версию PostgreSQL в соответствии с выбранным шаблоном операционной системы:
- Alt: 10, 11, 12, 14, 15, 16
- Astra: 11
- RED: 10, 11, 13, 14, 15, 16
- CentOS 7: 12, 13, 14, 15
- Ubuntu 22: 10, 11, 12, 13, 14, 15, 16, 17
-
Postgres Password — укажите пароль для встроенного пользователя 'postgres'.
- Cluster Name — имя кластера, до 15 символов. Допускаются латинские буквы, цифры и дефис.
- Cluster VIP IP — предварительно зарезервированный, доступный и свободный IP-адрес в выбранной сети для виртуального IP кластера.
-
-
Блок полей VM Configuration:
- Template — шаблон операционной системы (учтите ограничения совместимости с версией PostgreSQL, указанные выше).
- CPU — количество ядер процессора («cores per socket X number of sockets»).
- Memory (GB) — объем оперативной памяти.
- Объем базовых дисков (ГБ) — устанавливается автоматически в зависимости от выбранного шаблона.
- Тип основных дисков — выберите тип дискового накопителя.
- Network — сеть подключения ВМ.
Справа укажите:
- Имя сервиса — обязательное поле для заполнения. Используйте латинские буквы и цифры без пробелов.
- Описание сервиса — краткое описание сервиса (необязательно).
-
После заполнения полей нажмите кнопку «Продолжить» или перейдите во вкладку «Дополнительные опции».
3. Заполнение вкладки «Дополнительные опции»
- Префикс имени ВМ — не более 15 символов, допускаются латинские буквы, цифры и дефис. Если оставить поле пустым, имя будет задано автоматически.
- Описание ВМ — необязательное поле для дополнительного описания.
- Дополнительный диск (ГБ) — можно указать дополнительный диск по необходимости.
- Тип дополнительного диска — тип дополнительного дискового накопителя (SSD/HDD).
После заполнения всех необходимых полей кнопка «Добавить в корзину» станет доступной.
4. Добавление в корзину
Нажмите на кнопку «Добавить в корзину». В верхнем меню справа количество сервисов на иконке корзины обновится (+1).
Ваш заказ на создание кластера PostgreSQL успешно сформирован и готов к дальнейшему оформлению. Продолжайте оформление по стандартной процедуре.