Справочные данные#
Описание инвентаря для развертывания платформы с помощью утилит 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] automationcontroller_pg_database='awx'
Инвентарь в формате 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: automationcontroller_pg_database: awx
Примечание
С целью сокращения все настройки описываются для инвентаря формата 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, а в ней создана база данных для Automation Controller.
[database] rdbs.example.com
Важно
Для топологии уровня предприятия узел, используемый для развертывания PostgreSQL, не должен использоваться для других целей, например, запуска заданий или управления контроллером. В базовой топологии, где все компоненты размещаются на одной ВМ, это ограничение не применяется.
Если для хранения баз данных будет использован внешний PostgreSQL, секцию
[database]надо создать, но оставить пустой.Automation Dashboard –
[automationdashboard].В этой группе указывают узел, на котором будет установлен Automation Dashboard.
[automationdashboard] dashboard1.example.com
Настройка Platform Gateway#
Переменные Platform Gateway задают в секциях [automationgateway], [automationgateway:vars] и [all:vars].
Настройка узлов#
В секции [automationgateway] задают параметры подключения к узлам Platform Gateway, например:
[automationgateway]
gateway1.example.com
gateway2.example.com
Учетные данные администратора#
Учетные данные администратора платформы задают едиными глобальными переменными admin_username, admin_password и admin_email (см. Учетная запись администратора).
Предупреждение
Переменные admin_username и admin_password обязательны.
Без них развертывание платформы завершится ошибкой еще до запуска плейбука.
Сеть#
Параметры сети задают следующими глобальными переменными:
automationgateway_http_port– номер порта, на котором Platform Gateway прослушивает входящие HTTP-соединения.Значение по умолчанию:
80.automationgateway_https_port– номер порта, на котором Platform Gateway прослушивает входящие HTTPS-соединения.Значение по умолчанию:
443.gateway_tls_cert– путь к файлу сертификата TLS, используемого веб-сервером.gateway_tls_key– путь к файлу ключа сертификата TLS, используемого веб-сервером.gateway_nginx_https_protocols– протоколы, которые Platform Gateway будет поддерживать при обработке HTTPS-трафика.Значение по умолчанию:
TLSv1.2, TLSv1.3.gateway_nginx_disable_https– отключение HTTPS для Platform Gateway.true– выключено;false– включено (по умолчанию).
gateway_nginx_disable_hsts– отключение HTTP Strict Transport Security (HSTS) для Platform Gateway.true– выключено;false– включено (по умолчанию).
gateway_nginx_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 необходима, производится строгая верификация сервера. Соединение не будет установлено, если это условие не выполнено.
gateway_pg_cert_auth– аутентификация по сертификату клиента при подключении к СУБД:true– включено;false– выключено (по умолчанию).
gateway_pg_tls_cert– путь к файлу сертификата TLS клиента для подключения к СУБД PostgreSQL.Требуется, если включена аутентификация по сертификату клиента (
gateway_pg_cert_auth).gateway_pg_tls_key– путь к файлу ключа TLS клиента для подключения к СУБД PostgreSQL.Требуется, если включена аутентификация по сертификату клиента (
gateway_pg_cert_auth).
Redis#
Параметры подключения Platform Gateway к Redis задают в следующих глобальных настройках:
gateway_redis_host– адрес узла Redis, используемого Platform Gateway.По умолчанию используется первый узел из группы
[redis].gateway_redis_port– номер порта узла Redis, используемого Platform Gateway.gateway_redis_password– пароль для доступа к Redis.По умолчанию используется случайно сгенерированная строка.
gateway_redis_username– название учетной записи пользователя Redis.gateway_redis_disable_tls– отключение TLS для Redis Platform Gateway.true– TLS выключен;false– TLS включен (по умолчанию).
gateway_redis_tls_cert– путь к файлу сертификата Redis для Platform Gateway.gateway_redis_tls_key– путь к файлу ключа Redis для Platform Gateway.
gRPC#
gRPC является встроенным сервисом, обеспечивающим аутентификацию пользователя через внешние системы (SSO, Single Sign-On) и перенаправление запроса пользователя к требуемому компоненту платформы. Следующие переменные влияют на его работу:
gateway_grpc_server_processes– количество процессов для обработки gRPC-запросов к Platform Gateway.gateway_grpc_server_max_threads_per_process– максимальное количество потоков, которые каждый процесс gRPC-сервера может создать для обработки запросов к Platform Gateway.gateway_grpc_auth_service_timeout– длительность тайм-аута (в секундах) для запросов, осуществляемых к gRPC-сервису Platform Gateway.
Дополнительные переменные#
Следующие переменные используются реже, чем представленные ранее:
gateway_extra_settings– дополнительные переменные для использования Platform Gateway при установке.Например:
gateway_extra_settings: - setting: OAUTH2_PROVIDER['ACCESS_TOKEN_EXPIRE_SECONDS'] value: 600gateway_nginx_user_headers– список дополнительных заголовков NGINX для добавления в конфигурацию NGINX Platform Gateway.gateway_nginx_client_max_body_size– максимальный допустимый размер данных, отправляемых в Platform Gateway через NGINX.Значение по умолчанию:
5m.gateway_uwsgi_processes– количество рабочих процессов для обработки веб-запросов к Platform Gateway.По умолчанию: количество ядер CPU, умноженное на два, плюс один.
gateway_firewall_zone– зона сети, к которой применяются правила сетевого фильтра Platform Gateway.Контролирует, какие сети могут получать доступ к Platform Gateway на основе уровня доверия зоны. Значение по умолчанию:
public.gateway_tls_remote– расположение файлов сертификатов TLS Platform Gateway (веб-сервера, клиента PostgreSQL, клиента кэша Redis):true– файлы расположены на управляемом узле;false– файлы расположены на установочном узле (по умолчанию).
gateway_validate_certs– проверка веб-сертификатов Platform Gateway при выполнении вызовов из Platform Gateway к себе во время установки.gateway_use_archive_compression– включение сжатия архива для Platform Gateway.true– включено (по умолчанию);false– выключено.
gateway_use_db_compression– включение сжатия базы данных для Platform Gateway.true– включено;false– выключено (по умолчанию).
gateway_secret_key– значение секретного ключа, используемое Platform Gateway для подписи и шифрования данных.Если не задано, генерируется автоматически.
envoy_http_port– номер порта, на котором прокси Envoy прослушивает входящие HTTP-соединения.Значение по умолчанию:
80.envoy_https_port– номер порта, на котором прокси Envoy прослушивает входящие HTTPS-соединения.Значение по умолчанию:
443.
Настройка 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 Mesh создается автоматически; отдельных переменных для указания собственного сертификата удостоверяющего центра сети Mesh не предусмотрено.
Сертификат и ключ конкретного узла сети Mesh можно задать следующими глобальными переменными:
receptor_tls_cert– путь к файлу сертификата TLS узла Receptor.receptor_tls_key– путь к файлу ключа сертификата TLS узла Receptor.receptor_listener_port– номер порта, используемый рецептором.Значение по умолчанию:
27199.web_server_ssl_cert– путь к файлу сертификата веб-сервера.web_server_ssl_key– путь к файлу ключа сертификата веб-сервера.
СУБД#
Параметры подключения Automation Controller к СУБД задают следующими глобальными переменными:
automationcontroller_pg_database– название базы данных.Значение по умолчанию:
awx.automationcontroller_pg_host– IP-адрес или FQDN узла с СУБД.Предупреждение
Переменная
automationcontroller_pg_hostне имеет значения по умолчанию, но указание ее значения обязательно вне зависимости от типа базы данных (внешняя СУБД или СУБД, развертываемая средствами платформы). Для отказоустойчивого внешнего PostgreSQL используйте стабильную точку подключения к основному узлу PostgreSQL, а не адрес конкретного узла СУБД. При использовании стабильной точки подключения ручное изменение значения после изменения основного узла кластера не требуется.automationcontroller_pg_password– пароль учетной записи СУБД.Значение по умолчанию:
awx.automationcontroller_pg_port– порт СУБД.Значение по умолчанию:
5432.automationcontroller_pg_sslmode– режим использования SSL при подключении к СУБД:prefer– подключение к СУБД будет защищено с помощью SSL, если использование шифрования поддерживается настройками сервера (по умолчанию);verify-full– защита подключения с помощью SSL необходима, производится строгая верификация сервера.
automationcontroller_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 задают едиными глобальными переменными admin_username, admin_password и admin_email (см. Учетная запись администратора).
Покомпонентные переменные automationhub_admin_user и automationhub_admin_password в контейнерной модели не используются.
Сеть#
Сетевую настройку Private Automation Hub определяют с помощью следующих переменных:
automationhub_main_url– URL, по которому пользователи обращаются к Private Automation Hub. При развертывании Private Automation Hub на нескольких узлах этот URL должен указывать на балансировщик нагрузки.hub_tls_cert– путь к файлу сертификата TLS, используемого веб-сервером.hub_tls_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_bucket_name– название хранилища.s3_endpoint_url– точка доступа к хранилищу.s3_region_name– название региона, в котором размещено хранилище.Список возможных значений зависит от типа используемого хранилища.
s3_secret_key– секретный ключ для доступа к хранилищу.
Более специфичные параметры хранилища S3 (стиль адресации объектов, ACL по умолчанию, версия подписи запросов и другие настройки django-storages) задаются через словарь hub_s3_extra_settings, например:
[all:vars]
hub_s3_extra_settings={"AWS_S3_ADDRESSING_STYLE": "path", "AWS_S3_SIGNATURE_VERSION": "s3v4"}
Настройка резервного копирования#
Глобальная настройка 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 задают едиными глобальными переменными admin_username, admin_password и admin_email (см. Учетная запись администратора).
Покомпонентные переменные automationedacontroller_admin_username и automationedacontroller_admin_password в контейнерной модели не используются.
Сеть#
eda_tls_cert– путь к файлу сертификата TLS, используемого веб-сервером.eda_tls_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.
Настройка подключения к Redis#
Параметры подключения к Redis задают следующими глобальными переменными:
redis_mode– режим работы Redis:cluster– компоненты подключаются к отдельному кластеру Redis (по умолчанию);standalone– каждый компонент использует собственный локальный экземпляр Redis.
redis_port– порт Redis.Значение по умолчанию:
6379.automationgateway_redis_password– пароль, с которым Platform Gateway подключается к Redis.automationedacontroller_redis_password– пароль, с которым контроллер Event-Driven Automation подключается к Redis.
Примечание
Клиентами кластера Redis являются только Platform Gateway и контроллер Event-Driven Automation, поэтому пароли задают для них. Automation Controller и Private Automation Hub подключаются к локальному экземпляру Redis через сокет Unix без аутентификации, и пароль для них не задают.
Настройка Automation Dashboard#
Параметры Automation Dashboard задают в группе [automationdashboard] и глобальных переменных [all:vars].
В группе [automationdashboard] укажите только один узел.
Это узел должен иметь доступ к Platform Gateway по HTTPS и к базе данных, указанной в описании инвентаря.
Глобальные переменные:
dashboard_admin_password– пароль администратора Automation Dashboard.dashboard_pg_password– пароль пользователя базы данных Automation Dashboard.
Группа и параметры dashboard_* обрабатываются только при развертывании из офлайн-пакета (bundle_install=true).
Если Automation Dashboard не используется, группу [automationdashboard] и параметры dashboard_* указывать не нужно.
Настройка развертывания без доступа к интернету#
Параметры развертывания платформы без доступа к интернету задают следующими глобальными переменными:
bundle_dir– путь к каталогу с файлами утилиты развертывания платформы, используемыми при развертывании без доступа к интернету.Утилита
aa-setupопределяет значение автоматически на основании каталога, из которого она запущена; задавать эту переменную в описании инвентаря не требуется.bundle_install– развертывание платформы в окружении без доступа к интернету:true– включено;false– выключено, используются интернет-репозитории ПАО Группа Астра (по умолчанию).
skip_network_check– пропуск проверок доступа к интернету, которые утилита развертывания выполняет перед установкой (проверка записей DNS и проверка сетевого доступа):true– проверки пропускаются;false– проверки выполняются (по умолчанию).
При
bundle_install=trueпроверка сетевого доступа не выполняется независимо от значения этой переменной, поэтому для развертывания из офлайн-пакета задавать ее не требуется.