Обновление компонентов, установленных на разных серверах

  • Если предполагается обновление платформы, используя Yandex Container Registry, то копирование файлов дистрибутива не требуется.

  • Перед обновлением платформы убедитесь, что она запущена. Если запущены обе версии платформы (2 и 3), то обновятся обе версии. Если запущена одна версия, то обновится только эта версия. Вторая версия не будет обновлена.

Проверка прав docker

Перед обновлением важно убедиться, что у пользователя, из-под которого будет происходить обновление, есть все права на выполнение команды docker. Более подробную информацию вы найдете в разделе Общая часть обновления.

Обновление через образы

  1. На основном сервере платформы:

    • Скопировать на сервер образы из поставки с сохранением иерархии каталогов.

    • Загрузите образ обновления в память:

      docker load < update.tar.gz
    • Запустите образ обновления для получения новых скриптов загрузки образов:

      Обновление до версии 2.37

      docker run --rm -it \ --name update-container \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /docker-volume:/docker-volume \ -v /var/lib/visiology:/mnt/volume \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.37_3.8 \ --only-extract-load-scripts "$(id -u):$(id -g)" | \ tee /var/lib/visiology/logs/update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
    • Запустите скрипт load_images.sh для загрузки образов нового релиза:

      /var/lib/visiology/scripts/load_images.sh --version <VERSION> -i <path_to_distrib>/images

      где path_to_distrib - абсолютный путь к дистрибутиву платформы.
      VERSION может принимать значения v2 - для загрузки образов 2.37, или all - для загрузки образов 2.37 и 3.8.

    • Запустите обновление. Скрипты запуска появятся в директории /var/lib/visiology/scripts.

    • Опционально выполните удаление образов от старой версии:

      Для удаления образов 3.7 выполните команду:

  2. Если ViQube установлен на другом сервере:

    • Скопируйте на сервер образы viqube.tar.gz, promtail.tar.gz из поставки в каталог images/v2

    • Запустите обновление на сервере ViQube.
      Обновление до версии 2.37

    • Удалите старые образы, если это необходимо

  3. Если Smart Forms установлен на другом сервере:

    • Скопируйте на сервер образы smart-forms-app.tar.gz, smart-forms-db.tar.gz, viloader-app.tar.gz, viloader-db.tar.gzpython-script-service.tar.gzpromtail.tar.gz из поставки в каталог images/v2

    • Запустите обновление на сервере Smart-Forms.
      Обновление до версии 2.37

    • Удалите старые образы, если это необходимо

Если при запуске в кластерном режиме возникли проблемы, то необходимо выполнить следующую команду на всех серверах:
docker swarm leave -f
и произвести недостающие действия, описанные в разделе Установка компонентов на разные серверы.

Обновление через Yandex Container Registry

  1. Войдите в Yandex Container Registry:

    где <token> -  токен, предоставленный отделом поддержки по вашему запросу.

  2. На основном сервере платформы:

    • Создайте новую папку и перейдите в неё. Скрипты запуска появятся в текущей директории.

    • Загрузите образ обновления

    • Запустите образ обновления для получения новых скриптов загрузки образов:

      Обновление до версии 2.37

    • Запустите скрипт load_from_release_dockerhub.sh для загрузки образов нового релиза:/var/lib/visiology/scripts/load_from_release_dockerhub.sh --version <VERSION>

      где VERSION может принимать значения v2 - для загрузки образов 2.37, или all - для загрузки образов 2.37 и 3.8

    • Запустите обновление. Скрипты запуска появятся в директории /var/lib/visiology/scripts.

    • Опционально выполните удаление образов от старой версии:

      Для удаления образов 3.7 выполните команду:

  3. Если ViQube установлен на другом сервере:

    • Запустите обновление на сервере ViQube.

      Обновление до версии 2.37

    • Удалите старые образы, если это необходимо

  4. Если Smart Forms установлен на другом сервере:

    • Запустите обновление на сервере Smart Forms.

      Обновление до версии 2.37

    • Удалите старые образы, если это необходимо