Установка ЕдиногоАгента с помощью Ansible

Материал из Документация Ключ-АСТРОМ
Версия от 14:55, 31 октября 2022; ENetrebin (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)

Ключ-Астром предоставляет коллекцию Ansible, которую можно использовать для организации развертывания ЕдиногоАгента в вашей среде.

Требования

  • Ansible >= 2.9.0, < 2.10.0
  • ЕдиныйАгент версии 1.199+
  • Ключ-Астром версии 1.204+
  • Сценарий доступа к файлам установщика ЕдиногоАгента

Зависимости

  • pywinrm 0.4.1+

Загрузите коллекцию Ansible Ключ-Астром

1. Выберите «Развернуть Ключ-Астром» в меню навигации, а затем выберите «Начать установку».

2. Выберите коллекцию Ansible, чтобы загрузить архив коллекции.

Это безопасный архив, размещенный в вашей среде Ключ-Астром.


Установите коллекцию Ключ-Астром Ansible

1. Сохраните коллекцию Ansible Ключ-Астром

Сохраните tar-архив коллекции Ansible в каталоге на узле управления Ansible.

2. Установите коллекцию Ansible Ключ-Астром

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

ansible-galaxy collection install astromkey-oneagent-ansible-1.0.0.20200101-060000.tar.gz

Коллекция состоит из одной роли Ansible, которая развертывает ЕдиныйАгент с использованием специальной конфигурации. Конфигурация гарантирует, что служба ЕдиногоАгента остается в рабочем состоянии. Дополнительные сведения см. в разделе Использование коллекций в документации Ansible.

Настройка коллекции Ansible Ключ-Астром

Для сценария Ansible требуется доступ к соответствующим файлам установщика ЕдиногоАгента.

  • Если ваш управляющий узел Ansible имеет доступ к вашей среде Ключ-Астром, вы можете настроить сценарий для загрузки файлов установщика непосредственно из среды Ключ-Астром.
  • Кроме того, вы можете самостоятельно загрузить соответствующие файлы установщика — с помощью веб-интерфейса Ключ-Астром — и загрузить их на узел управления. Это обеспечивает сценарий локальными копиями установщиков.

Вариант 1. Используйте прямую загрузку из среды Ключ-Астром.

Сценарий использует Deployment API для загрузки установщиков для конкретной платформы на управляемые узлы. Вам нужно будет указать переменные, чтобы предоставить роли Ansible информацию, необходимую для аутентификации вызова API в вашей среде:

  • oneagent_environment_url:
    • Managed: https://{ваш-домен}/e/{идентификатор-вашей-среды}
  • oneagent_paas_token
    • Токен PaaS вашей среды

Мы рекомендуем безопасно хранить и токен PAAS, и идентификатор среды, используя такие механизмы шифрования, как Ansible Vault. Дополнительные сведения см. в разделе Шифрование содержимого с помощью Ansible Vault.

Вариант 2. Используйте локальные установщики

Используйте веб-интерфейс Ключ-Астром для загрузки необходимых файлов установщика ЕдиногоАгента, а затем загрузите их на узел управления. Затем сценарий Ansible скопирует файлы установщика на управляемые узлы во время выполнения.

Используйте переменную oneagent_local_installer, чтобы предоставить роли Ansible путь к файлу установщика. Например:

oneagent_local_installer: /path/of/oneagent_linux_installer.sh

Обратите внимание, что для Windows, Linux и AIX требуются специальные программы установки. Исходные имена установщиков, загруженные с Ключ-Астром, включают обозначения целевых платформ. Если вы меняете имена установщиков, убедитесь, что сценарий может их различать.

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

Пример использования см. в файле local_installer.yml в разделе Примеры.

Переменные

Роль ЕдиногоАгента Ansible поддерживает следующие переменные:

Название Значение по умолчанию Описание
oneagent_environment_url unset URL целевой среды Ключ-Астром (SaaS или Managed).
oneagent_paas_token unset Токен PaaS, полученный со страницы развертывания Ключ-Астром.
oneagent_local_installer unset Путь к установщику ЕдиногоАгента, хранящемуся на узле управления.
oneagent_installer_arch Linux: x86

