• Русский
  • Архитектура

    Reference Document: Zalando Postgres Operator Official Documentation Архитектура PostgreSQL Operator

    PostgreSQL Operator управляет кластерами PostgreSQL, используя паттерн Kubernetes Operator, и в основном состоит из следующих основных компонентов:

    Содержание

    Основные компоненты

    1. Operator Controller

      • Отслеживает изменения в Custom Resource Definitions (CRD) PostgreSQL
      • Отвечает за создание кластера, масштабирование, обновления конфигурации и другие операции
      • Управляет жизненным циклом кластера
    2. Patroni

      • Обеспечивает гарантии высокой доступности
      • Обрабатывает переключение между primary и standby и failover
      • Управляет топологией кластера и статусом участников
    3. Spilo

      • Предоставляет контейнерный образ PostgreSQL
      • Интегрирует Patroni и PostgreSQL
      • Обрабатывает конфигурацию инициализации и запуск
    4. Monitoring Component

      • Интегрирует Prometheus для сбора метрик
      • Предоставляет дашборды Grafana
      • Поддерживает настройку правил оповещений

    Поток данных

    1. Пользователи создают Custom Resource PostgreSQL через Kubernetes API
    2. Operator Controller отслеживает изменения ресурсов и создает связанные ресурсы Kubernetes
    3. Patroni отвечает за инициализацию и управление высокой доступностью кластера
    4. Spilo запускает экземпляр PostgreSQL и применяет конфигурацию
    5. Компонент мониторинга собирает метрики и отображает их

    Режимы

    PostgreSQL Operator поддерживает следующие режимы развертывания:

    • Single Cluster Mode: работает в одном Kubernetes кластере
    • Multi-Cluster Mode: управляет экземплярами PostgreSQL в нескольких Kubernetes кластерах
    • High Availability Mode: обеспечивает автоматический failover через Patroni