Параметры СУБД#

СУБД PostgreSQL необходима для хранения данных компонентов платформы. Возможно использование уже существующего кластера PostgreSQL, например, развернутого в одном из облачных сервисов управляемых баз данных. Если отдельного кластера PostgreSQL нет, экземпляр СУБД можно средствами платформы развернуть на одном из узлов.

Примечание

СУБД PostgreSQL используется платформой для хранения данных, но не является ее частью. Настройка отказоустойчивой конфигурации PostgreSQL в этом руководстве не рассматривается. Для получения соответствующих инструкций обращайтесь к документации PostgreSQL.

Развертывание средствами платформы#

Чтобы средствами платформы развернуть экземпляр СУБД на отдельном узле, выполните следующие действия:

  1. Создайте в инвентаре группу database и добавьте в нее сведения об узле, например:

    [database]
    database.example.com   ansible_host=192.0.2.101
    
    database:
      hosts:
        database.example.com:
          ansible_host: 192.0.2.101
    
  2. В глобальных переменных укажите значения параметров подключения к СУБД.

Внешняя СУБД#

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

  1. Создайте в кластере PostgreSQL пользователей и принадлежащие им базы данных для используемых компонентов платформы.

  2. Убедитесь, что в инвентаре установщика группа database существует, но не содержит узлов.

  3. В глобальных переменных укажите значения параметров подключения к СУБД.

Параметры подключения к PostgreSQL#

Параметры подключения Automation Controller, Private Automation Hub и контроллера Event-Driven Ansible к СУБД задаются в глобальных переменных:

[all:vars]
# СУБД для Automation Controller
pg_host = 'database.example.com'
pg_port = 5432
pg_database = 'automationcontroller'
pg_username = 'automationcontroller'
pg_password = 'ctrlpassword'
pg_sslmode = 'prefer'
postgres_use_ssl = True
postgres_ssl_cert = /path/to/ssl/cert
postgres_ssl_key = /path/to/ssl/key

# СУБД для Automation Hub
automationhub_pg_host = 'database.example.com'
automationhub_pg_port = '5432'
automationhub_pg_database = 'automationhub'
automationhub_pg_username = 'automationhub'
automationhub_pg_password = 'hubpgpassword'
automationhub_pg_sslmode = 'prefer'

# СУБД для контроллера Event-Driven Ansible
automationedacontroller_pg_host = 'database.example.com'
automationedacontroller_pg_port = '5432'
automationedacontroller_pg_database = 'automationedacontroller'
automationedacontroller_pg_username = 'automationedacontroller'
automationedacontroller_pg_password = 'edapassword'
automationedacontroller_pg_sslmode = 'prefer'
all:
  vars:
    # СУБД для Automation Controller
    pg_host: 'database.example.com'
    pg_port: 5432
    pg_database: 'automationcontroller'
    pg_username: 'automationcontroller'
    pg_password: 'ctrlpassword'
    pg_sslmode: 'prefer'
    postgres_use_ssl: true
    postgres_ssl_cert: /path/to/ssl/cert
    postgres_ssl_key: /path/to/ssl/key

    # СУБД для Automation Hub
    automationhub_pg_host: 'database.example.com'
    automationhub_pg_port: '5432'
    automationhub_pg_database: 'automationhub'
    automationhub_pg_username: 'automationhub'
    automationhub_pg_password: 'hubpgpassword'
    automationhub_pg_sslmode: 'prefer'

    # СУБД для контроллера Event-Driven Ansible
    automationedacontroller_pg_host: 'database.example.com'
    automationedacontroller_pg_port: '5432'
    automationedacontroller_pg_database: 'automationedacontroller'
    automationedacontroller_pg_username: 'automationedacontroller'
    automationedacontroller_pg_password: 'edapassword'
    automationedacontroller_pg_sslmode: 'prefer'

Здесь:

  • pg_host, automationhub_pg_host и automationedacontroller_pg_host– IP-адреса или FQDN серверов СУБД для Automation Controller, Private Automation Hub и контроллера Event-Driven Ansible соответственно.

    Значение по умолчанию – пустая строка (используется локальное подключение).

  • pg_port, automationhub_pg_port и automationedacontroller_pg_port – порты для подключения к серверам СУБД для Automation Controller, Private Automation Hub и контроллера Event-Driven Ansible соответственно.

    Значение по умолчанию – 5432.

  • pg_database, automationhub_pg_database и automationedacontroller_pg_database – названия БД для Automation Controller, Private Automation Hub и контроллера Event-Driven Ansible соответственно.

  • pg_username, automationhub_pg_username и automationedacontroller_pg_username – названия учетных записей пользователей БД Automation Controller, Private Automation Hub и контроллера Event-Driven Ansible соответственно.

  • pg_password, automationhub_pg_password и automationedacontroller_pg_password – пароли пользователей БД Automation Controller, Private Automation Hub и контроллера Event-Driven Ansible соответственно.

    При использовании локального подключения пароль указывать не требуется.

  • pg_sslmode, automationhub_pg_sslmode и automationedacontroller_pg_sslmode – режим использования SSL.

    Может принимать следующие значения:

    • prefer – подключение к БД будет защищено с помощью SSL, если использование шифрования поддерживается настройками сервера (по умолчанию);

    • verify-full – защита подключения с помощью SSL необходима, производится строгая верификация сервера.

  • postgres_use_ssl – использование SSL при подключении к БД Automation Controller:

    • True – включено;

    • False – выключено.

  • postgresql_ssl_cert – полный путь к файлу сертификата, который используется для защиты подключения к серверу СУБД PostgreSQL, развернутому установщиком платформы.

  • postgresql_ssl_key – полный путь к файлу ключа сертификата, который используется для защиты подключения к серверу СУБД PostgreSQL, развернутому установщиком платформы.

    Примечание

    Файлы сертификата и его ключа должны размещаться в каталоге /opt/rbta/aa/astra-automation-setup/ или одном из его подкаталогов.

    Подробности о поддерживаемых параметрах шифрования см. в документации PostgreSQL.