Справочные данные#
В этом справочнике описаны переменные инвентаря утилиты развертывания aa-setup.
Форматы инвентаря#
Описание инвентаря утилиты развертывания следует правилам Ansible и может иметь формат INI или YAML. Подробное описание форматов приведено в справочнике по статической инвентаризации, а выбор файла инвентаря и требования к его расширению – в описании инвентаря.
Примечание
С целью сокращения все настройки в справочнике описаны для инвентаря формата INI.
Переменные компонентов платформы можно задавать на следующих уровнях:
для всех узлов – в секции
[all:vars](глобальные переменные);для группы узлов – в секции
[<group>:vars], где<group>– название группы узлов;для отдельных узлов – в строках соответствующих узлов.
Утилита развертывания определяет значения в следующем порядке:
глобальные переменные;
переменные группы;
переменные отдельных узлов.
Более поздние значения перезаписывают более ранние.
Настройка подключения#
Для подключения к узлам платформы утилита развертывания использует стандартные переменные поведения Ansible. Их подробное описание приведено в справочнике переменных поведения:
Назначение |
Переменные |
Подробное описание |
|---|---|---|
Тип подключения |
|
|
Общие переменные подключения |
|
|
Протокол SSH |
|
|
Повышение привилегий |
|
|
Окружение управляемых узлов |
|
При развертывании платформы необходимо учитывать следующие особенности:
Значение
localпеременнойansible_connectionиспользуют только для развертывания компонента платформы на установочном узле (не рекомендуется).Использование переменной
ansible_hostдопускается только в том случае, когда нет возможности указать FQDN узла. Указание FQDN одновременно с использованием переменнойansible_hostне рекомендуется.Переменная
ansible_python_interpreterзадает путь к интерпретатору Python на узлах платформы. В примерах установочного пакета используется значение/usr/bin/python3.
Группы узлов#
Узлы компонентов платформы перечисляют в следующих секциях:
Секция |
Узлы |
|---|---|
|
Шлюз платформы |
|
Плоскость управления Automation Controller |
|
Плоскость исполнения Automation Controller (исполняющие и промежуточные узлы) |
|
Private Automation Hub |
|
Контроллер Event-Driven Automation |
|
СУБД, развертываемая средствами платформы |
|
Кластер Redis |
|
Automation Dashboard, если компонент устанавливается вместе с платформой |
Узлы перечисляют по одному на строку; параметры отдельного узла указывают в той же строке, что и название узла, например:
[execution_nodes]
hop1.example.org node_type=hop
exec1.example.org
exec2.example.org
Узлы Automation Controller#
Для узлов плоскостей управления и исполнения Automation Controller доступны следующие переменные:
node_type– тип узла:control– управляющий;hybrid– гибридный (совмещает функции управляющего и исполняющего);execution– исполняющий;hop– промежуточный.
Для узлов из секции
[automationcontroller]допустимы только типыcontrolиhybrid(по умолчанию).Для узлов из секции
[execution_nodes]допустимы только типыhopиexecution(по умолчанию).Предупреждение
Тип
hybridне входит в рекомендуемые топологии и применяется только в минимальных и учебных сценариях. Использование гибридных узлов в продуктовой среде не рекомендуется.peers– список узлов и групп узлов, с которыми receptor узла устанавливает соединения (значения указывают через запятую).Переменная
peersопределяет направление установления соединения: узел, для которого она задана, инициирует подключение, а перечисленные узлы принимают запрос на соединение на порту, заданном переменнойreceptor_listener_port.Управляющие узлы из секции
[automationcontroller]соединяются друг с другом через receptor автоматически. Для связи плоскости управления с плоскостью исполнения переменнуюpeersзадают явно.На текущий момент утилита развертывания принимает только одно направление этой связи, поэтому при заполненной секции
[execution_nodes]переменнуюpeersнеобходимо задать в секции[automationcontroller:vars]. Значением служитexecution_nodesили название группы, все узлы которой перечислены в секции[execution_nodes]. Вложенной такая группа быть не обязана, она объявляется в описании инвентаря наравне с остальными. Каждый управляющий узел при этом инициирует соединения с исполняющими узлами. В примерах установочного пакета используются значенияexecution_nodes(файлinventory-base.ini) иinstance_group_local(файлinventory-enterprise.ini).Обратное направление применяют дополнительно, для отдельных групп узлов. Например, в файле
inventory-enterprise.iniпромежуточному узлу задано значениеautomationcontrollerпеременнойpeersв секции[hop:vars]. Связь, заданную в секции[automationcontroller:vars], оно не заменяет: связать одну и ту же пару узлов в обе стороны нельзя.Предварительная проверка утилиты развертывания завершается ошибкой в следующих случаях:
секция
[execution_nodes]заполнена, а переменнаяpeersв секции[automationcontroller:vars]не задана;в списке
peersуказан несуществующий узел;узел ссылается сам на себя, или два узла ссылаются друг на друга;
узел плоскости исполнения не имеет пути до плоскости управления (
There are receptor nodes that do not have a path back to the control plane).
Пример использования переменной
peersсм. в описании развертывания кластера Automation Controller с удаленным исполнением.
Кроме секции [execution_nodes], для узлов плоскости исполнения можно использовать дополнительные группы:
[instance_group_<name>]– группа исполняющих узлов;дочерние группы для промежуточных и исполняющих узлов.
Узел СУБД#
В секции [database] указывают узел, на котором средствами платформы будет развернута СУБД PostgreSQL, а в ней созданы базы данных компонентов платформы, для которых переменные <префикс>_pg_host указывают на этот узел.
Если секция [database] пуста или отсутствует и переменная pg_host не задана, СУБД будет развернута на первом узле из секции [automationcontroller].
[database]
rdbs.example.com
Важно
Узел, используемый для развертывания PostgreSQL, не должен использоваться для других целей, например, запуска заданий или управления контроллером.
Если для хранения баз данных будет использован внешний PostgreSQL, секцию [database] необходимо оставить пустой (или удалить), а параметры подключения задать для каждого компонента платформы (переменные <префикс>_pg_host должны содержать FQDN узла внешней СУБД).
Узлы Redis#
В секции [redis] указывают узлы кластера Redis (не менее шести) для режима redis_mode=cluster; допускается совмещение с узлами шлюза платформы, Private Automation Hub и контроллера Event-Driven Automation.
Включать в группу узлы из секций [automationcontroller], [execution_nodes] и [database] нельзя.
Подробности см. в описании настройки Redis.
Учетные данные администратора платформы#
Учетную запись администратора платформы задают в секции [all:vars] один раз, так как она общая для Platform Gateway, Automation Controller, Private Automation Hub и контроллера Event-Driven Automation:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Название учетной записи администратора, обязательная переменная |
– |
|
Пароль администратора, обязательная переменная |
– |
|
Адрес электронной почты администратора |
|
Важно
Переменные admin_username и admin_password обязательны, значения по умолчанию у них нет.
Если хотя бы одна из них не задана или пуста, предварительная проверка утилиты развертывания прерывает установку и не запрашивает значение.
Важно
Значения учетных данных заключайте в кавычки.
Разбор описания инвентаря не берет значения буквально.
Для формата INI утилита развертывания применяет ast.literal_eval, для формата YAML – правила скаляров, поэтому пароль 1e3 дошел бы до компонента как 1000.0, а значение yes – как True.
Утилита сравнивает значение до и после разбора и прерывает установку, если текст изменился (is not read as text); пароль из одних цифр при этом остается допустимым.
Покомпонентные переменные учетных данных устарели и игнорируются: automationgateway_admin_username, automationcontroller_admin_username, automationhub_admin_username, automationedacontroller_admin_username, их исторические формы с окончанием _admin_user, а также соответствующие переменные *_admin_password.
Если такая переменная задана, предварительная проверка выводит предупреждение и предлагает перенести значение в admin_username или admin_password.
Для адреса электронной почты покомпонентные переменные пока действуют как запасной вариант для существующих описаний инвентаря, но будут удалены; в новых описаниях задавайте admin_email.
Повторный запуск утилиты развертывания обновляет пароль администратора в Automation Controller, Platform Gateway и контроллере Event-Driven Automation.
В Private Automation Hub пароль уже созданной учетной записи меняется только при automationhub_force_change_admin_password=true.
Смена названия учетной записи повторным запуском не поддерживается.
Настройка шлюза платформы#
Переменные шлюза платформы задают в секциях [automationgateway:vars] и [all:vars].
Учетные данные администратора#
Администратор шлюза платформы – это администратор платформы, общий для всех компонентов.
Его задают переменными admin_username, admin_password и admin_email (см. учетные данные администратора платформы).
Сеть#
Параметры сети задают следующими глобальными переменными:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Номер внутреннего порта, на котором сервис шлюза платформы (за прокси Envoy) прослушивает входящие HTTP-соединения |
|
|
Номер внутреннего порта, на котором сервис шлюза платформы прослушивает входящие HTTPS-соединения |
|
|
Номер порта, на котором прокси шлюза платформы принимает входящие HTTP-соединения клиентов |
|
|
Номер порта, на котором прокси шлюза платформы принимает входящие HTTPS-соединения клиентов |
|
|
Путь к файлу сертификата TLS, используемого веб-сервером |
|
|
Путь к файлу ключа сертификата TLS, используемого веб-сервером |
|
|
Путь к файлу отдельного сертификата TLS, который шлюз платформы предъявляет внешнему балансировщику нагрузки |
|
|
Путь к файлу ключа сертификата TLS, заданного переменной |
|
|
Отключение HTTPS для шлюза платформы: |
|
|
Отключение HTTP Strict Transport Security (HSTS) для шлюза платформы: |
|
|
URL, к которому подключаются клиенты и который используют внутренние компоненты платформы для взаимодействия между собой |
|
|
Список протоколов TLS, которые веб-сервер будет поддерживать при обработке HTTPS-трафика (глобальная переменная, действует на все компоненты платформы) |
|
|
Максимальная длительность (в секундах) принудительного применения HSTS |
|
Переменную automationgateway_main_url используют при развертывании кластера, когда требуется использовать URL балансировщика нагрузки вместо серверного адреса компонента.
Значение URL должно начинаться с https:// или http://.
Redis#
Параметры подключения шлюза платформы к Redis задают следующими глобальными переменными:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Адрес узла Redis, используемого шлюзом платформы |
Первый узел из группы |
|
Номер порта узла Redis, используемого шлюзом платформы |
|
|
Название учетной записи пользователя Redis |
|
|
Пароль для доступа к Redis |
Случайно сгенерированная строка |
|
Профиль безопасности Redis (глобальная переменная), определяющий способ подключения компонентов к Redis: |
|
|
Отключение TLS для соединений с Redis (глобальная переменная): |
|
|
Отключение взаимной аутентификации (mTLS) для Redis: |
|
Пароли ACL остальных компонентов задавайте переменными automationedacontroller_redis_password, automationhub_redis_password и automationcontroller_redis_password.
Если ни одна из них не задана, утилита развертывания генерирует пароли автоматически и сохраняет их на узлах – см. Профиль безопасности.
Утилита развертывания автоматически создает сертификаты клиента Redis; их пересоздание включает переменная automationgateway_client_regen_cert (см. дополнительные переменные).
gRPC#
gRPC является встроенным сервисом, обеспечивающим аутентификацию пользователя через внешние системы (SSO, Single Sign-On) и перенаправление запроса пользователя к требуемому компоненту платформы. Следующие переменные влияют на его работу:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Количество процессов для обработки gRPC-запросов к шлюзу платформы |
|
|
Максимальное количество потоков, которые каждый процесс gRPC-сервера может создать для обработки запросов |
|
|
Длительность тайм-аута для запросов к gRPC-сервису шлюза платформы |
|
Дополнительные переменные#
Расположение файлов сертификатов задают переменные семейства *_tls_files_remote.
Каждая из них принимает следующие значения: true – файлы находятся на управляемом узле; false – файлы находятся на установочном узле.
Переменная |
Файлы сертификатов |
По умолчанию |
|---|---|---|
|
Предоставленные шлюзом платформы |
|
|
Сертификаты веб-сервера |
Значение переменной |
|
Клиентские сертификаты PostgreSQL |
Значение переменной |
|
Сертификаты клиента кэша |
Значение переменной |
Следующие переменные используются реже, чем представленные ранее:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Список дополнительных заголовков NGINX для добавления в конфигурацию сервиса NGINX шлюза платформы |
|
|
Повторное создание сертификатов клиента шлюза платформы для кэша платформы: |
|
|
Значение секретного ключа, используемое шлюзом платформы для подписи и шифрования данных |
Случайно сгенерированная строка из 128 символов |
Настройка Automation Controller#
Переменные Automation Controller задают в секции [all:vars].
Переменные узлов Automation Controller (node_type и peers) приведены в описании групп узлов.
Учетные данные системного администратора#
Системный администратор Automation Controller – это администратор платформы, общий для всех компонентов.
Его задают переменными admin_username, admin_password и admin_email (см. учетные данные администратора платформы).
Сеть#
Параметры сети Automation Controller задают следующими глобальными переменными:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Путь к файлу сертификата сети Mesh |
|
|
Путь к файлу ключа сертификата сети Mesh |
|
|
Номер порта, используемый рецептором |
|
|
Путь к файлу сертификата веб-сервера |
|
|
Путь к файлу ключа сертификата веб-сервера |
Настройка Private Automation Hub#
Переменные Private Automation Hub задают в секции [all:vars].
Учетные данные администратора#
Администратор Private Automation Hub – это администратор платформы, общий для всех компонентов.
Его задают переменными admin_username, admin_password и admin_email (см. учетные данные администратора платформы).
Сеть#
Сетевую настройку Private Automation Hub определяют с помощью следующих переменных:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Путь к файлу сертификата TLS, используемого веб-сервером |
|
|
Путь к файлу ключа сертификата TLS, используемого веб-сервером |
Настройка хранилища S3#
Параметры подключения к хранилищу S3 задают следующими глобальными переменными:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Ключ доступа к объектному хранилищу |
|
|
Секретный ключ для доступа к хранилищу |
|
|
Название хранилища |
|
|
Точка доступа к хранилищу |
|
|
Название региона, в котором размещено хранилище. Список возможных значений зависит от типа используемого хранилища |
|
|
Стиль адресации объектов в хранилище: |
|
|
Список контроля доступа (access control list, ACL), используемый при работе с хранилищем по умолчанию. Список возможных значений зависит от типа используемого хранилища |
|
|
Версия подписи, используемая для работы с хранилищем: |
|
|
Подписывание запросов к хранилищу с помощью AWS Signature V4: |
|
Рекомендуется не задавать значение переменной s3_default_acl в описании инвентаря, а выполнить необходимые настройки на стороне хранилища.
Настройка резервного копирования#
Глобальная настройка 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 задают в секции [all:vars].
Учетные данные администратора#
Администратор контроллера Event-Driven Automation – это администратор платформы, общий для всех компонентов.
Его задают переменными admin_username, admin_password и admin_email (см. учетные данные администратора платформы).
Сеть#
Сетевую настройку контроллера Event-Driven Automation определяют с помощью следующих переменных:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Путь к файлу сертификата TLS, используемого веб-сервером |
|
|
Путь к файлу ключа сертификата TLS, используемого веб-сервером |
СУБД#
Параметры подключения компонентов платформы к СУБД задают глобальными переменными, названия которых образованы по единой схеме <префикс>_pg_<параметр>:
Компонент |
Префикс |
Пример |
|---|---|---|
Шлюз платформы |
|
|
Automation Controller |
Без префикса |
|
Private Automation Hub |
|
|
Контроллер Event-Driven Automation |
|
|
Для каждого компонента доступны следующие параметры:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Название базы данных |
|
|
IP-адрес или FQDN узла с СУБД |
|
|
Порт СУБД |
|
|
Название учетной записи СУБД |
Совпадает со значением по умолчанию переменной |
|
Пароль учетной записи СУБД |
Совпадает со значением по умолчанию переменной |
|
Режим защиты подключения к СУБД: |
|
Предупреждение
Переменные <префикс>_pg_host не имеют значений по умолчанию, но указание их значений обязательно вне зависимости от типа базы данных (внешняя СУБД или СУБД, развертываемая средствами платформы).
Для отказоустойчивого внешнего PostgreSQL используйте стабильную точку подключения к основному узлу PostgreSQL, а не адрес конкретного узла СУБД.
При использовании стабильной точки подключения ручное изменение значения после изменения основного узла кластера не требуется.
Примечание
У Automation Controller переменная режима защиты подключения не имеет префикса с названием компонента: pg_sslmode.
Переменная automationcontroller_pg_sslmode не поддерживается.
Клиентские сертификаты#
Для аутентификации компонента в СУБД по клиентскому сертификату используются переменные, названия которых образованы по той же схеме:
<префикс>_pgclient_sslcert– путь к файлу клиентского сертификата TLS для подключения к СУБД PostgreSQL;<префикс>_pgclient_sslkey– путь к файлу ключа клиентского сертификата TLS для подключения к СУБД PostgreSQL.
У Automation Controller эти переменные не имеют префикса: pgclient_sslcert и pgclient_sslkey.
Компонент включает аутентификацию по клиентскому сертификату автоматически, если задан режим <префикс>_pg_sslmode со значением verify-ca или verify-full и указаны оба пути.
Защита развертываемой СУБД#
Для защиты СУБД, развертываемой средствами платформы, используются следующие глобальные переменные:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Использование SSL сервером СУБД PostgreSQL, развертываемым средствами платформы: |
|
|
Путь к файлу сертификата, который используется для защиты подключения к серверу СУБД PostgreSQL, развернутому средствами платформы |
|
|
Путь к файлу ключа сертификата, который используется для защиты подключения к серверу СУБД PostgreSQL, развернутому средствами платформы |
Примечание
Переменные postgres_use_ssl, postgres_ssl_cert и postgres_ssl_key настраивают сервер СУБД, развертываемый средствами платформы, и не влияют на подключение компонентов платформы к внешней СУБД.
Настройка Automation Dashboard#
Параметры Automation Dashboard задают в группе [automationdashboard] и глобальных переменных [all:vars].
В группе [automationdashboard] укажите только один узел.
Этот узел должен иметь доступ к Platform Gateway по HTTPS и к базе данных, указанной в описании инвентаря.
Глобальные переменные:
dashboard_admin_password– пароль администратора Automation Dashboard.dashboard_pg_password– пароль пользователя базы данных Automation Dashboard.
Группа и параметры dashboard_* обрабатываются только при развертывании из офлайн-пакета, наличие которого утилита развертывания определяет сама.
Если Automation Dashboard не используется, группу [automationdashboard] и параметры dashboard_* указывать не требуется.
Настройка развертывания без доступа к интернету#
Параметры развертывания платформы без доступа к интернету задают следующими глобальными переменными:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Путь к каталогу с файлами утилиты развертывания платформы |
|
|
Путь к каталогу, в который будут скопированы DEB-пакеты, необходимые для развертывания платформы. Указанный каталог будет использоваться при настройке репозиториев APT |
|
|
Развертывание платформы в окружении без доступа к интернету: |
|
Проверки сети перед установкой и загрузку образов в реестр Private Automation Hub настраивают следующими глобальными переменными:
skip_network_check– пропуск проверок доступа к интернету, которые утилита развертывания выполняет перед установкой (проверка записей DNS и проверка сетевого доступа):true– проверки пропускаются;false– проверки выполняются (по умолчанию).
При
bundle_install=trueпроверка сетевого доступа не выполняется независимо от значения этой переменной, поэтому для развертывания из офлайн-пакета задавать ее не требуется.skip_ee_hub_upload– пропуск загрузки образов среды исполнения (EE) и среды принятия решений (DE) в реестр Private Automation Hub:true– включено, образы в реестр не загружаются (по умолчанию);false– выключено, образы загружаются.
Параметр действует только при установке с доступом к интернету. При развертывании из offline-bundle значение игнорируется, и образы всегда загружаются в реестр Private Automation Hub, поскольку иначе он остался бы пустым. Если реестр контейнеров Private Automation Hub недоступен для записи, например настроен как внешний (Remote) и наполняется синхронизацией образов из внешнего реестра, загрузка завершается ошибкой
name invalid: Repository is read-only, и установка из offline-bundle прерывается.Регистрация сред различается так же, как и загрузка образов:
при развертывании без доступа к интернету Private Automation Hub остается источником образов: среды исполнения, среды принятия решений и учетные данные для доступа к реестру регистрируются в любом случае;
при развертывании с доступом к интернету и значении
true– то есть в конфигурации по умолчанию – среды и учетные данные для реестра Private Automation Hub не регистрируются: в реестре нечего было бы адресовать. Утилита развертывания регистрирует только среды с образами из внешнего реестра.
Доступ к внешнему реестру образов#
При развертывании с доступом к интернету утилита развертывания загружает образы среды исполнения и среды принятия решений из внешнего реестра. Адрес реестра и реквизиты доступа к нему задают следующими глобальными переменными:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Адрес внешнего реестра образов.
Утилита развертывания загружает из него образы среды исполнения и среды принятия решений, например |
|
|
Проверка сертификата TLS при обращении к внешнему реестру: |
|
|
Название учетной записи для доступа к внешнему реестру образов |
|
|
Пароль указанной учетной записи или токен, созданный на портале Automation Hub |
Важно
Реквизиты доступа задают обеими переменными.
Если задать registry_username без registry_password, утилита развертывания передает в реестр название учетной записи без пароля, а полномочия для доступа к реестру в Event-Driven Automation не создает.
Если задать registry_password без registry_username, утилита развертывания реквизиты не использует и загружает образы анонимно.
Перечисленные переменные действуют при развертывании с доступом к интернету.
При развертывании из офлайн-пакета (bundle_install=true) утилита развертывания берет образы из пакета и внешний реестр не использует.
При развертывании более чем на один узел утилита развертывания не принимает в registry_url значения localhost, 127.* и ::1, так как такой адрес допустим только для установки на один узел.
Примечание
В контейнерной модели ту же проверку задает переменная registry_tls_verify, а адрес реестра по умолчанию – registry.astra.ru (см. справочник контейнерной модели).