Установка Агента с помощью 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, выполните следующие действия:
Скачайте Ansible-роль по ссылке.
Заполните файл inventory на основе файла inventory_template.
Создайте и разместите в каталоге group_vars новый файл, содержащий переменные для группы узлов из файла inventory. Например, файл sample_group.yml для группы sample_group из inventory_template. В качестве шаблона используйте файл group_vars/all.yml.
Заполните созданный файл данными, актуальными для запуска плейбука.
Если необходимо, пропишите публичный ключ пользователя, от имени которого запущена Платформа, в файле roles/tantor_agent/files/id_rsa.pub. Этот ключ будет добавлен пользователю postgres.
Если нужно предопределить переменные на уровне узла, добавьте файл с именем этого узла и расширением .yml в каталог host_vars. Например, файл hostnameA.yml из inventory_template.
Замените значение sample_group из файла agent.yml на группу, прописанную в файле inventory, для которой будут выполняться все задачи.
Примечание
Логика работы Ansible-playbook настраивается в основном файле переменных — group_vars/<файл, созданный в пункте три инструкции выше>.yml
Playbook нужно запускать под УЗ, имеющей беспарольный доступ на все узлы inventory файла с возможностью перехода в привелигированный режим (root).
Чтобы обновить Агента, запустите Ansible-playbook. Для этого используйте команду:
ansible-playbook -i <путь к файлу inventory> -l <группа узлов из файла inventory> agent.yml -D