Инструкция по обновлению экземпляра программного обеспечения Sage
Данная инструкция предполагает, что вы уже ознакомлены с руководством по установке Sage.
Эта инструкция является общей для всех версий Sage. Однако для некоторых версий могут потребоваться дополнительные действия, которые описаны в сопроводительной документации по обновлению соответствующей версии Sage.
Инструкция по обновлению предполагает, что Sage был установлен в соответствии с инструкцией по установке.
Подготовка
Перед началом обновления убедитесь, что:
- Все х осты доступны и работают корректно.
- Вы ознакомлены с инструкцией по установке Sage, так как большая часть шагов идентична.
- Данная инструкция предпологает, что обновление происходит с того же хоста, с которого вы запускали контейнер установщика прошлой версии Sage. Если вы хотите обновить Sage с другого хоста, вам необходимо скопировать файлы конфигурации установщика на этот хост.
- Контейнер с прошлой версией установщика остановлен.
- Рекомендуется на хосте, с которого вы запускаете установщик, иметь контейнер с предыдущей версией установщика и контейнер с текущей версией установщика.
Обновление Sage
Контейнер установщика
Установщик Sage поставляется в образе контейнера sage-trukk. Для его запуска в терминале необходимо выполнить следующие шаги:
Авторизация в репозитории
Команды выполняются на контрольном хосте.
bash auth.sh
Подготовка окружения к развертыванию, копирование шаблона конфигурации из контейнера установщика
export SAGE_VERSION=<версия SAGE>
Запуск контейнера установщика
Запустите контейнер со следующими аргументами:
sudo docker run -it --name sage-trukk-${SAGE_VERSION} --pull always --network host \
-v "${PWD}/certificates:/home/trukker/ansible/files/certificates:rw" \
-v "${PWD}/step:/home/trukker/ansible/files/step:rw" \
-v "${PWD}/clans:/home/trukker/ansible/clans:rw" \
-v "${PWD}/.ara:/home/trukker/.ara:rw" \
-v "${PWD}/sage-ssh:/home/trukker/.ssh:rw" \
-v "${PWD}/license:/home/trukker/ansible/files/licenses:rw" \
-v "${PWD}/key.json:/home/trukker/ansible/files/key.json:rw" \
-e 'ANSIBLE_REMOTE_USER=<SSH логин для всех хостов>' \
-e 'ANSIBLE_PRIVATE_KEY_FILE=/home/trukker/.ssh/<имя файла с приватным ключом>' \
cr.yandex/crp9e7v1gtl8rlvmji4q/sage-trukk-example:release-${SAGE_VERSION} bash
При запуске контейнер запросит пароль для Ansible Vault. После введения пароля вы попадёте внутрь контейнера и вас встретит приглашение ко вводу:
trukker@sage-trukk:~ $
Инициализация переменных
Укажите клан, окружение и ЦОД:
source setup.sh
clan clans/{{ sage_clan_const }}/{{ env }}/{{ dc }}
export SAGE_DEPLOY_MODE=update
Предварительная проверка конфигурации
На данном этапе выполняются действия:
- проверка обязательных переменных клана;
- проверка наличия не обходимых групп хостов;
- проверка наличия файла с лицензией и сертификатов;
- проверка правильного формата хостов в клане (только FQDN);
check
Проверки на данном этапе запускаются локально, подключение к целевым хостам не требуется.
Подробная информация о проверках доступна в admin-гайде.
Предварительная настройка серверов
На данном этапе выполняются действия:
- генерация сертификатов, необходимых для работы Opensearch, Nginx, Keycloak и Registry (при отсутствии предоставленных сертификатов со стороны заказчика);
- установка сертификатов на ВМ;
- установка и настройка Docker;
- установка и настройка Registry;
- авторизация Docker на каждом хосте в контуре для работы с установленным Registry;
- копирование образов всех систем Sage в Registry.
preinstall
Установка инфраструктурных приложений
На данном этапе выполняются действия:
- установка и настройка Vector;
- установка и настройка Nginx;
- установка и настройка Kafka;
- установка и настройка Opensearch;
- установка и настройка VictoriaMetrics;
- установка, настройка и применение миграций PostgreSQL;
- установка и настройка Redis;
- установка и настройка Keycloak;
- установка и настройка ClickHouse;
- установка и настройка node-exporter;
- установка и настройка telegraf;
- установка, настройка и импорт дашбордов Grafana.
Выполните установку инфраструктурных компонент:
infra
Установка приложений
На данном этапе выполняются действия:
- генерация JWK для Manul;
- генерация JWT для Luna, Mage и Sauron;
- регистрация Realm в Keycloak;
- установка и настройка Celestia;
- установка и настройка Cybertruck;
- установка и настройка Frost Remote Write;
- установка и настройка Furry;
- установка и настройка L2M Manager;
- установка и настройка L2M Worker;
- установка и настройка Luna;
- установка и настройка Mage;
- уст ановка и настройка Manul;
- установка и настройка Pager;
- установка и настройка Sauron;
- установка и настройка UI;
- применение DTracing миграций для ClickHouse;
- установка и настройка DTracing Collector;
- установка и настройка DTracing Kafka Consumer;
- установка и настройка DTracing Storage;
- установка и настройка компонент Service Map.
apps
Конфигурирование приложений
На данном этапе выполняются следующие действия:
- регистрация групп и пользователей в Keycloak;
- регистрация групп в Manul;
- регистрация таргетов в Frost;
- регистрация триггеров в Sauron.
configure
Проверка правильности установки всех приложений
Выполняется проверка работоспособности всех установленных приложений в соответствии со списком:
- работает публичный API Manul (
sauron/docs/index.html) — может быть отключён; - работает публичный API Pager (
pager/docs/index.html) – может быть отключён; - работает авторизация в Sage;
- работает связка Kafka → Furry → Opensearch;
- работает поиск по логам;
- работает поиск по метрикам;
- работает алертинг;
- работает авторизация в Grafana;
- группы в Sage эквивалентны группам в Grafana;
- работает источник да нных в Grafana;
- работает раздел документации (Documentation) и поиск по ней.
validate
Завершение обновления
После успешного завершения всех этапов обновления, откройте веб-интерфейс Sage и убедитесь, что все функции работают корректно.
Дополнительная помощь
Если у вас возникли сложности при обновлении, обратитесь к менеджеру Т-Банка.