Если предполагается обновление платформы, используя Yandex Container Registry, то копирование файлов дистрибутива не требуется.
Проверка прав docker
Перед обновлением важно убедиться, что у пользователя, из-под которого будет происходить обновление, есть все права на выполнение команды docker
. Более подробную информацию вы найдете в разделе Общая часть обновления.
Обновление через образы
На основном сервере платформы:
Скопировать на сервер образы из поставки с сохранением иерархии каталогов.
Загрузите образ обновления в память:
docker load < update.tar.gz
Запустите обновление на основном сервере платформы. Скрипты запуска появятся в директории
/var/lib/visiology/scripts
Обновление до версии 2.32
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 \ -v /home/visio/2.31+3.2:/mnt/old-scripts \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.32_3.3 \ "$(id -u):$(id -g)" | \ tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
где в 6 строке нужно заменить
/home/visio/2.31+3.2
на ваш путь к каталогу с предыдущими скриптами 2.31 и 3.2Запустите скрипт
load_images.sh
для загрузки образов нового релиза:/var/lib/visiology/scripts/load_images.sh --version <VERSION> -i <path_to_distrib>/images
где
path_to_distrib
- абсолютный путь к дистрибутиву платформы.VERSION
может принимать значенияV2
- для загрузки образов 2.32, илиALL
- для загрузки образов 2.32 и 3.3.Опционально выполните удаление образов от старой версии:
docker rmi $(docker images --filter=reference='cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/*2.31*' --format "{{ .Repository }}:{{ .Tag }}")
Для удаления образов 3.2 выполните команду:
docker rmi $(docker images --filter=reference='cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/*3.2' --format "{{ .Repository }}:{{ .Tag }}")
Если ViQube установлен на другом сервере:
Скопируйте на сервер образы
viqube.tar.gz, promtail.tar.gz
из поставки в каталогimages/v2
Запустите обновление на сервере ViQube.
Обновление до версии 2.32docker load < images/v2/viqube.tar.gz && \ docker load < images/v2/promtail.tar.gz
Удалите старые образы, если это необходимо
docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viqube:2.31 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/promtail:2.31
Если 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.32docker 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.31 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/smart-forms-db:2.31 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viloader-app:2.31 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viloader-db:2.31 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/python-script-service:2.31 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/promtail:2.31
Если при запуске в кластерном режиме возникли проблемы, то необходимо выполнить следующую команду на всех серверах: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.32_3.3
Запустите обновление на основном сервере платформы. Скрипты запуска появятся в директории
/var/lib/visiology/scripts
Обновление до версии 2.32
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 \ -v /home/visio/2.31+3.2:/mnt/old-scripts \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.32_3.3 \ "$(id -u):$(id -g)" | \ tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
где в 6 строке нужно заменить
/home/visio/2.31+3.2
на ваш путь к каталогу с предыдущими скриптами 2.31 и 3.2Запустите скрипт
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.32, илиALL
- для загрузки образов 2.32 и 3.3Опционально выполните удаление образов от старой версии:
docker rmi $(docker images --filter=reference='cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/*2.31*' --format "{{ .Repository }}:{{ .Tag }}")
Для удаления образов 3.2 выполните команду:
docker rmi $(docker images --filter=reference='cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/*3.2' --format "{{ .Repository }}:{{ .Tag }}")
Если ViQube установлен на другом сервере:
Запустите обновление на сервере ViQube.
Обновление до версии 2.32
docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viqube:2.32 && \ docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/promtail:2.32
Удалите старые образы, если это необходимо
docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viqube:2.31 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/promtail:2.31
Если Smart Forms установлен на другом сервере:
Запустите обновление на сервере Smart Forms.
Обновление до версии 2.32
docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/smart-forms-app:2.32 && \ docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/smart-forms-db:2.32 && \ docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viloader-app:2.32 && \ docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viloader-db:2.32 && \ docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/python-script-service:2.32 && \ docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/promtail:2.32
Удалите старые образы, если это необходимо
docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/smart-forms-app:2.31 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/smart-forms-db:2.31 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viloader-app:2.31 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/viloader-db:2.31 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/python-script-service:2.31 && \ docker rmi cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/promtail:2.31
Если при запуске в кластерном режиме возникли проблемы, то необходимо выполнить следующую команду на всех серверах:
docker swarm leave -f
и произвести недостающие действия, как описано в разделе Установка компонентов на разные серверы.