Windows: x86 AIX: ppc

Архитектура установщика ЕдиногоАгента.
oneagent_version latest Требуемая версия ЕдиногоАгента в формате 1.199.247.20200714-111723.
oneagent_download_dir Linux/AIX: $TEMP or /tmp

Windows: %TEMP% or C:\Windows\Temp

Каталог загрузки установщика. Для Linux и AIX каталог не должен содержать пробелов.
oneagent_install_args unset Параметры установки ЕдиногоАгента Ключ-Астром, определенные в виде списка элементов.
oneagent_platform_install_args unset Дополнительный список параметров установки для конкретной платформы, добавленный к `oneagent_install_args' при запуске на соответствующей платформе.
oneagent_preserve_installer false Возможность сохранить установщик на управляемом узле после установки ЕдиногоАгента.
oneagent_package_state present Требуемое состояние пакета ЕдиногоАгента. Укажите текущую или последнюю версию для установки. Укажите отсутствует для удаления.
oneagent_reboot_host false Возможность перезагрузки управляемого узла после установки ЕдиногоАгента.
oneagent_validate_certs true Возможность требовать сертификаты. Если установлено значение false, позволяет загружать ЕдиныйАгент с сервера с небезопасным SSL-сертификатом (истекшим сроком действия, самоподписанным и т. д.).
oneagent_reboot_timeout 3600 Время ожидания в секундах для перезагрузки управляемого узла.

Логирование

Вместо вывода на STDOUT журналы, созданные Ansible, могут быть собраны в один файл, расположенный на управляемом узле. Есть несколько способов добиться этого с помощью настройки конфигурации Ansible:

  • Задайте для переменной среды ANSIBLE_LOG_PATH путь к файлу журнала.
  • Укажите переменную log_path в разделе [default] файла настроек конфигурации Ansible.

Подробностью журналов можно управлять с помощью параметра командной строки -v. Многократное повторение параметра увеличивает уровень детализации до уровня отладки соединения, что достигается с помощью -vvvv.

Примеры

Следующий пример playbook:

  • Загружает установщик ЕдиногоАгента определенной версии (oneagent_version) и сохраняет его в пользовательском каталоге (oneagent_download_dir).
  • Использует переменную vars_files для указания на безопасный файл учетных credentials.yml, в котором хранятся ваш идентификатор среды и токен PaaS.
  • Указывает сценарию развернуть ЕдиныйАгент в группах хостов с именами linux_other и linux_arm в вашем инвентаре.
  • Указывает сценарию использовать x86 в качестве архитектуры по умолчанию для группы хостов linux_other. Группа хостов linux_arm имеет собственный параметр oneagent_installer_arch, указанный в файле инвентаризации.
  • Использует переменную oneagent_install_args для указания параметров установки ЕдиногоАгента, которые назначают хосты группе хостов My.HostGroup_123-456 и сетевой зоне my.network.zone.
  • Задает другой параметр USER, используя параметр oneagent_platform_install_args для каждой группы хостов в инвентаризации.
---
- name: Download OneAgent installer in specific version to a custom
    directory with additional OneAgent install parameters. Both linux_other
    and linux_arm have different user specified by platform args parameter.
  hosts: linux_other,linux_arm
  collections:
    - astrom-key.oneagent
  vars_files:
    - encrypted_credentials.yml
  vars:
    oneagent_download_dir: /home/user1
    oneagent_version: 1.199.247.20200714-111723
    oneagent_install_args:
      - INSTALL_PATH=/opt/example
      - --set-host-group=My.HostGroup_123-456
      - --set-network-zone=my.network.zone
  tasks:
    - import_role:
        name: oneagent

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

  • local_installer.yml — установка ЕдиногоАгента с помощью локальной программы установки.
  • advanced_config.yml — установка ЕдиногоАгента с пользовательским путем установки и каталогом загрузки.
  • oneagentctl_config.yml — конфигурация ЕдиногоАгента с помощью команды oneagentctl.

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

Чтобы узнать о проблемах с путями при установке в Windows, ознакомьтесь с разделом «Форматирование пути для Windows» в документации Ansible.