Параметры СУБД#
На этом шаге отредактируйте описание узла PostgreSQL, если он развертывается средствами платформы, или реквизиты доступа к внешней СУБД.
В составе платформы Astra Automation используются две СУБД:
PostgreSQL – реляционная;
Redis – нереляционная.
PostgreSQL#
СУБД PostgreSQL необходима для хранения данных компонентов платформы. Возможно использование уже существующего кластера PostgreSQL, например, развернутого в одном из облачных сервисов управляемых баз данных. Если отдельного кластера PostgreSQL нет, можно развернуть одиночный сервер СУБД средствами платформы на одном из узлов, выделенных для Astra Automation.
Примечание
СУБД PostgreSQL используется платформой для хранения данных, но не является ее частью. Настройка отказоустойчивой конфигурации PostgreSQL в этом руководстве не рассматривается. Для получения соответствующих инструкций обращайтесь к документации PostgreSQL.
Развертывание средствами платформы#
Чтобы средствами платформы развернуть СУБД на отдельном узле, выполните следующие действия:
В описании инвентаря создайте группу
databaseи добавьте в нее сведения об узле, например:[database] database.example.com
database: hosts: database.example.com:
В глобальных переменных укажите значения параметров подключения к СУБД.
При развертывании СУБД средствами платформы в систему автоматически устанавливается расширение hstore.
Дополнительные действия не требуются.
Внешняя СУБД#
Если у вас уже есть кластер PostgreSQL, выполните следующие действия:
Создайте в кластере PostgreSQL пользователей и принадлежащие им базы данных для используемых компонентов платформы.
Убедитесь, что в описании инвентаря группа
databaseсуществует, но не содержит узлов.В глобальных переменных укажите значения параметров подключения к СУБД.
Проверьте, установлено ли расширение
hstoreдля базы данных Private Automation Hub:psql -d <pah_database> -c "SELECT * FROM pg_available_extensions WHERE name='hstore';"
Здесь
<pah_database>– название базы данных.
Если расширение не установлено, выполните следующие действия:
Установите дополнительные пакеты для PostgreSQL:
sudo apt install postgresql-contrib
Создайте расширение
hstoreв базе данных Private Automation Hub:psql -d <pah_database> -c "CREATE EXTENSION hstore;"
Проверьте доступность расширения с помощью запроса:
psql -d <pah_database> -c "SELECT * FROM pg_available_extensions WHERE name='hstore';"
Если расширение установлено и настроено, в терминал выводится таблица следующего вида:
Параметры подключения к PostgreSQL#
Параметры подключения Platform Gateway, Automation Controller, Private Automation Hub и контроллера Event-Driven Automation к СУБД задаются в глобальных переменных:
# ...
[all:vars]
# Platform Gateway
automationgateway_pg_host='database.example.com'
automationgateway_pg_port=5432
automationgateway_pg_database='automationgateway'
automationgateway_pg_username='automationgateway'
automationgateway_pg_password='gwpassword'
# Automation Controller
pg_host='database.example.com'
pg_port=5432
pg_database='awx'
pg_username='automationcontroller'
pg_password='ctrlpassword'
# Automation Hub
automationhub_pg_host='database.example.com'
automationhub_pg_port=5432
automationhub_pg_database='automationhub'
automationhub_pg_username='automationhub'
automationhub_pg_password='hubpgpassword'
# Event-Driven Automation controller
automationedacontroller_pg_host='database.example.com'
automationedacontroller_pg_port=5432
automationedacontroller_pg_database='automationedacontroller'
automationedacontroller_pg_username='automationedacontroller'
automationedacontroller_pg_password='edapassword'
# PostgreSQL TLS
postgres_use_ssl='true'
postgres_ssl_cert='/path/to/ssl/cert'
postgres_ssl_key='/path/to/ssl/key'
---
# ...
all:
vars:
# Platform Gateway
automationgateway_pg_host: database.example.com
automationgateway_pg_port: 5432
automationgateway_pg_database: automationgateway
automationgateway_pg_username: automationgateway
automationgateway_pg_password: gwpassword
# Automation Controller
pg_host: database.example.com
pg_port: 5432
pg_database: awx
pg_username: automationcontroller
pg_password: ctrlpassword
# Automation Hub
automationhub_pg_host: database.example.com
automationhub_pg_port: 5432
automationhub_pg_database: automationhub
automationhub_pg_password: hubpgpassword
# Event-Driven Automation controller
automationedacontroller_pg_host: database.example.com
automationedacontroller_pg_port: 5432
automationedacontroller_pg_database: automationedacontroller
automationedacontroller_pg_username: automationedacontroller
automationedacontroller_pg_password: edapassword
# PostgreSQL TLS
postgres_use_ssl: true
postgres_ssl_cert: /path/to/ssl/cert
postgres_ssl_key: /path/to/ssl/key
Здесь:
pg_host,automationhub_pg_hostиautomationedacontroller_pg_host– IP-адреса или FQDN серверов СУБД для Platform Gateway, Automation Controller, Private Automation Hub и контроллера Event-Driven Automation соответственно.Значение по умолчанию: пустая строка (используется локальное подключение).
automationgateway_pg_port,pg_port,automationhub_pg_portиautomationedacontroller_pg_port– порты для подключения к СУБД для Platform Gateway, Automation Controller, Private Automation Hub и контроллера Event-Driven Automation соответственно.Значение по умолчанию:
5432.automationgateway_pg_database,pg_database,automationhub_pg_databaseиautomationedacontroller_pg_database– названия БД для Platform Gateway, Automation Controller, Private Automation Hub и контроллера Event-Driven Automation соответственно.pg_username,automationhub_pg_usernameиautomationedacontroller_pg_username– названия учетных записей пользователей БД Platform Gateway, Automation Controller, Private Automation Hub и контроллера Event-Driven Automation соответственно.pg_password,automationhub_pg_passwordиautomationedacontroller_pg_password– пароли пользователей БД Platform Gateway, Automation Controller, Private Automation Hub и контроллера Event-Driven Automation соответственно.Примечание
При использовании СУБД, созданной установщиком платформы, пароль указывать не требуется.
postgres_use_ssl– использование SSL при подключении к БД Automation Controller:true– включено;false– выключено.
postgresql_ssl_cert– полный путь к файлу сертификата, который используется для защиты подключения к серверу СУБД PostgreSQL, развернутому установщиком платформы.postgresql_ssl_key– полный путь к файлу ключа сертификата, который используется для защиты подключения к серверу СУБД PostgreSQL, развернутому установщиком платформы.
При использовании SSL по умолчанию используется режим prefer, который можно изменить для каждого компонента отдельно с помощью переменных automationgateway_pg_sslmode, pg_sslmode, automationhub_pg_sslmode и automationedacontroller_pg_sslmode соответственно.
Они могут принимать следующие значения:
prefer– подключение к БД будет защищено с помощью SSL, если использование шифрования поддерживается настройками сервера;verify-full– защита подключения с помощью SSL необходима, производится строгая верификация сервера.
Подробности о поддерживаемых параметрах шифрования см. в документации PostgreSQL.
Redis#
Компоненты Astra Automation используют для кеширования данных сервис Redis, который можно настроить на один из режимов работы в зависимости от выбранной топологии:
standalone– используют в базовой топологии, когда каждый компонент устанавливается на собственном узле, где также устанавливается служба Redis. Этот режим надо указывать явно:[all: vars] redis_mode=standalone
Режим кластера (по умолчанию) – используют в топологии уровня предприятия. В этом режиме надо перечислить все узлы кластера (не менее шести) в том составе, который представлен в рекомендуемой топологии (нельзя включать узлы из плоскостей управления и исполнения):
# Redis cluster [redis] hub1.example.com hub2.example.com gw1.example.com gw2.example.com eda1.example.com eda2.example.com
Пользуются этим кластером только узлы Platform Gateway и EDA. Остальные узлы пользуются собственным сервисом Redis.