Справочные данные#
Описание инвентаря для развертывания платформы с помощью утилиты 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_file='/path/to/ssh/private/key' node_type='control'
В секции
[all:vars]задают глобальные переменные – они действуют на все узлы, указанные в инвентаре.[all:vars] pg_database='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: pg_database: 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_file='/path/to/ssh/private/key'
Эта запись эквивалентна следующей:
[main] node1.example.com ansible_user=administrator ansible_ssh_private_key_file=/path/to/ssh/private/key node2.example.com ansible_user=administrator ansible_ssh_private_key_file=/path/to/ssh/private/key node3.example.com ansible_user=administrator ansible_ssh_private_key_file=/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, а в ней созданы базы данных компонентов платформы, для которых переменные
*_pg_hostуказывают на этот узел. Если секция[database]пуста или отсутствует и переменнаяpg_hostне задана, СУБД будет развернута на первом узле из секции[automationcontroller].[database] rdbs.example.com
Важно
Узел, используемый для развертывания PostgreSQL, не должен использоваться для других целей, например, запуска заданий или управления контроллером.
Если для хранения баз данных будет использован внешний PostgreSQL, секцию
[database]необходимо оставить пустой (или удалить), а параметры подключения задать переменнымиpg_*(переменнаяpg_hostдолжна содержать FQDN узла внешней СУБД).Redis –
[redis].Узлы кластера Redis (не менее шести) для режима
redis_mode=cluster; допускается совмещение с узлами Platform Gateway, Private Automation Hub и контроллера Event-Driven Automation. Включать в группу узлы из секций[automationcontroller],[execution_nodes]и[database]нельзя. Подробности см. в описании настройки Redis.
Настройка Platform Gateway#
Переменные Platform Gateway задают в секциях [automationgateway], [automationgateway:vars] и [all:vars].
Настройка узлов#
В секции [automationgateway] задают параметры подключения к узлам Platform Gateway, например:
[automationgateway]
gateway1.example.com
gateway2.example.com
Учетные данные администратора#
Учетные данные администратора Platform Gateway задают следующими глобальными переменными:
automationgateway_admin_password– пароль;automationgateway_admin_username– название учетной записи.Значение по умолчанию:
admin.Важно
Пароль по умолчанию (
admin) небезопасен. В описании инвентаря необходимо задать собственное значение переменнойautomationgateway_admin_password.automationgateway_admin_email– адрес электронной почты.
Сеть#
Параметры сети задают следующими глобальными переменными:
automationgateway_http_port– номер внутреннего порта, на котором сервис Platform Gateway (за прокси Envoy) прослушивает входящие HTTP-соединения.Значение по умолчанию:
8080.automationgateway_https_port– номер внутреннего порта, на котором сервис Platform Gateway прослушивает входящие HTTPS-соединения.Значение по умолчанию:
8443.automationgatewayproxy_http_port– номер порта, на котором прокси Platform Gateway принимает входящие HTTP-соединения клиентов.Значение по умолчанию:
80.automationgatewayproxy_https_port– номер порта, на котором прокси Platform Gateway принимает входящие HTTPS-соединения клиентов.Значение по умолчанию:
443.automationgateway_ssl_cert– путь к файлу сертификата TLS, используемого веб-сервером.automationgateway_ssl_key– путь к файлу ключа сертификата TLS, используемого веб-сервером.nginx_tls_protocols– список протоколов TLS, которые веб-сервер будет поддерживать при обработке HTTPS-трафика (глобальная переменная, действует на все компоненты платформы).Значение по умолчанию:
['TLSv1.2'].automationgateway_disable_https– отключение HTTPS для Platform Gateway.true– HTTPS отключен;false– HTTPS включен (по умолчанию; наследует значение глобальной переменнойdisable_https).
automationgateway_disable_hsts– отключение HTTP Strict Transport Security (HSTS) для Platform Gateway.true– HSTS отключен;false– HSTS включен (по умолчанию).
nginx_hsts_max_age– максимальная длительность (в секундах), в течение которой HSTS принудительно применяется.Значение по умолчанию:
63072000(два года).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_pgclient_sslcert– путь к файлу клиентского сертификата TLS для подключения к СУБД PostgreSQL.automationgateway_pgclient_sslkey– путь к файлу ключа клиентского сертификата TLS для подключения к СУБД PostgreSQL.Аутентификация по клиентскому сертификату включается автоматически, если задан режим
automationgateway_pg_sslmodeсо значениемverify-caилиverify-fullи указаны оба пути.
Для защиты СУБД, развертываемой средствами платформы, используются глобальные переменные postgres_use_ssl (по умолчанию false), postgres_ssl_cert и postgres_ssl_key (см. секцию «СУБД» раздела «Настройка Automation Controller»).
Redis#
Параметры подключения Platform Gateway к Redis задают в следующих глобальных настройках:
automationgateway_redis_host– адрес узла Redis, используемого Platform Gateway.По умолчанию используется первый узел из группы
[automationgateway].automationgateway_redis_port– номер порта узла Redis, используемого Platform Gateway.automationgateway_redis_password– пароль для доступа к Redis.По умолчанию используется случайно сгенерированная строка.
automationgateway_redis_username– название учетной записи пользователя Redis.redis_disable_tls– отключение TLS для соединений с Redis (глобальная переменная).true– TLS отключен;false– TLS включен (по умолчанию).
redis_disable_mtls– отключение взаимной аутентификации (mTLS) для Redis.true– mTLS отключен;false– mTLS включен (по умолчанию).
Утилита развертывания автоматически создает сертификаты клиента Redis; для их пересоздания используется переменная automationgateway_client_regen_cert.
gRPC#
gRPC является встроенным сервисом, обеспечивающим аутентификацию пользователя через внешние системы (SSO, Single Sign-On) и перенаправление запроса пользователя к требуемому компоненту платформы. Следующие переменные влияют на его работу:
automationgateway_grpc_server_processes– количество процессов для обработки gRPC-запросов к Platform Gateway.Значение по умолчанию:
5.automationgateway_grpc_server_max_threads_per_process– максимальное количество потоков, которые каждый процесс gRPC-сервера может создать для обработки запросов.Значение по умолчанию:
10.automationgateway_grpc_auth_service_timeout– длительность тайм-аута для запросов к gRPC-сервису Platform Gateway.Значение по умолчанию:
30s.
Дополнительные переменные#
Следующие переменные используются реже, чем представленные ранее:
automationgateway_user_headers– список дополнительных заголовков NGINX для добавления в конфигурацию NGINX Platform Gateway.Значение по умолчанию:
[].automationgateway_tls_files_remote– указание расположения файлов сертификатов, предоставленных Platform Gateway:true– файлы находятся на управляемом узле;false– файлы находятся на установочном узле (по умолчанию).
automationgateway_nginx_tls_files_remote– указание расположения файлов сертификатов веб-сервера:true– файлы находятся на управляемом узле;false– файлы находятся на установочном узле.
Значение по умолчанию: значение переменной
automationgateway_tls_files_remote.automationgateway_pgclient_tls_files_remote– указание расположения файлов клиентского сертификата PostgreSQL:true– файлы находятся на управляемом узле;false– файлы находятся на установочном узле.
Значение по умолчанию: значение переменной
automationgateway_tls_files_remote.automationgateway_cache_tls_files_remote– указание расположения файлов сертификатов клиента кэша:true– файлы находятся на управляемом узле;false– файлы находятся на установочном узле.
Значение по умолчанию: значение переменной
automationgateway_tls_files_remote.automationgateway_client_regen_cert– повторное создание сертификатов клиента Platform Gateway для кэша платформы:true– включено;false– выключено (по умолчанию).
automationgateway_secret_key– значение секретного ключа, используемое Platform Gateway для подписи и шифрования данных.Значение по умолчанию: случайно сгенерированная строка из 128 символов.
Настройка 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настраивается связь между плоскостью управления и плоскостью исполнения.Если в инвентаре заполнена секция
[execution_nodes], переменнуюpeersнеобходимо задать в секции[automationcontroller:vars]– значениемexecution_nodesили названием дочерней группы этой секции. В противном случае предварительная проверка утилиты развертывания завершится ошибкой.Пример использования переменной
peersсм. в описании развертывания кластера Automation Controller с удаленным исполнением.
Учетные данные системного администратора#
Учетные данные системного администратора Automation Controller задают следующими переменными:
admin_email– адрес электронной почты;admin_password– пароль;admin_username– название учетной записи.Значение по умолчанию:
admin.Важно
Пароль по умолчанию (
awx) небезопасен. В описании инвентаря необходимо задать собственное значение переменнойadmin_password.
Сеть#
Параметры сети 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.
Название учетной записи администратора Private Automation Hub – 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 не включаются в резервную копию.
Значение по умолчанию (true) действует и при размещении содержимого Private Automation Hub в хранилище S3: в этом случае резервное копирование коллекций выполняется через подключение хранилища S3.
Для экономии времени и места при использовании 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 не требуется.