Параметры инвентаря#

Инвентарь установщика может иметь формат INI или YAML.

Инвентарь в формате INI имеет следующие особенности:

  • Для формирования групп узлов используют секции. Название каждой секции обрамляется квадратными скобками [].

    [automationcontroller]
    
  • Параметры отдельных узлов задают в той же строке, что и название узла. Название параметра и его значение указывают в одной строке через знак =. Для разделения нескольких параметров используются символы пробела.

    [automationcontroller]
    node1   ansible_host=192.168.56.1   node_type=control
    node2   ansible_host=192.168.56.2   node_type=control
    
  • Переменные, общие для всех узлов группы, задают в секции, название которой состоит из названия группы узлов и суффикса :vars.

    [automationcontroller:vars]
    ansible_user='administrator'
    ansible_ssh_private_key='/path/to/ssh/private/key'
    node_type='control'
    
  • В секции [all:vars] задают глобальные переменные – они действуют на все узлы, указанные в инвентаре.

    [all:vars]
    pgdatabase='controllerdb'
    

Инвентарь в формате YAML имеет следующие особенности:

  • Для формирования групп узлов использует запись следующего вида:

    automationcontroller:
      hosts:
    
  • Для перечисления узлов используют блоки, а не списки. Название узла указывается в названии блока.

    automationcontroller:
      hosts:
        node1:
          ansible_host: 192.168.56.1
          ansible_connection: ssh
          node_type: control
        node2:
          ansible_host: 192.168.56.2
          ansible_connection: ssh
          node_type: control
    
  • Переменные, общие для всех узлов группы, задают в блоке <group>.vars:

    automationcontroller:
      hosts:
        node1:
          ansible_host: 192.168.56.1
        node2:
          ansible_host: 192.168.56.2
      vars:
        ansible_connection: ssh
        node_type: control
    
  • Глобальные переменные задают в блоке all.vars:

    all:
      vars:
        pgdatabase: controllerdb
    

Примечание

С целью сокращения все настройки описываются для инвентаря формата INI.

Переменные компонентов платформы можно задавать на следующих уровнях:

  • Для всех узлов.

  • Для группы узлов.

    Чтобы задать переменные для всех узлов определенной группы, создайте соответствующую секцию. Название секции формирует по следующему принципу:

    [<group>:vars]
    

    Здесь <group> – название группы узлов.

    Например, чтобы задать переменные для узлов из группы main создайте секцию [main:vars]:

    [main]
    node1.example.com   ansible_host=192.168.56.1
    node2.example.com   ansible_host=192.168.56.2
    node3.example.com   ansible_host=192.168.56.3
    
    [main:vars]
    ansible_user='administrator'
    ansible_ssh_private_key='/path/to/ssh/private/key'
    

    Эта запись эквивалентна следующей:

    [main]
    node1.example.com   ansible_host=192.168.56.1   ansible_user=administrator   ansible_ssh_private_key=/path/to/ssh/private/key
    node2.example.com   ansible_host=192.168.56.2   ansible_user=administrator   ansible_ssh_private_key=/path/to/ssh/private/key
    node3.example.com   ansible_host=192.168.56.3   ansible_user=administrator   ansible_ssh_private_key=/path/to/ssh/private/key
    
  • Для отдельных узлов в соответствующих строках.

При определении значений настроек используется следующий порядок:

  1. глобальные переменные;

  2. переменные группы;

  3. переменные отдельных узлов.

Более поздние значения перезаписывают более ранние.

Настройка подключения#

Тип подключения к узлам платформы задают переменной ansible_connection:

  • local – локальное подключение к узлу. Используют для развертывания компонента платформы на установочном узле (не рекомендуется).

  • ssh – подключение с использованием протокола SSH (по умолчанию).

  • paramiko – подключение с использованием протокола Paramiko.

Основные переменные подключения#

