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

Инструкция по обновлению Sage

  • Данная инструкция предполагает, что вы уже ознакомлены с руководством по установке Sage.
  • Инструкция по обновлению предполагает, что Sage был установлен в соответствии с инструкцией по установке.
  • Эта инструкция является общей для всех версий Sage.
  • Перед обновлением ознакомьтесь с Upgrade Notes версии, на которую планируете выполнить обновление.

Содержание

Требования при работе с программным обеспечением

Перед обновлением убедитесь, что ваша инфраструктура соответствует требованиям по работе с программным обеспечением, описанным в инструкции по установке Sage.

Особое внимание уделите:

Подготовка к обновлению Sage

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

Проверка готовности инфраструктуры

Для проверки инфраструктуры рекомендуем воспользоваться утилитой Sage Precheck.

  1. Скачайте скрипт sage.sh

    Перед выполнением команды убедитесь, что у вас есть файл key.json — это ключ для доступа к репозиторию с инструментом. Поместите файл key.json в ту же директорию, где находится скрипт.

    Команда выполнит авторизацию в Yandex Cloud и скачает утилиту на контрольный хост. Для её работы необходим доступ по HTTPS до объектного хранилища Yandex Cloud S3 — https://storage.yandexcloud.net.

    ./sage.sh precheck-download
  2. Создайте конфигурационный файл config.yaml со списком хостов. Пример:

    username: "sage"
    privateKeyPath: "/private/key/path"
    privateKeyPassword: "privateKeyPassword" # может быть пустым
    hosts:
    - hostname: "host1.example.com"
    ssh_port: 22 # не является обязательным параметром (по умолчанию 22)
    roles: ["USER_DATA", "WARM"] # не является обязательным параметром
    # Доступные роли:
    # USER_DATA — хост используется для хранения данных, проверяет наличие второго раздела под них
    # WARM — разрешает возможность использования HDD
  3. Запустите проверку:

    chmod +x sage-precheck
    ./sage-precheck -config config.yaml -output report

После выполнения в указанной директории report будут созданы три файла:

  • raw_data.json — сырые данные, собранные с хостов.
  • report.json — результаты проверки соответствия требованиям.
  • report.txt — результаты в понятном для человека виде.

Если проверка выявила проблемы — устраните их в соответствии с требованиями Sage и перезапустите проверку, чтобы подтвердить готовность к обновлению.

После успешной проверки инфраструктуры можно приступать к обновлению Sage.

Процесс запуска контейнера установщика

Установщик Sage поставляется в виде Docker-контейнера sage-trukk.

Для запуска контейнера установщика на контрольном хосте Sage:

  1. Авторизуйтесь в репозитории. Подробнее об авторизации
  2. Запустите контейнер. Подробнее о запуске

Авторизация в репозитории

:::notes Обратите внимание! Docker образы компонентов системы, в том числе образ контейнера установщика распространяюся через Yandex Cloud Container Registrycr.yandex/crp9e7v1gtl8rlvmji4q/. Перед авторизацией и началом установки убедитесь, что Контрольный хост имеет к нему сетевой доступ. :::

Команды выполняются на контрольном хосте. Перед выполнением команд убедитесь, что вы получили от вашего менеджера файл key.json — это ключ для доступа к репозиторию с образом установщика.

  1. Поместите файл key.json в ту же директорию, где находится скрипт sage.sh.
  2. Запустите скрипт авторизации:
./sage.sh login

Этот скрипт выполнит вход в репозиторий контейнеров с использованием предоставленного ключа. Успешное выполнение необходимо для последующей загрузки образа установщика.

Запуск контейнера установщика

  1. Проверьте наличие файла лицензии в каталоге license.

    Важно!

    Убедитесь, что файл называется sage_license.json.

  2. Выберите версию Sage, до которой необходимо обновиться:

    export SAGE_VERSION=<версия Sage> # Например, v1.11
  3. В следующем шаге вы укажете имя файла приватного ключа через переменную ANSIBLE_PRIVATE_KEY_FILE. Убедитесь, что этот файл лежит в каталоге sage-ssh/ и называется точно так же.

  4. Установите переменные ANSIBLE_REMOTE_USER и ANSIBLE_PRIVATE_KEY_FILE и запустите контейнер со следующими аргументами:

    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" \
    -v "${PWD}/spirit/kratos:/home/trukker/ansible/files/spirit/kratos:rw" \
    -e 'ANSIBLE_REMOTE_USER=<SSH логин для всех хостов>' \
    -e 'ANSIBLE_PRIVATE_KEY_FILE=/home/trukker/.ssh/<имя файла с приватным ключом>' \
    cr.yandex/crp9e7v1gtl8rlvmji4q/sage-trukk-example:release-${SAGE_VERSION} bash
  5. При запуске контейнер запросит пароль для Ansible Vault — введите пароль для Ansible Vault, который использовался при установке программного обеспечения Sage. После введения пароля вы попадёте внутрь контейнера и вас встретит приглашение ко вводу:

    trukker@sage-trukk:~ $

Процесс обновления Sage

Все последующие команды, которые обновляют и конфигурируют компоненты Sage, выполняются в контейнере установщика на контрольном хосте.

Инициализация переменных

Для подготовки окружения:

  1. Зайдите в директорию с командами:

    cd ~/ansible
  2. Подключите команды:

    source setup.sh
  3. Укажите клан:

    clan clans/{{ sage_clan_const }}/{{ env }}/{{ dc }}
  4. Укажите режим работы:

    export SAGE_DEPLOY_MODE=update

Конфигурация установщика

Перед обновлением ознакомьтесь с разделом документации «Конфигурация установки Sage». В нём описаны все параметры, которые можно настроить при установке программного обеспечения Sage.

Убедитесь, что вы задали значения для всех обязательных параметров. При необходимости укажите дополнительные (опциональные) параметры, чтобы настроить систему в соответствии с требованиями вашего окружения.

Обновление Sage

Для того, чтобы начать обновление, запустите Ansible-плейбук командой:

ansible-playbook sage-setup.yml

Завершение обновления

После успешного завершения всех этапов обновления, откройте в веб-браузере хост, который был выведен после завершения Ansible-плейбука. Убедитесь, что все функции работают корректно:

  1. Откройте страницу входа Sage.
  2. Нажмите Sign in with SSO.
  3. Введите данные пользователя — их можно найти по полю keycloak_users внутри клана.
  4. Убедитесь, что главная страница Sage отображается корректно.