Справочные данные#
Описание инвентаря для развертывания платформы с помощью утилит aa-setup имеет множество особенностей.
Форматы инвентаря#
Инвентарь установщика может иметь формат INI или YAML.
Инвентарь в формате INI имеет следующие особенности:
Для формирования групп узлов используют секции. Название каждой секции обрамляется квадратными скобками
[].[automationcontroller]Параметры отдельных узлов задают в той же строке, что и название узла. Название параметра и его значение указывают в одной строке через знак
=. Для разделения нескольких параметров используются символы пробела.[automationcontroller] node1 node_type=control node2 node_type=control
Переменные, общие для всех узлов группы, задают в секции, название которой состоит из названия группы узлов и суффикса
:vars.[automationcontroller:vars] ansible_user='administrator' ansible_ssh_private_key='/path/to/ssh/private/key' node_type='control'
В секции
[all:vars]задают глобальные переменные – они действуют на все узлы, указанные в инвентаре.[all:vars] pgdatabase='controllerdb'
Инвентарь в формате YAML имеет следующие особенности:
Для формирования групп узлов использует запись следующего вида:
automationcontroller: hosts:
Для перечисления узлов используют блоки, а не списки. Название узла указывается в названии блока.
automationcontroller: hosts: node1: ansible_connection: ssh node_type: control node2: ansible_connection: ssh node_type: control
Переменные, общие для всех узлов группы, задают в блоке
<group>.vars:automationcontroller: hosts: node1: ansible_ssh_private_key_file: ssh-keys/node1_key node2: ansible_ssh_private_key_file: ssh-keys/node2_key vars: ansible_connection: ssh node_type: control
Глобальные переменные задают в блоке
all.vars:all: vars: pgdatabase: controllerdb
Примечание
С целью сокращения все настройки описываются для инвентаря формата INI.
Переменные компонентов платформы можно задавать на следующих уровнях:
Для всех узлов.
Для группы узлов.
Чтобы задать переменные для всех узлов определенной группы, создайте соответствующую секцию. Название секции формирует по следующему принципу:
[<group>:vars]Здесь <group> – название группы узлов.
Например, чтобы задать переменные для узлов из группы
mainсоздайте секцию[main:vars]:[main] node1.example.com node2.example.com node3.example.com [main:vars] ansible_user='administrator' ansible_ssh_private_key='/path/to/ssh/private/key'
Эта запись эквивалентна следующей:
[main] node1.example.com ansible_user=administrator ansible_ssh_private_key=/path/to/ssh/private/key node2.example.com ansible_user=administrator ansible_ssh_private_key=/path/to/ssh/private/key node3.example.com ansible_user=administrator ansible_ssh_private_key=/path/to/ssh/private/key
Для отдельных узлов в соответствующих строках.
При определении значений настроек используется следующий порядок:
глобальные переменные;
переменные группы;
переменные отдельных узлов.
Более поздние значения перезаписывают более ранние.
Настройка подключения#
Тип подключения к узлам платформы задают переменной ansible_connection:
local– локальное подключение к узлу. Используют для развертывания компонента платформы на установочном узле (не рекомендуется).ssh– подключение с использованием протокола SSH (по умолчанию).paramiko– подключение с использованием протокола Paramiko.
Основные переменные подключения#
Для всех типов подключения возможно использование следующих дополнительных настроек:
ansible_host– IP-адрес управляемого узла.Предупреждение
Использование переменной
ansible_hostдопускается только в том случае, когда нет возможности указать FQDN узла. Указание FQDN одновременно с использованием переменнойansible_hostне рекомендуется.ansible_port– номер порта, через который следует выполнять подключение к управляемому узлу. При использовании протокола SSH значение по умолчанию –22.ansible_user– название учетной записи, от имени которой следует выполнять подключение к управляемому узлу.ansible_password– пароль учетной записи.
Настройка протокола SSH#
Для протокола SSH доступны следующие переменные:
ansible_scp_extra_args– дополнительные аргументы вызова утилитыscp.ansible_sftp_extra_args– дополнительные аргументы вызова утилитыsftp.ansible_ssh_common_args– дополнительные аргументы вызова утилитssh,scpиsftp.ansible_ssh_executable– путь к исполняемому файлу утилитыssh, который следует использовать вместо системного.ansible_ssh_extra_args– дополнительные аргументы вызова утилитыssh.ansible_ssh_pipelining– сокращение количества операций подключения к управляемым узлам за счет выполнения некоторых модулей без копирования файлов:true– включено;false– выключено (по умолчанию).
ansible_ssh_private_key_file– путь к файлу приватного ключа SSH.
Повышение привилегий#
Для выполнения некоторых операций требуются повышенные привилегии. Способы их получения задают в следующих настройках:
ansible_become– принудительное использование повышения привилегий;ansible_become_exe– путь к исполняемому файлу, используемому для повышения привилегий;ansible_become_flags– дополнительные флаги, используемые для выбранного метода повышения привилегий;ansible_become_method– метод повышения привилегий;ansible_become_user– название учетной записи, используемой для повышения привилегий;ansible_become_password– пароль учетной записи, используемой для повышения привилегий.
Настройка окружения управляемых узлов#
Параметры выполнения сценариев Ansible на управляемых узлах задают в следующих настройках:
ansible_shell_type– тип оболочки на управляемом узле:csh;fish;sh(по умолчанию).
Важно
Значение этой переменные нужно изменять только если значением переменные
ansible_shell_executableвыбрана оболочка, не совместимая сsh.ansible_shell_executable– путь к командному интерпретатору.Важно
Значение этой переменной нужно изменять только в том случае, когда использование
/bin/shпо какой-либо причине невозможно.Значение по умолчанию:
/bin/sh.
Группы узлов#
Переменные для отдельных компонентов платформы задают в соответствующих секциях:
Platform Gateway –
[automationgateway].Automation Controller:
[automationcontroller]– узлы плоскости управления;[execution_nodes]– исполняющие узлы;[instance_group_<name>]– группа исполняющих узлов;дополнительные группы для промежуточных и исполняющих узлов.
Private Automation Hub –
[automationhub].Контроллер Event-Driven Automation –
[automationedacontroller].СУБД –
[database].На указанном узле средствами платформы будет развернута СУБД PostgreSQL, а в ней создана база данных для Automation Controller.
[database] rdbs.example.com
Важно
Узел, используемый для развертывания PostgreSQL, не должен использоваться для других целей, например, запуска заданий или управления контроллером.
Если для хранения баз данных будет использован внешний PostgreSQL, секцию
[database]надо создать, но оставить пустой.
Настройка Platform Gateway#
Переменные Platform Gateway задают в секциях [automautomationgateway], [automationgateway:vars] и [all:vars].
Настройка узлов#
В секции [automationgateway] задают параметры подключения к узлам Platform Gateway, например:
[automationgateway]
gateway1.example.com
gateway2.example.com
Учетные данные администратора#
Учетные данные администратора Platform Gateway задают следующими глобальными переменными:
automationgateway_admin_password– пароль;automationgateway_admin_username– название учетной записи.Предупреждение
Учетная запись администратора для Platform Gateway не создается автоматически. В описании инвентаря необходимо указать соответствующую переменную:
automationgateway_admin_username='admin'.automationgateway_admin_email– адрес электронной почты.
Сеть#
Параметры сети задают следующими глобальными переменными:
automationgateway_http_port– номер порта, на котором Platform Gateway прослушивает входящие HTTP-соединения.Значение по умолчанию:
80.automationgateway_https_port– номер порта, на котором Platform Gateway прослушивает входящие HTTPS-соединения.Значение по умолчанию:
443.automationgateway_ssl_cert– путь к файлу сертификата TLS, используемого веб-сервером.automationgateway_ssl_key– путь к файлу ключа сертификата TLS, используемого веб-сервером.automationgateway_ssl_protocol– протоколы, которые Platform Gateway будет поддерживать при обработке HTTPS-трафика.Значение по умолчанию:
TLSv1_2, TLSv1_3.automationgateway_https_enabled– включение HTTPS для Platform Gateway.true– включено;false– выключено.
automationgateway_hsts_enabled– включение HTTP Strict Transport Security (HSTS) для Platform Gateway.true– включено;false– выключено.
automationgateway_hsts_max_age– максимальная длительность (в секундах), в течение которой HSTS принудительно применяется для Platform Gateway.automationgateway_main_url– URL, к которому подключаются клиенты и который используют внутренние компоненты платформы для взаимодействия между собой.Используют при развертывании кластера, когда требуется использовать URL балансировщика нагрузки вместо серверного адреса компонента. Значение URL должно начинаться с
https://илиhttp://.
СУБД#
Параметры подключения Platform Gateway к СУБД задают следующими глобальными переменными:
automationgateway_pg_database– название базы данных.Значение по умолчанию:
automationgateway.automationgateway_pg_host– IP-адрес или FQDN узла с СУБД.Предупреждение
Переменная
automationgateway_pg_hostне имеет значения по умолчанию, но указание ее значения обязательно вне зависимости от типа базы данных (внешняя СУБД или СУБД, развертываемая средствами платформы). Для отказоустойчивого внешнего PostgreSQL используйте стабильную точку подключения к основному узлу PostgreSQL, а не адрес конкретного узла СУБД. При использовании стабильной точки подключения ручное изменение значения после изменения основного узла кластера не требуется.automationgateway_pg_password– пароль учетной записи СУБД.Значение по умолчанию:
automationgateway.automationgateway_pg_port– порт СУБД.Значение по умолчанию:
5432.automationgateway_pg_username– название учетной записи СУБД.Значение по умолчанию:
automationgateway.automationgateway_pg_sslmode– режим использования SSL при подключении к СУБД:prefer(по умолчанию) – подключение к СУБД будет защищено с помощью SSL, если сервер поддерживает шифрование;verify-full– защита подключения с помощью SSL необходима, производится строгая верификация сервера. Соединение не будет установлено, если это условие не выполнено.
automationgateway_postgres_ssl_cert– путь к файлу сертификата SSL/TLS, используемого для защиты подключения к серверу СУБД PostgreSQL.automationgateway_postgres_ssl_key– путь к файлу ключа сертификата SSL/TLS, используемого для защиты подключения к серверу СУБД PostgreSQL.automationgateway_postgres_use_ssl– использование SSL для защиты подключения к СУБД:true– включено (по умолчанию);false– выключено.
Redis#
Параметры подключения Platform Gateway к Redis задают в следующих глобальных настройках:
automationgateway_redis_host– адрес узла Redis, используемого Platform Gateway.По умолчанию используется первый узел из группы
[redis].automationgateway_redis_port– номер порта узла Redis, используемого Platform Gateway.automationgateway_redis_password– пароль для доступа к Redis.По умолчанию используется случайно сгенерированная строка.
automationgateway_redis_username– название учетной записи пользователя Redis.automationgateway_redis_ssl– включение TLS для Redis Platform Gateway.true– включено;false– выключено (по умолчанию).
automationgateway_redis_cert– путь к файлу сертификата Redis для Platform Gateway.automationgateway_redis_key– путь к файлу ключа Redis для Platform Gateway.
gRPC#
gRPC является встроенным сервисом, обеспечивающим аутентификацию пользователя через внешние системы (SSO, Single Sign-On) и перенаправление запроса пользователя к требуемому компоненту платформы. Следующие переменные влияют на его работу:
automationgateway_grpc_processes– количество процессов для обработки gRPC-запросов к Platform Gateway.automationgateway_grpc_max_threads– максимальное количество потоков, которые каждый процесс gRPC-сервера может создать для обработки запросов к Platform Gateway.automationgateway_grpc_timeout– длительность тайм-аута (в секундах) для запросов, осуществляемых к gRPC-сервису Platform Gateway.
Дополнительные переменные#
Следующие переменные используются реже, чем представленные ранее:
automationgateway_extra_settings– дополнительные переменные для использования Platform Gateway при установке.Например:
automationgateway_extra_settings: - setting: OAUTH2_PROVIDER['ACCESS_TOKEN_EXPIRE_SECONDS'] value: 600automationgateway_nginx_headers– список дополнительных заголовков NGINX для добавления в конфигурацию NGINX Platform Gateway.automationgateway_client_max_body_size– максимальный допустимый размер (в байтах) данных, отправляемых в Platform Gateway через NGINX.automationgateway_web_workers– количество рабочих процессов для обработки веб-запросов к Platform Gateway.По умолчанию: количество ядер CPU, умноженное на два, плюс один.
automationgateway_firewall_zone– зона сети, к которой применяются правила сетевого фильтра Platform Gateway.Контролирует, какие сети могут получать доступ к Platform Gateway на основе уровня доверия зоны.
automationgateway_web_cert_local– указание того, являются ли файлы сертификатов веб-сервера локальными для установочного узла (true) или находятся на управляемом узле (false).automationgateway_db_client_cert_local– указание того, являются ли файлы сертификатов клиента PostgreSQL локальными для установочного узла (true) или находятся на управляемом узле (false).automationgateway_ca_cert_local– указание того, являются ли файлы сертификатов, предоставленные Platform Gateway, локальными для установочного узла (true) или находятся на управляемом узле (false).automationgateway_cache_cert_local– указание того, являются ли файлы сертификатов клиента кэша локальными для установочного узла (true) или находятся на управляемом узле (false).Значение по умолчанию: значение параметра
ca_cert_local.automationgateway_ssl_verify– указание того, следует ли проверять веб-сертификаты Platform Gateway при выполнении вызовов из Platform Gateway к себе во время установки.automationgateway_compress_archive– включение сжатия архива для Platform Gateway.true– включено;false– выключено.
automationgateway_compress_database– включение сжатия базы данных для Platform Gateway.true– включено;false– выключено.
automationgateway_regenerate_cache_certs– указание того, следует ли повторно создавать сертификаты клиента Platform Gateway для кэша платформы.true– включено;false– выключено (по умолчанию).
automationgateway_disable_https_for_ui– отключение HTTPS при доступе к UI платформы.true– выключено;false– включено (по умолчанию).
automationgateway_pg_client_cert_auth– включение аутентификации по сертификату клиента на базе данных PostgreSQL Platform Gateway.true– включено;false– выключено (по умолчанию).
automationgateway_pg_client_cert– путь к файлу сертификата TLS клиента для подключения к СУБД PostgreSQL.Требуется, если включена аутентификация по сертификату клиента (
automationgateway_pg_client_cert_auth).automationgateway_pg_client_key– путь к файлу ключа SSL/TLS клиента для подключения к СУБД PostgreSQL.Требуется, если включена аутентификация по сертификату клиента (
automationgateway_pg_client_cert_auth).automationgateway_secret_key– значение секретного ключа, используемое Platform Gateway для подписи и шифрования данных.automationgateway_envoy_http_port– номер порта, на котором прокси Envoy прослушивает входящие HTTP-соединения.automationgateway_envoy_https_port– номер порта, на котором прокси Envoy прослушивает входящие HTTPS-соединения.
Настройка Automation Controller#
Переменные узлов Automation Controller задают в соответствующих секциях, а учетные данные администратора и переменные подключения к СУБД – в секции [all:vars].
Настройка узлов#
Для узлов Automation Controller доступны переменные, задающие тип узла (node_type) и связанную группу узлов (peers).
node_type– тип узла:control– управляющий;execution– исполняющий;hop– промежуточный;hybrid– гибридный.
Для узлов из секции
[automationcontroller]можно использовать только типыcontrolиhybrid(по умолчанию), однако в рекомендуемых топологиях представлен только типcontrol.Для узлов из секции
[execution_nodes]можно использовать только типыhopиexecution(по умолчанию).peers– название связанной группы узлов.С помощью
peersнастраивается связь между плоскостью управления и плоскостью исполнения.Пример использования переменной
peersсм. в описании развертывания кластера Automation Controller с удаленным исполнением.
Учетные данные системного администратора#
Учетные данные системного администратора Automation Controller задают следующими переменными:
admin_email– адрес электронной почты;admin_password– пароль;admin_username– название учетной записи.Предупреждение
Учетная запись администратора для Automation Controller не создается автоматически. В описании инвентаря необходимо указать соответствующую переменную:
admin_username='admin'.
Сеть#
Параметры сети Automation Controller задают следующими глобальными переменными:
mesh_ca_certfile– путь к файлу сертификата сети Mesh.mesh_ca_keyfile– путь к файлу ключа сертификата сети Mesh.receptor_listener_port– номер порта, используемый рецептором.Значение по умолчанию:
27199.web_server_ssl_cert– путь к файлу сертификата веб-сервера.web_server_ssl_key– путь к файлу ключа сертификата веб-сервера.
СУБД#
Параметры подключения Automation Controller к СУБД задают следующими глобальными переменными:
pg_database– название базы данных.Значение по умолчанию:
awx.pg_host– IP-адрес или FQDN узла с СУБД.Предупреждение
Переменная
pg_hostне имеет значения по умолчанию, но указание ее значения обязательно вне зависимости от типа базы данных (внешняя СУБД или СУБД, развертываемая средствами платформы). Для отказоустойчивого внешнего PostgreSQL используйте стабильную точку подключения к основному узлу PostgreSQL, а не адрес конкретного узла СУБД. При использовании стабильной точки подключения ручное изменение значения после изменения основного узла кластера не требуется.pg_password– пароль учетной записи СУБД.Значение по умолчанию:
awx.pg_port– порт СУБД.Значение по умолчанию:
5432.pg_sslmode– режим использования SSL при подключении к СУБД:prefer– подключение к СУБД будет защищено с помощью SSL, если использование шифрования поддерживается настройками сервера (по умолчанию);verify-full– защита подключения с помощью SSL необходима, производится строгая верификация сервера.
pg_username– название учетной записи учетной записи СУБД.Значение по умолчанию:
awx.postgres_ssl_cert– путь к файлу сертификата, который используется для защиты подключения к серверу СУБД PostgreSQL, развернутому средствами платформы.postgres_ssl_key– путь к файлу ключа сертификата, который используется для защиты подключения к серверу СУБД PostgreSQL, развернутому средствами платформы.postgres_use_ssl– использование SSL для защиты подключения к СУБД:true– включено (по умолчанию);false– выключено.
Настройка Private Automation Hub#
Переменные Private Automation Hub задают в секциях [automationhub], [automationhub:vars] и [all:vars].
Настройка узлов#
В секции [automationhub] задают переменные подключения к узлам Private Automation Hub, например:
[automationhub]
hub1.example.com
hub2.example.com
Учетные данные администратора#
Учетные данные администратора Private Automation Hub задают следующими глобальными переменными:
automationhub_admin_password– пароль.automationhub_admin_user– название учетной записи.Значение по умолчанию:
admin.
Сеть#
Сетевую настройку Private Automation Hub определяют с помощью следующих переменных:
automationhub_ssl_cert– путь к файлу сертификата TLS, используемого веб-сервером.automationhub_ssl_key– путь к файлу ключа сертификата TLS, используемого веб-сервером.
СУБД#
Параметры подключения Private Automation Hub к СУБД задают следующими глобальными переменными:
automationhub_pg_database– название базы данных.Значение по умолчанию:
automationhub.automationhub_pg_host– IP-адрес или FQDN узла с СУБД.Предупреждение
Переменная
automationhub_pg_hostне имеет значения по умолчанию, но указание ее значения обязательно вне зависимости от типа базы данных (внешняя СУБД или СУБД, развертываемая средствами платформы). Для отказоустойчивого внешнего PostgreSQL используйте стабильную точку подключения к основному узлу PostgreSQL, а не адрес конкретного узла СУБД. При использовании стабильной точки подключения ручное изменение значения после изменения основного узла кластера не требуется.automationhub_pg_password– пароль учетной записи СУБД.Значение по умолчанию:
automationhub.automationhub_pg_port– порт СУБД.Значение по умолчанию:
5432.automationhub_pg_username– название учетной записи учетной записи СУБД.Значение по умолчанию:
automationhub.
Настройка хранилища S3#
Параметры подключения к хранилищу S3 задают следующими глобальными переменными:
s3_access_key– ключ доступа к объектному хранилищу.s3_addressing_style– стиль адресации объектов в хранилище:auto– если возможно, используется стильvirtual, в противном случае –path;path– название хранилища включено в путь URI (по умолчанию);virtual– название хранилища включено в FQDN узла.
s3_bucket_name– название хранилища.s3_default_acl– список контроля доступа (access control list, ACL), используемый при работе с хранилищем по умолчанию.Список возможных значений зависит от типа используемого хранилища. Рекомендуется не задавать значение этого параметра в инвентаре, а выполнить необходимые настройки на стороне хранилища.
Значение по умолчанию:
omit.s3_endpoint_url– точка доступа к хранилищу.s3_region_name– название региона, в котором размещено хранилище.Список возможных значений зависит от типа используемого хранилища.
s3_secret_key– секретный ключ для доступа к хранилищу.s3_signature_version– версия подписи, используемая для работы с хранилищем:s3v4(по умолчанию);s3.Примечание
Это значение считается устаревшим и не рекомендуется к использованию.
s3_use_sigv4– подписывание запросов к хранилищу с помощью AWS Signature V4:true– включено (по умолчанию);false– выключено.
Настройка резервного копирования#
Глобальная настройка automationhub_backup_collections управляет включением загруженных коллекций в резервную копию, создаваемую с помощью утилиты aa-setup:
true– коллекции из Private Automation Hub включаются в резервную копию (по умолчанию);false– коллекции из Private Automation Hub не включаются в резервную копию.
Когда содержимое Private Automation Hub размещается в хранилище S3, по умолчанию назначается false.
Для этого случая оно является рекомендуемым.
Настройка контроллера Event-Driven Automation#
Переменные контроллера Event-Driven Automation задают в секциях [automationedacontroller] и [all:vars].
Настройка узла#
В секции [automationedacontroller] задают переменные подключения к узлу контроллера Event-Driven Automation, например:
[automationedacontroller]
edac.example.com
Учетные данные администратора#
Учетные данные администратора контроллера Event-Driven Automation задают следующими глобальными переменными:
automationedacontroller_admin_password– пароль;automationedacontroller_admin_username– название учетной записи.Значение по умолчанию – «admin». В текущей версии изменять это значение нельзя.
Сеть#
automationedacontroller_ssl_cert– путь к файлу сертификата TLS, используемого веб-сервером.automationedacontroller_ssl_key– путь к файлу ключа сертификата TLS, используемого веб-сервером.
СУБД#
Параметры подключения контроллера Event-Driven Automation к СУБД задают следующими глобальными переменными:
automationedacontroller_pg_database– название базы данных.Значение по умолчанию:
automationedacontroller.automationedacontroller_pg_host– IP-адрес или FQDN узла с СУБД.Предупреждение
Переменная
automationedacontroller_pg_hostне имеет значения по умолчанию, но указание ее значения обязательно вне зависимости от типа базы данных (внешняя СУБД или СУБД, развертываемая средствами платформы). Для отказоустойчивого внешнего PostgreSQL используйте стабильную точку подключения к основному узлу PostgreSQL, а не адрес конкретного узла СУБД. При использовании стабильной точки подключения ручное изменение значения после изменения основного узла кластера не требуется.automationedacontroller_pg_password– пароль учетной записи СУБД.Значение по умолчанию:
automationedacontroller.automationedacontroller_pg_port– порт СУБД.Значение по умолчанию:
5432.automationedacontroller_pg_username– название учетной записи СУБД.Значение по умолчанию:
automationedacontroller.
Настройка развертывания без доступа к интернету#
Параметры развертывания платформы без доступа к интернету задают следующими глобальными переменными:
bundle_dir– путь к каталогу с файлами установщика платформы.Значение по умолчанию:
/opt/rbta/aa/astra-automation-setup/.bundle_repo_folder– путь к каталогу, в который будут скопированы DEB-пакеты, необходимые для развертывания платформы. Указанный каталог будет использоваться при настройке репозиториев APT.Значение по умолчанию:
/var/lib/astra-automation-setup/bundle/.bundle_install– развертывание платформы в окружении без доступа к интернету:true– включено;false– выключено, используются интернет-репозитории ПАО Группа Астра (по умолчанию).
Изменено в версии 2.0-upd1: Начиная с версии 2.0-upd1 использование переменной skip_network_check не является обязательным.
Ее использование было необходимо только в Astra Automation версии 2.0 для корректной установки платформы без использования интернета.
В текущей версии использование skip_network_check не требуется.