Обновление Агента

Обновление Агента через Визард Платформы

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

Чтобы обновить Агент через Визард Платформы:

  1. В меню Агента появится новый пункт «Инструкция по обновлению». Выберите его.

  2. В открывшемся окне выберите ваш дистрибутив Linux. Если Агента нужно обновить через локальный архив, поставьте галочку в чекбоксе «У меня нет доступа к Интернету, используйте локальную/оффлайн-установку».

  3. После выбора дистрибутива в окне появятся команды для обновления Агента.

    Скопируйте и выполните следующие команды:

    apt-get update
    apt-get --only-upgrade install pmaagent=5.0.0
    systemctl daemon-reload && systemctl restart pmaagent
    

    Подождите 1 минуту и выполните вторую часть последней команды ещё раз:

    systemctl restart pmaagent
    
  4. Нажмите на кнопку «Готово», чтобы завершить обновление. Если обновление нужно отменить, нажмите на кнопку «Отменить».

Автоматизированное обновление Агента с помощью 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