Перейти к основному содержимому
Версия: 1.9

Инструкция по обновлению экземпляра программного обеспечения 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 и убедитесь, что все функции работают корректно.

Дополнительная помощь

Если у вас возникли сложности при обновлении, обратитесь к менеджеру Т-Банка.