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

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

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

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

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

 

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

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

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

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

      docker load < update.tar.gz
    • Запустите обновление на основном сервере платформы.

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

      docker run -it \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /docker-volume:/docker-volume \ -v $(pwd):/mnt/volume \ -v $HOME/.docker:/root/.docker \ -v /home/visio/2.30+3.1:/mnt/old-scripts \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.31_3.2 \ -l local -m dashboard-server -v v2 $(pwd) \ $(id -u):$(cut -d: -f3 < <(getent group $(id -gn))) | \ tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt

      где в 6 строке нужно заменить /home/visio/2.30+3.1 на ваш путь к каталогу с предыдущими скриптами 2.30 и 3.1

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

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

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

      docker load < images/v2/viqube.tar.gz && \ docker load < images/v2/promtail.tar.gz
    • Удалите старые образы, если это необходимо

      docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viqube:2.30 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/promtail:2.30
    • Создайте каталоги /docker-volume/viqube/kerberos и /docker-volume/viqube/custom-scripts

  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.31

      docker load < images/v2/smart-forms-app.tar.gz && \ docker load < images/v2/smart-forms-db.tar.gz && \ docker load < images/v2/viloader-app.tar.gz && \ docker load < images/v2/viloader-db.tar.gz && \ docker load < images/v2/python-script-service.tar.gz && \ docker load < images/v2/promtail.tar.gz
    • Удалите старые образы, если это необходимо

      docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/smart-forms-app:2.30 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/smart-forms-db:2.30 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viloader-app:2.30 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viloader-db:2.30 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/python-script-service:2.30 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/promtail:2.30

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

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

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

    docker login \ --username oauth \ --password <token> \ cr.yandex

    где <token> -  токен, полученный из запроса https://oauth.yandex.ru/authorize?response_type=token&client_id=1a6990aa636648e9b2ef855fa7bec2fb

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

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

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

      docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.31_3.2
    • Запустите обновление на основном сервере платформы.

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

      docker run -it \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /docker-volume:/docker-volume \ -v $(pwd):/mnt/volume \ -v $HOME/.docker:/root/.docker \ -v /home/visio/2.30+3.1:/mnt/old-scripts \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.31_3.2 \ -l hub -m dashboard-server -v v2 $(pwd) \ $(id -u):$(cut -d: -f3 < <(getent group $(id -gn))) | \ tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt

    где в 6 строке нужно заменить /home/visio/2.30+3.1 на ваш путь к каталогу с предыдущими скриптами 2.30 и 3.1

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

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

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

      docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viqube:2.31 && \ docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/promtail:2.31
    • Удалите старые образы, если это необходимо

      docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viqube:2.30 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/promtail:2.30
  4. Если Smart Forms установлен на другом сервере:

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

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

      docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/smart-forms-app:2.31 && \ docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/smart-forms-db:2.31 && \ docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viloader-app:2.31 && \ docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viloader-db:2.31 && \ docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/python-script-service:2.31 && \ docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/promtail:2.31
    • Удалите старые образы, если это необходимо

      docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/smart-forms-app:2.30 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/smart-forms-db:2.30 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viloader-app:2.30 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viloader-db:2.30 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/python-script-service:2.30 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/promtail:2.30

Если при запуске в кластерном режиме возникли проблемы, то необходимо выполнить следующую команду на всех серверах:

docker swarm leave -f

и произвести недостающие действия, как описано в разделе Установка компонентов на разные серверы.

Related content