Поделиться через


Развертывание высокодоступной базы данных PostgreSQL в AKS с помощью Azure CLI

В этом руководстве вы развернете высокодоступный кластер PostgreSQL, охватывающий несколько зон доступности Azure в AKS с помощью Azure CLI.

В этой статье описаны предварительные требования для настройки кластера PostgreSQL на Служба Azure Kubernetes (AKS) и обзор полного процесса развертывания и архитектуры.

Внимание

Программное обеспечение с открытым кодом упоминается во всей документации и примерах AKS. Развертываемое программное обеспечение исключается из соглашений об уровне обслуживания AKS, ограниченной гарантии и поддержка Azure. При использовании технологии с открытым исходным кодом вместе с AKS ознакомьтесь с вариантами поддержки, доступными от соответствующих сообществ и обслуживающих проектов для разработки плана.

Например, репозиторий Ray GitHub описывает несколько платформ, которые зависят от времени отклика, назначения и уровня поддержки.

Корпорация Майкрософт несет ответственность за создание пакетов с открытым кодом, которые мы развертываем в AKS. Эта ответственность включает полное владение сборкой, сканированием, подписью, проверкой и исправлением, а также контролем над двоичными файлами в образах контейнеров. Дополнительные сведения см. в статье об управлении уязвимостями для поддержки AKS и AKS.

Необходимые компоненты

  • В этом руководстве предполагается базовое понимание основных концепций Kubernetes и PostgreSQL.
  • Вам потребуется администратор доступа владельца или пользователя и встроенные роли Azure в подписке в учетной записи Azure.
  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

Процесс развертывания

Из этого руководства вы узнаете, как выполнить следующие задачи:

  • Используйте Azure CLI для создания кластера AKS с несколькими зонами.
  • Разверните высокодоступный кластер PostgreSQL и базу данных с помощью оператора CNPG.
  • Настройте мониторинг для PostgreSQL с помощью Prometheus и Grafana.
  • Разверните пример набора данных в базе данных PostgreSQL.
  • Выполните обновление кластера PostgreSQL и AKS.
  • Имитация прерывания кластера и отработка отказа реплики PostgreSQL.
  • Выполните резервное копирование и восстановление базы данных PostgreSQL.

Архитектура развертывания

На этой схеме показана настройка кластера PostgreSQL с одной первичной репликой и двумя репликами чтения, управляемыми оператором CloudNativePG (CNPG ). Архитектура предоставляет высокодоступную postgreSQL, запущенную в кластере AKS, которая может выдержать сбой зоны путем отработки отказа между репликами.

Резервные копии хранятся в Хранилище BLOB-объектов Azure, предоставляя другой способ восстановления базы данных в случае проблемы с репликацией потоковой передачи из первичной реплики.

Схема архитектуры CNPG.

Примечание.

Для приложений, требующих разделения данных на уровне базы данных, можно добавить дополнительные базы данных с командами postInitSQL и аналогичными. В настоящее время оператор CNPG не может добавлять дополнительные базы данных декларативным способом. Дополнительные сведения о операторе CNPG.

Следующие шаги

Соавторы

Корпорация Майкрософт поддерживает эту статью. Следующие участники первоначально написали:

  • Кен Килти | Основной TPM
  • Рассел де Пина | Основной TPM
  • Адриан Джоан | Старший инженер клиента
  • Дженни Хейс | Старший разработчик содержимого
  • Кэрол Смит | Старший разработчик содержимого
  • Эрин Шаффер | Разработчик содержимого 2
  • Адам Шариф | Инженер клиента 2