Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Информация

В связи с переименованием docker-сущности для 2.30 с visiology на visiology2, при обновлении происходит копирование volume с данными database-backups, loki_data, grafana_data, prometheus_data.

Если эти volume занимают много места (больше 1 Гб), то обновление может занять продолжительное время.

Посмотреть их размер можно с помощью команды docker system df -v | grep visiology

В database-backups хранятся бэкапы сервиса mongodb. Их удаление не приведет ни к каким последствиям.

В loki_data, grafana_data и prometheus_data хранится индексированная история логов и метрик. При их удалении нельзя будет посмотреть историю логов в Grafana до текущего момента. Если вам нужна история логов, удалять эти сервисы нельзя! Но обновление может занять значительное время.

Удалить всё можно следующим образом:

  1. Остановить сервисы:
    docker service scale visiology_admin=0 && \
    docker service scale visiology_loki=0 && \
    docker service scale visiology_grafana=0 && \
    docker service scale visiology_prometheus=0

  2. Удалить volume с помощью следующей команды:
    docker volume rm visiology_database-backups visiology_loki_data visiology_grafana_data visiology_prometheus_data

  3. Далее можно запустить обновление платформы.

При обновлении платформы необходимо учитывать, какой протокол обмена данными используется на сервере – HTTP или HTTPS.

При использовании HTTP:

Обновление версии 2.29
Раскрыть
title
панель
panelIconIdatlassian-warning
panelIcon:warning:
bgColor#FFEBE6
Примечание
  • Если предполагается обновление платформы, используя Yandex Container Registry, то копирование файлов дистрибутива не требуется.

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

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

...

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

Блок кода
languagebash
docker login \
   --username oauth \
   --password <token> \
   cr.yandex 

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

...

Установите образ обновления:

Блок кода
languagebash
docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.30_3.1

...

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

Запустить обновление.

Блок кода
languagebash
docker run -it \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /docker-volume:/docker-volume \
    -v /var/lib/visiology:/mnt/visiology \
    -v $(pwd):/mnt/volume \
    -v $HOME/.docker:/root/.docker \
    cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.30_3.1 \
    -l hub $(pwd) \
    $(id -u):$(cut -d: -f3 < <(getent group $(id -gn))) | \
tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt

...

Перейдите в раздел Зaпуск платформы

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

...

образы

  1. Скопируйте дистрибутив платформы на сервер, сохраняя структуру вложенных элементов.

  2. На сервере

...

  1. перейдите в скопированную папку с дистрибутивом.

...

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

...

  1. :

    Блок кода
    languagebash
    docker load < update.tar.gz

...

  1. Запустите обновление. Скрипты запуска появятся в

...

  1. директории /var/lib/visiology/scripts.

    Блок кода
    languagebash
    docker run --rm -it \
        --name update-container \
        -v /var/run/docker.sock:/var/run/docker.sock \
        -v /docker-volume:/docker-volume \
        -v /var/lib

...

  1. /visiology

...

  1. :/mnt/volume \

...

  1. 
       

...

  1.  

...

  1. cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.

...

  1. 33_3.

...

  1. 4 \

...

  1. 
       

...

  1.  

...

  1.  

...

  1.  

...

  1.   

...

  1. "$(id -u):$(

...

  1. id -

...

  1. g)

...

  1. " | \
    tee /var/lib/visiology/logs/update-log-$(date +%Y-%m-%d-%H-%M-%z).txt

...

Перейдите в раздел Зaпуск платформы

...

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

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

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

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

Блок кода
languagebash
docker login \
   --username oauth \
   --password <token> \
   cr.yandex 

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

...

Установите образ обновления:

Блок кода
languagebash
docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.30_3.1

...

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

  1. Запустите скриптload_images.sh для загрузки образов нового релиза:

    Блок кода
    /var/lib/visiology/scripts/load_images.sh --version <VERSION> -i <path_to_distrib>/images

    где path_to_distrib - абсолютный путь к дистрибутиву платформы.
    VERSION может принимать значения v2 - для загрузки образов 2.33, или all - для загрузки образов 2.33 и 3.4.

  2. Перейдите в раздел Зaпуск платформы .

  3. Опционально выполните удаление образов от старой версии:

    Блок кода
    languagebash
    docker 

