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

При установке Агента нужно использовать актуальную Ansible Playbook/Role. Компания ООО «Лаборатории Тантор» предоставляет Ansible-роль автоматизации жизненного цикла Агента (установка/обновление/настройка).

Требования для работы Ansible-playbook

На всех узлах, указанных в файле inventory, должны быть установлены следующие компоненты:

  • Python3 с модулем pip >= 3.10.0;

  • СУБД TantorDB или PostgreSQL, включая postgresql-contrib, c внешним управлением Patroni или без внешнего управления.

На узле, с которого будет запускаться playbook, должен быть установлен Ansible >= 9.5.0, версия ядра (core version) 2.16.

Запуск Ansible-playbook

Перед запуском Ansible-playbook, выполните следующие действия:

  1. Скачайте Ansible-роль по ссылке.

  2. Заполните файл inventory на основе файла inventory_template.

  3. Создайте и разместите в каталоге group_vars новый файл, содержащий переменные для группы узлов из файла inventory. Например, файл sample_group.yml для группы sample_group из inventory_template. В качестве шаблона используйте файл group_vars/all.yml.

  4. Заполните созданный файл данными, актуальными для запуска плейбука.

  5. Если необходимо, пропишите публичный ключ пользователя, от имени которого запущена Платформа, в файле roles/tantor_agent/files/id_rsa.pub. Этот ключ будет добавлен пользователю postgres.

  6. Если нужно предопределить переменные на уровне узла, добавьте файл с именем этого узла и расширением .yml в каталог host_vars. Например, файл hostnameA.yml из inventory_template.

  7. Замените значение sample_group из файла agent.yml на группу, прописанную в файле inventory, для которой будут выполняться все задачи.

Примечание

Логика работы Ansible-playbook настраивается в основном файле переменных — group_vars/<файл, созданный в пункте три инструкции выше>.yml

Playbook нужно запускать под УЗ, имеющей беспарольный доступ на все узлы inventory файла с возможностью перехода в привелигированный режим (root).

Чтобы обновить Агента, запустите Ansible-playbook. Для этого используйте команду:

ansible-playbook -i <путь к файлу inventory> -l <группа узлов из файла inventory> agent.yml -D