Обновление компонентов, установленных на разных серверах
Обновление до версии 2.29
- При обновлении до версии 2.29 изменен порядок обновления - сначала нужно обновить сервера с Viqube и SmartForms и только потом основной сервер.
- Перед обновлением до версии 2.29 или 2.29.1 необходимо выключить внешнюю авторизацию (OpenID Connect и Kerberos) и включить внутреннюю, так как в процессе обновления будет необходимо ввести логин и пароль администратора.
- Перед обновлением платформа обязательно должна быть запущена, так как происходит бэкап БД сервисов
mongodb
иviqube
. - Если предполагается обновление платформы, используя Yandex Container Registry, то копирование файлов дистрибутива не требуется.
- Перед обновлением важно убедиться, что у пользователя, из-под которого будет происходить обновление, есть все права на выполнение команды docker или производить обновление из-под суперпользователя. Подробнее здесь Общая часть обновления.
Обновление через Yandex Container Registry
- Залогиниться в Yandex Container Registry на всех серверах. См. Общая часть обновления.
На всех серверах установить образ обновления
Обновление на версию 2.29docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.29
Обновление на версию 2.29.1docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.29.1
- Если ViQube установлен на другом сервере:
Запустить обновление на сервере ViQube.
Обновление на версию 2.29docker 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 \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.29 \ -l hub -m viqube | tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
Обновление на версию 2.29.1docker 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 \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.29.1 \ -l hub -m viqube --from <2.28|2.29> | tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
В --from необходимо указать версию, с которой происходит обновление.
- Если Smart Forms установлен на другом сервере:
Запустить обновление на сервере Smart Forms.
Обновление на версию 2.29docker 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 \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.29 \ -l hub -m smart-forms | tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
Обновление на версию 2.29.1docker 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 \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.29.1 \ -l hub -m smart-forms --from <2.28|2.29> | tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
В --from необходимо указать версию, с которой происходит обновление.
- На основном сервере платформы:
Создать новую папку и перейти в неё. Скрипты запуска появятся в текущей директории.
Запустить обновление на основном сервере платформы.
Обновление на версию 2.29docker 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 \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.29 \ -l hub -m dashboard-server | tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
Обновление на версию 2.29.1docker 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 \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.29.1 \ -l hub -m dashboard-server --from <2.28|2.29> | tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
В --from необходимо указать версию, с которой происходит обновление.
- В полях "Enter Admin login" и "Enter Admin password" ввести логин и пароль пользователя с ролью "Администратор" в платформе
a) При обновлении с версии 2.28 запуск платформы выполнять не нужно, он произойдет автоматически в процессе обновления.
b) При обновлении с версии 2.29 необходимо выполнить запуск платформы через скрипт run.sh с правами суперпользователя. Подробнее Запуск платформыЕсли при запуске в кластерном режиме возникли проблемы, то необходимо выполнить команду на всех серверах.
docker swarm leave -f
И произвести недостающие действия из секции Установка компонентов на разные серверы.
Обновление через образы
- На всех серверах платформы:
- Скопировать на сервер образ обновления в каталог images
Загрузить образ обновления в память:
docker load < images/update.tar.gz
- Если ViQube установлен на другом сервере:
- Скопировать на сервер образы viqube.tar.gz, promtail.tar.gz из поставки в каталог images.
Запустить обновление на сервере ViQube.
Обновление на версию 2.29docker 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 \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.29 \ -l local -m viqube | tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
Обновление на версию 2.29.1docker 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 \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.29.1 \ -l local -m viqube --from <2.28|2.29> | tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
В --from необходимо указать версию, с которой происходит обновление.
- Если Smart Forms установлен на другом сервере:
- Скопировать на сервер образы smart-forms-app.tar.gz, smart-forms.tar.gz, viloader-app.tar.gz, viloader-db.tar.gz, python-script-service.tar.gz, promtail.tar.gz из поставки в каталог images.
Запустить обновление на сервере Smart-Forms.
Обновление на версию 2.29docker 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 \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.29 \ -l local -m smart-forms | tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
Обновление на версию 2.29.1docker 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 \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.29.1 \ -l local -m smart-forms --from <2.28|2.29> | tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
В --from необходимо указать версию, с которой происходит обновление.
- На основном сервере платформы:
- Скопировать на сервер оставшиеся образы из поставки в каталог images.
Запустить обновление (скрипты для запуска появятся в текущей директории).
Обновление на версию 2.29docker 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 \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.29 \ -l local -m dashboard-server | tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
Обновление на версию 2.29.1docker 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 \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.29.1 \ -l local -m dashboard-server --from <2.28|2.29> | tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
В --from необходимо указать версию, с которой происходит обновление.
- В полях "Enter Admin login" и "Enter Admin password" ввести логин и пароль пользователя с ролью "Администратор" в платформе
a) При обновлении с версии 2.28 запуск платформы выполнять не нужно, он произойдет автоматически в процессе обновления.
b) При обновлении с версии 2.29 необходимо выполнить запуск платформы через скрипт run.sh с правами суперпользователя. Подробнее Запуск платформыЕсли при запуске в кластерном режиме возникли проблемы, то необходимо выполнить команду на всех серверах.
docker swarm leave -f
И произвести недостающие действия из секции Установка компонентов на разные серверы.