Для всех типов подключения возможно использование следующих дополнительных настроек:

  • ansible_host – IP-адрес управляемого узла.

  • 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   ansible_host=192.168.56.101
    

    Важно

    Узел, используемый для развертывания PostgreSQL, не должен использоваться для других целей, например, запуска заданий или управления контроллером.

    Если для хранения баз данных будет использован внешний PostgreSQL, секцию [database] надо создать, но оставить пустой.

Настройка Platform Gateway#

Переменные Platform Gateway задают в секциях [automautomationgateway], [automationgateway:vars] и [all:vars].

Настройка узлов#

В секции [automationgateway] задают параметры подключения к узлам Platform Gateway, например:

[automationgateway]

gateway1.example.com
gateway2.example.com

Учетные данные администратора#

Учетные данные администратора Platform Gateway задают следующими глобальными переменными:

  • automationgateway_admin_password – пароль;

  • automationgateway_admin_username – название учетной записи.

    Значение по умолчанию – «admin». В текущей версии изменять это значение нельзя.

  • automationgateway_admin_email – адрес электронной почты.

Сеть#

Параметры сети задают следующими глобальными переменными:

  • automationgateway_http_port – номер порта, на котором Platform Gateway прослушивает входящие HTTP-соединения.

    Значение по умолчанию: 80.

  • automationgateway_https_port – номер порта, на котором Platform Gateway прослушивает входящие HTTPS-соединения.

    Значение по умолчанию: 443.

  • automationgateway_ssl_cert – путь к файлу сертификата TLS, используемого веб-сервером.

  • automationgateway_ssl_key – путь к файлу ключа сертификата TLS, используемого веб-сервером.

  • automationgateway_ssl_protocol – протоколы, которые Platform Gateway будет поддерживать при обработке HTTPS-трафика.

    Значение по умолчанию: TLSv1_2, TLSv1_3.

  • automationgateway_https_enabled – включение HTTPS для Platform Gateway.

    • true – включено;

    • false – выключено.

  • automationgateway_hsts_enabled – включение HTTP Strict Transport Security (HSTS) для Platform Gateway.

    • true – включено;

    • false – выключено.

  • automationgateway_hsts_max_age – максимальная длительность (в секундах), в течение которой HSTS принудительно применяется для Platform Gateway.

  • automationgateway_main_url – URL, к которому подключаются клиенты и который используют внутренние компоненты платформы для взаимодействия между собой.

    Используют при развертывании кластера, когда требуется использовать URL балансировщика нагрузки вместо серверного адреса компонента. Значение URL должно начинаться с https:// или http://.

СУБД#

Параметры подключения Platform Gateway к СУБД задают следующими глобальными переменными:

  • automationgateway_pg_database – название базы данных.

  • automationgateway_pg_host – IP-адрес или FQDN узла с СУБД.

  • automationgateway_pg_password – пароль учетной записи СУБД.

  • automationgateway_pg_port – порт СУБД.

    Значение по умолчанию: 5432.

  • automationgateway_pg_username – название учетной записи СУБД.

  • automationgateway_pg_sslmode – режим использования SSL при подключении к СУБД:

    • prefer (по умолчанию) – подключение к СУБД будет защищено с помощью SSL, если сервер поддерживает шифрование;

    • verify-full – защита подключения с помощью SSL необходима, производится строгая верификация сервера. Соединение не будет установлено, если это условие не выполнено.

  • automationgateway_postgres_ssl_cert – путь к файлу сертификата SSL/TLS, используемого для защиты подключения к серверу СУБД PostgreSQL.

  • automationgateway_postgres_ssl_key – путь к файлу ключа сертификата SSL/TLS, используемого для защиты подключения к серверу СУБД PostgreSQL.

  • automationgateway_postgres_use_ssl – использование SSL для защиты подключения к СУБД:

    • true – включено;

    • false – выключено (по умолчанию).

Redis#

