Обновление при помощи инструмента Pangolin Installer#
При переходе к данному разделу предполагается, что изучена информация общего блока автоматизированного обновления.
Обновление при помощи инструмента Pangolin Installer проходит по такому же сценарию, как и обновление при помощи Ansible плейбуков, но требует меньше действий и погружения в процесс. Все те же проверки и типы обновления реализуются «внутри» данного инструмента.
Подготовка к обновлению#
В случае обновления с использованием Pangolin Installer проверка готовности к обновлению выполняется автоматически и запуск скрипта-разведчика не требуется.
Шаг 1. Подготовка дистрибутива#
Предварительно скачайте и распакуйте дистрибутив новой версии.
Шаг 2. Установка утилиты Pangolin Installer#
Установите rpm/deb-пакет
pangolin-installer:sudo dnf install pangolin-installer-{version_component}-{OS}.x86_64.rpmsudo apt install pangolin-installer-{version_component}_amd64.debsudo apt-get install pangolin-installer-{version_component}-{OS}.x86_64.rpmПример заполненной команды:
cd distributive sudo dnf install installer/utilities/pangolin-installer-1.0.0-sberlinux9.x86_64.rpm
Шаг 3. Ознакомление с параметрами Pangolin Installer (опциональный)#
Для вывода на экран справки по Pangolin Installer в режиме terminal выполните команду:
Путь до утилиты: /opt/pangolin-ansible-venv-controller/bin/.
pangolin-installer terminal --help
Вывод команды pangolin-installer terminal –help
Использование: pangolin-installer terminal [-h] [--version] [--debug] -c CONFIG [-a {info,install,clean,updates,scouting,configure_roles}] [-v] [--no_archive_logs] [--force] [--vault-password-file VAULT_PASSWORD_FILE]
Опции:
-h, --help Вывести справку по команде
--version Версия pangolin-installer
--debug Включить функцию дебага pangolin-installer – подробное сообщение о процессе выполнения (по умолчанию=False)
-c CONFIG, --config CONFIG Путь до конфигурационного файла
-a {info,install,clean,updates,scouting,configure_roles}, --action {info,install,clean,updates,scouting,configure_roles}
Тип действий для запуска процесса установки или обновления (не обязательный параметр, по умолчанию работает автоопределение процесса установки). Поддерживаемые типы:
info - вывод информации о хосте и типе автоопределенного action
install - запуск процесса установки
clean - запуск очистки стенда
updates - запуск обновление хоста
scouting - запуск процесса проверки перед обновлением
configure_roles - запуск процесса ролевой модели
-v Уровень логирования в ansible-playbook (по умолчанию=vvv)
--no_archive_logs Выключить архивирование директории с логами (по умолчанию=False)
--force Принудительно запускать action (по умолчанию=False)
--vault-password-file VAULT_PASSWORD_FILE
Путь до файла vault, который нужен для запуска ansible-playbook
Запуск сценария обновления#
Обновление СУБД Pangolin через Pangolin Installer подразумевает под собой этапы:
Инициализация и заполнение конфигурационного файла Pangolin Installer.
Проверка готовности к обновлению (выполняется автоматически).
Завершение обновления СУБД (вывод информации утилиты о результате выполнения обновления).
Шаг 1. Инициализация и заполнение конфигурационного файла Pangolin Installer#
Выполните команду инициализации конфигурационного файла:
pangolin-installer init -t/--terminalВ результате выполнения команды создается начальный конфигурационный файл
config.yml, предназначенный для дальнейшей настройки.Отредактируйте созданный файл
config.ymlс помощью текстового редактора.Обозначения
Заполните информацию о конечных узлах и параметрах подключения:
В поле
hosts, заполните параметры хостов (ip/dns,password,usersname).В
local_distr_pathукажите полный путь к дистрибутиву новой версии.В
pangolin_license_pathукажите полный путь до лицензионного файла с названием файла. Пример:/home/admin/distributive/license.json.
Пример настроенного конфигурационного файла
config.yaml:hosts: master: hostname: <ip-address> password: password username: user replica: hostname: <ip-address> password: password username: user arbiter: hostname: <ip-address> password: password username: user local_distr_path: /home/admin/distributive pangolin_license_path: /home/admin/distributive/license.jsonhosts: master: hostname: <ip-address> password: password username: user1 local_distr_path: /home/admin/distributive pangolin_license_path: /home/admin/distributive/license.jsonВ случае установки standalone конфигурации необходимо удалить параметры хостов replica и arbiter, аналогично примеру.
Шаг 2. Запуск процесса обновления#
Запустите процесс обновления Pangolin. Выполните команду:
pangolin-installer terminal -c config.yml -a updatesВозможные параметры запуска установки:
флаг
-cпредполагает заполнение пути до конфигурационного файла;без указания атрибута
-aбудет запущено автоопределение процесса действий установка/обновление;если указан флаг
-a install– будет запущен процесс установки/переустановки;если указан флаг
-a updates– будет запущен процесс обновления.
Во время запуска проверки перед обновлением и самим обновлением, утилитой будет выведена информация о ходе выполнения этапов.
Пример вывода:
Вывод об успешном обновлении stanalone конфигурации
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | scouting | +----------------------+---------+-----+-------+---------------------------+-----------+------------+-----------------------------------+---------------------------+---------------+ | Node | Action | CPU | MEM | Disk available | OS | Version OS | Packages Installed | Packages Update | Configuration | +----------------------+---------+-----+-------+---------------------------+-----------+------------+-----------------------------------+---------------------------+---------------+ | node: master | updates | 4 | 12 GB | /dev 5.9G | SberLinux | 8.8 | pangolin-pooler (x.x.x) | pangolin-pooler (x.x.x) | standalone | | ip/dns: (IP-address) | | | | /dev/shm 5.9G | | | platform-v-pangolin-dbms (x.x.x) | pangolin-dbms (x.x.x) | | | | | | | /run 5.9G | | | pangolin-timescaledb (x.x.x) | | | | | | | | /sys/fs/cgroup 5.9G | | | | | | | | | | | / 45G | | | | | | | | | | | /boot 668M | | | | | | | | | | | /tmp 4.6G | | | | | | | | | | | /run/user/1002 1.2G | | | | | | +----------------------+---------+-----+-------+---------------------------+-----------+------------+-----------------------------------+---------------------------+---------------+ Выполняемая задача: scouting 🟢 Роль MAIN PLAY - Завершена! [Время выполнения: 0:06:52] Задач выполнено: 628 | | |####################################################################################################| 🟢 Роль COMMON - Завершена! [Время выполнения: 0:02:49] Задач выполнено: 335 | | |####################################################################################################| Success: S03001:Разведка перед обновлением успешно выполнена. +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | updates | +----------------------+---------+-----+-------+---------------------------+-----------+------------+-----------------------------------+---------------------------+---------------+ | Node | Action | CPU | MEM | Disk available | OS | Version OS | Packages Installed | Packages Update | Configuration | +----------------------+---------+-----+-------+---------------------------+-----------+------------+-----------------------------------+---------------------------+---------------+ | node: master | updates | 4 | 12 GB | /dev 5.9G | SberLinux | 8.8 | pangolin-pooler (x.x.x) | pangolin-pooler (x.x.x) | standalone | | ip/dns: (IP-address) | | | | /dev/shm 5.9G | | | platform-v-pangolin-dbms (x.x.x) | pangolin-dbms (x.x.x) | | | | | | | /run 5.9G | | | pangolin-timescaledb (x.x.x) | | | | | | | | /sys/fs/cgroup 5.9G | | | | | | | | | | | / 45G | | | | | | | | | | | /boot 668M | | | | | | | | | | | /tmp 4.6G | | | | | | | | | | | /run/user/1002 1.2G | | | | | | +----------------------+---------+-----+-------+---------------------------+-----------+------------+-----------------------------------+---------------------------+---------------+ Процедура проверки перед обновлением прошла успешно. Начать обновление? (Y/N): y Выполняемая задача: updates 🟢 Роль MAIN PLAY - Завершена! [Время выполнения: 0:00:13] Задач выполнено: 11 | | |####################################################################################################| 🟢 Роль PANGOLIN_CHECKS - Завершена! [Время выполнения: 0:13:29] Задач выполнено: 849 | | |####################################################################################################| 🟢 Роль COMMON - Завершена! [Время выполнения: 0:01:08] Задач выполнено: 142 | | |####################################################################################################| 🟢 Роль PANGOLIN_LICENSE - Завершена! [Время выполнения: 0:00:07] Задач выполнено: 6 | | |####################################################################################################| 🟢 Роль PANGOLIN_AUTH_REENCRYPT - Завершена! [Время выполнения: 0:00:52] Задач выполнено: 28 | | |####################################################################################################| 🟢 Роль PANGOLIN_CERTS_ROTATE - Завершена! [Время выполнения: 0:00:29] Задач выполнено: 29 | | |####################################################################################################| 🟢 Роль PANGOLIN_SECURITY_UTILITIES - Завершена! [Время выполнения: 0:00:12] Задач выполнено: 10 | | |####################################################################################################| 🟢 Роль PANGOLIN_MANAGER - Завершена! [Время выполнения: 0:00:00] Задач выполнено: 4 | | |####################################################################################################| 🟢 Роль PANGOLIN_DBMS - Завершена! [Время выполнения: 0:05:05] Задач выполнено: 147 | | |####################################################################################################| 🟢 Роль PANGOLIN_POOLER - Завершена! [Время выполнения: 0:00:27] Задач выполнено: 16 | | |####################################################################################################| 🟢 Роль PANGOLIN_TUNER - Завершена! [Время выполнения: 0:00:12] Задач выполнено: 9 | | |####################################################################################################| 🟢 Роль PANGOLIN_DIAGNOSTIC_TOOL - Завершена! [Время выполнения: 0:00:11] Задач выполнено: 10 | | |####################################################################################################| 🟢 Роль FINALLY - Завершена! [Время выполнения: 0:00:32] Задач выполнено: 29 | | |####################################################################################################| 🟢 Роль CONFIGURE - Завершена! [Время выполнения: 0:00:20] Задач выполнено: 45 | | |####################################################################################################| 🟢 Роль FINALLY - Завершена! [Время выполнения: 0:01:29] Задач выполнено: 92 | | |####################################################################################################| 🟢 Роль PANGOLIN_BACKUP_TOOLS - Завершена! [Время выполнения: 0:00:52] Задач выполнено: 100 | | |####################################################################################################| Success: S05001:Обновление успешно завершено. +-------------------------------------------------------------------------------------+ | after updates | +----------------------+---------------+----------------------------------------------+ | Node | Action | Packages Installed | +----------------------+---------------+----------------------------------------------+ | node: master | after updates | pangolin-backup-tools-venv (<version>) | | | | pangolin-backup-tools (<version>) | | ip/dns: (IP-address) | | pangolin-pooler (<version>) | | | | pangolin-dbms-7.1 (<version>) | | | | pangolin-tuner (<version>) | | | | pangolin-auth-reencrypt (<version>) | | | | pangolin-dbms-7.1-client (<version>) | | | | pangolin-certs-rotate (<version>) | | | | pangolin-timescaledb-apache (<version>) | | | | pangolin-security-utilities (<version>) | | | | pangolin-diagnostic-tool (<version>) | | | | pangolin-ansible-venv-controlled (<version>) | | | | | +----------------------+---------------+----------------------------------------------+
Дальнейшие шаги#
Для проверки успешности завершения обновления рекомендуется обратиться к шагам «Проверки результата» в общем блоке автоматизированного обновления.