Обновление компонентов, установленных на разных серверах
Если предполагается обновление платформы, используя Yandex Container Registry, то копирование файлов дистрибутива не требуется.
Проверка прав docker
Перед обновлением важно убедиться, что у пользователя, из-под которого будет происходить обновление, есть все права на выполнение команды docker или производить обновление из-под суперпользователя. Подробнее здесь Общая часть обновления.
Обновление через 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На всех серверах установите образ обновления:
Обновление на версию 2.30docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.30_3.1
- На основном сервере платформы:
Создайте новую папку и перейдите в неё. Скрипты запуска появятся в текущей директории.
Запустите обновление на основном сервере платформы.
Обновление на версию 2.30docker run -it \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /docker-volume:/docker-volume \ -v /var/lib/visiology:/mnt/visiology \ -v /docker-volume/proxy:/mnt/certs \ -v $(pwd):/mnt/volume \ -v $HOME/.docker:/root/.docker \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.30_3.1 \ -l hub -m dashboard-server $(pwd) \ $(id -u):$(cut -d: -f3 < <(getent group $(id -gn))) | \ tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
- Если ViQube установлен на другом сервере:
Запустите обновление на сервере ViQube.
Обновление на версию 2.30docker run -it \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /docker-volume:/docker-volume \ -v /var/lib/visiology:/mnt/visiology \ -v /docker-volume/proxy:/mnt/certs \ -v $(pwd):/mnt/volume \ -v $HOME/.docker:/root/.docker \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.30_3.1 \ -l hub -m viqube $(pwd) \ $(id -u):$(cut -d: -f3 < <(getent group $(id -gn))) | \ tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
- Если Smart Forms установлен на другом сервере:
Запустите обновление на сервере Smart Forms.
Обновление на версию 2.30docker run -it \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /docker-volume:/docker-volume \ -v /var/lib/visiology:/mnt/visiology \ -v /docker-volume/proxy:/mnt/certs \ -v $(pwd):/mnt/volume \ -v $HOME/.docker:/root/.docker \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.30_3.1 \ -l hub -m smart-forms $(pwd) \ $(id -u):$(cut -d: -f3 < <(getent group $(id -gn))) | \ tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
В файле /docker-volume/viloader/application/configs/config.json изменить значение параметра Server=visiology_viloader-db на Server=viloader-db
Если при запуске в кластерном режиме возникли проблемы, то необходимо выполнить команду на всех серверах.
docker swarm leave -f
И произвести недостающие действия из секции Установка компонентов на разные серверы.
Обновление через образы
- На всех серверах платформы:
- Скопируйте на сервер образ обновления update.tar.gz в новый каталог.
Загрузите образ обновления в память:
docker load < update.tar.gz
- На основном сервере платформы:
- Скопировать на сервер оставшиеся образы из поставки с сохранением иерархии каталогов
Запустите обновление на основном сервере платформы.
Обновление на версию 2.30docker run -it \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /docker-volume:/docker-volume \ -v /var/lib/visiology:/mnt/visiology \ -v /docker-volume/proxy:/mnt/certs \ -v $(pwd):/mnt/volume \ -v $HOME/.docker:/root/.docker \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.30_3.1 \ -l local -m dashboard-server $(pwd) \ $(id -u):$(cut -d: -f3 < <(getent group $(id -gn))) | \ tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
3. Если ViQube установлен на другом сервере:
- Скопируйте на сервер образы viqube.tar.gz, promtail.tar.gz из поставки в каталог images/v2
Запустите обновление на сервере ViQube.
4. Если Smart Forms установлен на другом сервере:Обновление на версию 2.30docker run -it \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /docker-volume:/docker-volume \ -v /var/lib/visiology:/mnt/visiology \ -v /docker-volume/proxy:/mnt/certs \ -v $(pwd):/mnt/volume \ -v $HOME/.docker:/root/.docker \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.30_3.1 \ -l local -m viqube $(pwd) \ $(id -u):$(cut -d: -f3 < <(getent group $(id -gn))) | \ tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
- Скопируйте на сервер образы 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/v2
- Запустите обновление на сервере Smart-Forms.
docker run -it \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /docker-volume:/docker-volume \ -v /var/lib/visiology:/mnt/visiology \ -v /docker-volume/proxy:/mnt/certs \ -v $(pwd):/mnt/volume \ -v $HOME/.docker:/root/.docker \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.30_3.1 \ -l local -m smart-forms $(pwd) \ $(id -u):$(cut -d: -f3 < <(getent group $(id -gn))) | \ tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
В файле /docker-volume/viloader/application/configs/config.json изменить значение параметра Server=visiology_viloader-db на Server=viloader-db
Если при запуске в кластерном режиме возникли проблемы, то необходимо выполнить команду на всех серверах.
docker swarm leave -f
И произвести недостающие действия из секции Установка компонентов на разные серверы.