Параметры подключения Platform Gateway к Redis задают в следующих глобальных настройках:

  • automationgateway_redis_host – адрес узла Redis, используемого Platform Gateway.

    По умолчанию используется первый узел из группы [redis].

  • automationgateway_redis_port – номер порта узла Redis, используемого Platform Gateway.

  • automationgateway_redis_password – пароль для доступа к Redis.

    По умолчанию используется случайно сгенерированная строка.

  • automationgateway_redis_username – название учетной записи пользователя Redis.

  • automationgateway_redis_ssl – включение TLS для Redis Platform Gateway.

    • true – включено;

    • false – выключено (по умолчанию).

  • automationgateway_redis_cert – путь к файлу сертификата Redis для Platform Gateway.

  • automationgateway_redis_key – путь к файлу ключа Redis для Platform Gateway.

gRPC#

gRPC является встроенным сервисом, обеспечивающим аутентификацию пользователя через внешние системы (SSO, Single Sign-On) и перенаправление запроса пользователя к требуемому компоненту платформы. Следующие переменные влияют на его работу:

  • automationgateway_grpc_processes – количество процессов для обработки gRPC-запросов к Platform Gateway.

  • automationgateway_grpc_max_threads – максимальное количество потоков, которые каждый процесс gRPC-сервера может создать для обработки запросов к Platform Gateway.

  • automationgateway_grpc_timeout – длительность тайм-аута (в секундах) для запросов, осуществляемых к gRPC-сервису Platform Gateway.

Дополнительные переменные#

Следующие переменные используются реже, чем представленные ранее:

  • automationgateway_extra_settings – дополнительные переменные для использования Platform Gateway при установке.

    Например: automationgateway_extra_settings: - setting: OAUTH2_PROVIDER['ACCESS_TOKEN_EXPIRE_SECONDS'] value: 600

  • automationgateway_nginx_headers – список дополнительных заголовков NGINX для добавления в конфигурацию NGINX Platform Gateway.

  • automationgateway_client_max_body_size – максимальный допустимый размер (в байтах) данных, отправляемых в Platform Gateway через NGINX.

  • automationgateway_web_workers – количество рабочих процессов для обработки веб-запросов к Platform Gateway.

    По умолчанию: количество ядер CPU, умноженное на два, плюс один.

  • automationgateway_firewall_zone – зона сети, к которой применяются правила сетевого фильтра Platform Gateway.

    Контролирует, какие сети могут получать доступ к Platform Gateway на основе уровня доверия зоны.

  • automationgateway_web_cert_local – указание того, являются ли файлы сертификатов веб-сервера локальными для установочного узла (true) или находятся на управляемом узле (false).

  • automationgateway_db_client_cert_local – указание того, являются ли файлы сертификатов клиента PostgreSQL локальными для установочного узла (true) или находятся на управляемом узле (false).

  • automationgateway_ca_cert_local – указание того, являются ли файлы сертификатов, предоставленные Platform Gateway, локальными для установочного узла (true) или находятся на управляемом узле (false).

  • automationgateway_cache_cert_local – указание того, являются ли файлы сертификатов клиента кэша локальными для установочного узла (true) или находятся на управляемом узле (false).

    Значение по умолчанию: значение параметра ca_cert_local.

  • automationgateway_ssl_verify – указание того, следует ли проверять веб-сертификаты Platform Gateway при выполнении вызовов из Platform Gateway к себе во время установки.

  • automationgateway_compress_archive – включение сжатия архива для Platform Gateway.

    • true – включено;

    • false – выключено.

  • automationgateway_compress_database – включение сжатия базы данных для Platform Gateway.

    • true – включено;

    • false – выключено.

  • automationgateway_regenerate_cache_certs – указание того, следует ли повторно создавать сертификаты клиента Platform Gateway для кэша платформы.

    • true – включено;

    • false – выключено (по умолчанию).

  • automationgateway_disable_https_for_ui – отключение HTTPS при доступе к UI платформы.

    • true – выключено;

    • false – включено (по умолчанию).

  • automationgateway_pg_client_cert_auth – включение аутентификации по сертификату клиента на базе данных PostgreSQL Platform Gateway.

    • true – включено;

    • false – выключено (по умолчанию).

  • automationgateway_pg_client_cert – путь к файлу сертификата TLS клиента для подключения к СУБД PostgreSQL.

    Требуется, если включена аутентификация по сертификату клиента (automationgateway_pg_client_cert_auth).

  • automationgateway_pg_client_key – путь к файлу ключа SSL/TLS клиента для подключения к СУБД PostgreSQL.

    Требуется, если включена аутентификация по сертификату клиента (automationgateway_pg_client_cert_auth).

  • automationgateway_secret_key – значение секретного ключа, используемое Platform Gateway для подписи и шифрования данных.

  • automationgateway_envoy_http_port – номер порта, на котором прокси Envoy прослушивает входящие HTTP-соединения.

  • automationgateway_envoy_https_port – номер порта, на котором прокси Envoy прослушивает входящие HTTPS-соединения.

