Справочные данные#
В этом справочнике описаны переменные инвентаря утилиты развертывания 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 |
Узлы перечисляют по одному на строку; параметры отдельного узла указывают в той же строке, что и название узла, например:
[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(файл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.
Настройка шлюза платформы#
Переменные шлюза платформы задают в секциях [automationgateway:vars] и [all:vars].
Учетные данные администратора#
Учетные данные администратора шлюза платформы задают следующими глобальными переменными:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Название учетной записи |
|
|
Пароль |
|
|
Адрес электронной почты |
Важно
Пароль по умолчанию (admin) небезопасен.
В описании инвентаря необходимо задать собственное значение переменной automationgateway_admin_password.
Сеть#
Параметры сети задают следующими глобальными переменными:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Номер внутреннего порта, на котором сервис шлюза платформы (за прокси 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 задают следующими переменными:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Название учетной записи |
|
|
Пароль |
|
|
Адрес электронной почты |
Важно
Пароль по умолчанию (awx) небезопасен.
В описании инвентаря необходимо задать собственное значение переменной admin_password.
Сеть#
Параметры сети Automation Controller задают следующими глобальными переменными:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Путь к файлу сертификата сети Mesh |
|
|
Путь к файлу ключа сертификата сети Mesh |
|
|
Номер порта, используемый рецептором |
|
|
Путь к файлу сертификата веб-сервера |
|
|
Путь к файлу ключа сертификата веб-сервера |
Настройка Private Automation Hub#
Переменные Private Automation Hub задают в секции [all:vars].
Учетные данные администратора#
Учетные данные администратора Private Automation Hub задают следующими глобальными переменными:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Пароль |
|
Название учетной записи администратора Private Automation Hub – admin; изменить его с помощью описания инвентаря нельзя.
Сеть#
Сетевую настройку 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 задают следующими глобальными переменными:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Название учетной записи. В текущей версии изменять это значение нельзя |
|
|
Пароль |
Сеть#
Сетевую настройку контроллера 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 настраивают сервер СУБД, развертываемый средствами платформы, и не влияют на подключение компонентов платформы к внешней СУБД.
Настройка развертывания без доступа к интернету#
Параметры развертывания платформы без доступа к интернету задают следующими глобальными переменными:
Переменная |
Описание |
По умолчанию |
|---|---|---|
|
Путь к каталогу с файлами утилиты развертывания платформы |
|
|
Путь к каталогу, в который будут скопированы 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 не регистрируются: в реестре нечего было бы адресовать. Утилита развертывания регистрирует только среды с образами из внешнего реестра.