...

  1. rmi $(docker images --filter=reference='cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/

...

  1. *2.

...

Перейдите в раздел Зaпуск платформы

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

...

Скопировать дистрибутив платформы на сервер, сохраняя структуру вложенных элементов.

...

На сервере перейти в скопированную папку с дистрибутивом.

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

  1. 32*' --format "{{ .Repository }}:{{ .Tag }}")

    Для удаления образов 3.3 выполните команду:

    Блок кода
    languagebash
    docker 

...

Перейти в папку с дистрибутивами и запустить обновление. Скрипты запуска появятся в текущей директории.

...

languagebash

...

  1. rmi $(docker images --filter=reference='cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/

...

Перейдите в раздел Зaпуск платформы

При использовании HTTPS:

...

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

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

  1. *3.3' --format "{{ .Repository }}:{{ .Tag }}")

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

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

    Блок кода
    languagebash
    docker login \
       --username oauth \
       --password <token> \
       cr.yandex 

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

  2. Установите образ обновления:

    Блок кода
    languagebash
    docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.

...

  1. 33_3.

...

  1. 4
  2. Запустите обновление. Скрипты запуска появятся в

...

  1. директории /var/lib/visiology/scripts.

    Блок кода
    languagebash
    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

...

  1. /

...

  1. volume

...

  1.  \

...

  1. 
       

...

  1.  

...

  1. cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.

...

  1. 33_3.

...

  1. 4 \

...

  1. 
    

...

  1.  

...

  1.  

...

  1.  

...

  1.      "$(id -u):$(

...

  1. id -

...

  1. g)

...

  1. " | \
    tee /var/lib/visiology/logs/update-log-$(date +%Y-%m-%d-%H-%M-%z).txt

...

Перейдите в раздел Зaпуск платформы

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

...

Скопировать дистрибутив платформы на сервер, сохраняя структуру вложенных элементов.

...

На сервере перейти в скопированную папку с дистрибутивом.

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

Блок кода
languagebash
docker load < update.tar.gz

Перейти в папку с дистрибутивами и запустить обновление. Скрипты запуска появятся в текущей директории.

  1. Запустите скрипт load_from_release_dockerhub.sh для загрузки образов нового релиза:

    Блок кода
    languagebash

...

  1. /var

...

  1. /

...

  1. lib/visiology

...

  1. /

...

Перейдите в раздел Зaпуск платформы

...

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

  • Перед обновлением важно убедиться, что у пользователя, из-под которого будет происходить обновление, есть все права на выполнение команды 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

...

Установите образ обновления:

Блок кода
languagebash
docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.30_3.1

...

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

...

  1. scripts/load_from_release_dockerhub.sh --version <VERSION>

    где VERSION может принимать значения v2 - для загрузки образов 2.33, или all - для загрузки образов 2.33 и 3.4.

  2. Перейдите в раздел Зaпуск платформы .

  3. Опционально выполните удаление образов от старой версии:

    Блок кода
    languagebash
    docker 

...

  1. rmi $(docker images --filter=reference='cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/

...

  1. *2.

...

  • где вместо /home/visio/visio3.0/visiology-certs в 5 строке укажите ваш каталог с сертификатами 3.0

...

Перейдите в раздел Зaпуск платформы

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

...

Скопировать дистрибутив платформы на сервер, сохраняя структуру вложенных элементов.

...

На сервере перейти в скопированную папку с дистрибутивом.

...

languagebash
  1. 32*' --format "{{ .Repository }}:{{ .Tag }}")

    Для удаления образов 3.3 выполните команду:

    Блок кода
    languagebash

...

sudo chmod +x *.sh

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

  1. docker 

...

Перейти в папку с дистрибутивами и запустить обновление. Скрипты запуска появятся в текущей директории.

...

languagebash

...

  1. rmi $(docker images --filter=reference='cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/

...

  • где вместо /home/visio/visio3.0/visiology-certs в 5 строке укажите ваш каталог с сертификатами 3.0

...

Перейдите в раздел Зaпуск платформы

...

  1. *3.3' --format "{{ .Repository }}:{{ .Tag }}")
Примечание

При возникновении неполадок, см. Возможные неполадки и пути их устранения в разделе Настройка HTTPS.