Настройка Automation Controller#

Переменные узлов Automation Controller задают в соответствующих секциях, а учетные данные администратора и переменные подключения к СУБД – в секции [all:vars].

Настройка узлов#

Для узлов Automation Controller доступны переменные, задающие тип узла (node_type) и связанную группу узлов (peers).

  • node_type – тип узла:

    • control – управляющий;

    • execution – исполняющий;

    • hop – промежуточный;

    • hybrid – гибридный.

    Для узлов из секции [automationcontroller] можно использовать только типы control и hybrid (по умолчанию), однако в рекомендуемых топологиях представлен только тип control.

    Для узлов из секции [execution_nodes] можно использовать только типы hop и execution (по умолчанию).

  • peers – название связанной группы узлов.

    С помощью peers настраивается связь между плоскостью управления и плоскостью исполнения.

    Пример использования переменной peers см. в описании развертывания кластера Automation Controller с удаленным исполнением.

Учетные данные системного администратора#

Учетные данные системного администратора Automation Controller задают следующими переменными:

  • admin_email – адрес электронной почты;

  • admin_password – пароль;

  • admin_username – название учетной записи.

    Значение по умолчанию – «admin». В текущей версии изменять это значение нельзя.

Сеть#

Параметры сети Automation Controller задают следующими глобальными переменными:

  • mesh_ca_certfile – путь к файлу сертификата сети Mesh.

  • mesh_ca_keyfile – путь к файлу ключа сертификата сети Mesh.

  • receptor_listener_port – номер порта, используемый рецептором.

    Значение по умолчанию: 27199.

  • web_server_ssl_cert – путь к файлу сертификата веб-сервера.

  • web_server_ssl_key – путь к файлу ключа сертификата веб-сервера.

СУБД#

Параметры подключения Automation Controller к СУБД задают следующими глобальными переменными:

  • pg_database – название базы данных.

    Значение по умолчанию: awx.

  • pg_host – IP-адрес или FQDN узла с СУБД.

    Если указана пустая строка (по умолчанию), используется локальное подключение к СУБД, развернутой на том же узле, что и Automation Controller.

  • pg_password – пароль учетной записи СУБД.

  • 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   ansible_host=192.168.56.102
hub2.example.com   ansible_host=192.168.56.103

Учетные данные администратора#

Учетные данные администратора Private Automation Hub задают следующими глобальными переменными:

  • automationhub_admin_password – пароль.

  • automationhub_admin_user – название учетной записи.

    Значение по умолчанию: admin.

Сеть#

Сетевую настройку Private Automation Hub определяют с помощью следующих переменных:

  • automationhub_main_url – Private Automation Hub URL.

    Эта переменная определяет внешний URL для доступа к Private Automation Hub при развертывании его на двух или более узлах. Это гарантирует, что все компоненты используют единообразный URL при обращении к реестру контейнеров. Без явного указания этого параметра система использует первый узел из группы automationhub.

  • automationhub_ssl_cert – путь к файлу сертификата TLS, используемого веб-сервером.

  • automationhub_ssl_key – путь к файлу ключа сертификата TLS, используемого веб-сервером.

