Если предполагается обновление платформы, используя Yandex Container Registry, то копирование файлов дистрибутива не требуется.
Перед обновлением платформы убедитесь, что она запущена. Если запущены обе версии платформы (2 и 3), то обновятся обе версии. Если запущена одна версия, то обновится только эта версия. Вторая версия не будет обновлена.
Проверка прав docker
Перед обновлением важно убедиться, что у пользователя, из-под которого будет происходить обновление, есть все права на выполнение команды docker
. Более подробную информацию вы найдете в разделе Общая часть обновления.
Обновление через образы
На основном сервере платформы:
Скопировать на сервер образы из поставки с сохранением иерархии каталогов.
Загрузите образ обновления в память:
docker load < update.tar.gz
Запустите обновление на основном сервере платформы. Скрипты запуска появятся в директории
/var/lib/visiology/scripts
Обновление до версии 2.35
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.35_3.6 \ "$(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.35, илиall
- для загрузки образов 2.35 и 3.6.Опционально выполните удаление образов от старой версии:
docker rmi $(docker images --filter=reference='cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/*2.34*' --format "{{ .Repository }}:{{ .Tag }}")
Для удаления образов 3.5 выполните команду:
docker rmi $(docker images --filter=reference='cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/*3.5*' --format "{{ .Repository }}:{{ .Tag }}")
Если ViQube установлен на другом сервере:
Скопируйте на сервер образы
viqube.tar.gz, promtail.tar.gz
из поставки в каталогimages/v2
Запустите обновление на сервере ViQube.
Обновление до версии 2.35docker load < images/v2/viqube.tar.gz && \ docker load < images/v2/promtail.tar.gz
Удалите старые образы, если это необходимо
docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viqube:2.34 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/promtail:2.34
Если Smart Forms установлен на другом сервере:
Скопируйте на сервер образы
smart-forms-app.tar.gz
,smart-forms-db.tar.gz
,viloader-app.tar.gz
,viloader-db.tar.gz
,python-script-service.tar.gz
,promtail.tar.gz
из поставки в каталогimages/v2
Запустите обновление на сервере Smart-Forms.
Обновление до версии 2.35docker 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.34 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/smart-forms-db:2.34 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viloader-app:2.34 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viloader-db:2.34 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/python-script-service:2.34 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/promtail:2.34
Если при запуске в кластерном режиме возникли проблемы, то необходимо выполнить следующую команду на всех серверах:docker swarm leave -f
и произвести недостающие действия, описанные в разделе Установка компонентов на разные серверы.
Обновление через Yandex Container Registry
Войдите в Yandex Container Registry:
docker login \ --username oauth \ --password <token> \ cr.yandex
где
<token>
- токен, полученный из запроса https://oauth.yandex.ru/authorize?response_type=token&client_id=1a6990aa636648e9b2ef855fa7bec2fbНа основном сервере платформы:
Создайте новую папку и перейдите в неё. Скрипты запуска появятся в текущей директории.
Загрузите образ обновления
docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.35_3.6
Запустите обновление на основном сервере платформы. Скрипты запуска появятся в директории
/var/lib/visiology/scripts
Обновление до версии 2.35
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.35_3.6 \ "$(id -u):$(id -g)" | \ tee /var/lib/visiology/logs/update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
Запустите скрипт
load_from_release_dockerhub.sh
для загрузки образов нового релиза:/var/lib/visiology/scripts/load_from_release_dockerhub.sh --version <VERSION>/var/lib/visiology/scripts/load_from_release_dockerhub.sh --version <VERSION>
где
VERSION
может принимать значенияv2
- для загрузки образов 2.35, илиall
- для загрузки образов 2.35 и 3.6Опционально выполните удаление образов от старой версии:
docker rmi $(docker images --filter=reference='cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/*2.34*' --format "{{ .Repository }}:{{ .Tag }}")
Для удаления образов 3.4 выполните команду:
docker rmi $(docker images --filter=reference='cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/*3.5*' --format "{{ .Repository }}:{{ .Tag }}")
Если ViQube установлен на другом сервере:
Запустите обновление на сервере ViQube.
Обновление до версии 2.35
docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viqube:2.35 && \ docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/promtail:2.35
Удалите старые образы, если это необходимо
docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viqube:2.34 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/promtail:2.34
Если Smart Forms установлен на другом сервере:
Запустите обновление на сервере Smart Forms.
Обновление до версии 2.35
docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/smart-forms-app:2.35 && \ docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/smart-forms-db:2.35 && \ docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viloader-app:2.35 && \ docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viloader-db:2.35 && \ docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/python-script-service:2.35 && \ docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/promtail:2.35
Удалите старые образы, если это необходимо
docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/smart-forms-app:2.34 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/smart-forms-db:2.34 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viloader-app:2.34 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viloader-db:2.34 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/python-script-service:2.34 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/promtail:2.34
Если при запуске в кластерном режиме возникли проблемы, то необходимо выполнить следующую команду на всех серверах:
docker swarm leave -f
и произвести недостающие действия, как описано в разделе Установка компонентов на разные серверы.