СУБД#

Параметры подключения Private Automation Hub к СУБД задают следующими глобальными переменными:

  • automationhub_pg_database – название базы данных.

    Значение по умолчанию: automationhub.

  • automationhub_pg_host – IP-адрес или FQDN узла с СУБД.

  • automationhub_pg_password – пароль учетной записи СУБД.

  • automationhub_pg_port – порт СУБД.

    Значение по умолчанию: 5432.

  • automationhub_pg_username – название учетной записи учетной записи СУБД.

    Значение по умолчанию: automationhub.

Настройка хранилища S3#

Параметры подключения к хранилищу S3 задают следующими глобальными переменными:

  • s3_access_key – ключ доступа к объектному хранилищу.

  • s3_addressing_style – стиль адресации объектов в хранилище:

    • auto – если возможно, используется стиль virtual, в противном случае – path;

    • path – название хранилища включено в путь URI (по умолчанию);

    • virtual – название хранилища включено в FQDN узла.

  • s3_bucket_name – название хранилища.

  • s3_default_acl – список контроля доступа (access control list, ACL), используемый при работе с хранилищем по умолчанию.

    Список возможных значений зависит от типа используемого хранилища. Рекомендуется не задавать значение этого параметра в инвентаре, а выполнить необходимые настройки на стороне хранилища.

    Значение по умолчанию: omit.

  • s3_endpoint_url – точка доступа к хранилищу.

  • s3_region_name – название региона, в котором размещено хранилище.

    Список возможных значений зависит от типа используемого хранилища.

  • s3_secret_key – секретный ключ для доступа к хранилищу.

  • s3_signature_version – версия подписи, используемая для работы с хранилищем:

    • s3v4 (по умолчанию);

    • s3.

      Примечание

      Это значение считается устаревшим и не рекомендуется к использованию.

  • s3_use_sigv4 – подписывание запросов к хранилищу с помощью AWS Signature V4:

    • true – включено (по умолчанию);

    • false – выключено.

Настройка резервного копирования#

Глобальная настройка automationhub_backup_collections управляет включением загруженных коллекций в резервную копию, создаваемую с помощью утилиты aa-setup:

  • true – коллекции из Private Automation Hub включаются в резервную копию (по умолчанию);

  • false – коллекции из Private Automation Hub не включаются в резервную копию.

Когда содержимое Private Automation Hub размещается в хранилище S3, по умолчанию назначается false. Для этого случая оно является рекомендуемым.

Настройка контроллера Event-Driven Automation#

Переменные контроллера Event-Driven Automation задают в секциях [automationedacontroller] и [all:vars].

Настройка узла#

В секции [automationedacontroller] задают переменные подключения к узлу контроллера Event-Driven Automation, например:

[automationedacontroller]
edac.example.com

Учетные данные администратора#

Учетные данные администратора контроллера Event-Driven Automation задают следующими глобальными переменными:

  • automationedacontroller_admin_password – пароль;

  • automationedacontroller_admin_username – название учетной записи.

    Значение по умолчанию – «admin». В текущей версии изменять это значение нельзя.

Сеть#

  • automationedacontroller_ssl_cert – путь к файлу сертификата TLS, используемого веб-сервером.

  • automationedacontroller_ssl_key – путь к файлу ключа сертификата TLS, используемого веб-сервером.

СУБД#

Параметры подключения контроллера Event-Driven Automation к СУБД задают следующими глобальными переменными:

  • automationedacontroller_pg_database – название базы данных.

    Значение по умолчанию: automationedacontroller.

  • automationedacontroller_pg_host – IP-адрес или FQDN узла с СУБД.

  • automationedacontroller_pg_password – пароль учетной записи СУБД.

  • 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 – выключено, используются интернет-репозитории ПАО Группа Астра (по умолчанию).