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

Ключ

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

В связи с переименованием 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

Важно!

  • Перед обновлением платформы прочтите, пожалуйста, раздел Особенности обновления до версии 2.35.

  • Перед обновлением платформы убедитесь, что она запущена. Если запущены обе версии платформы (2 и 3), то обновятся обе версии. Если запущена одна версия, то обновится только эта версия. Вторая версия не будет обновлена.

Примечание
  • Если предполагается обновление платформы, используя 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
  • Создать новую папку и перейти в неё. Скрипты запуска появятся в ней.

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

    Блок кода
    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/visiology:/mnt/

    ...

    1. volume \
         

    ...

    1.  

    ...

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

    ...

    1. 35_3.

    ...

    1. 6 \

    ...

    1. 
      

    ...

    1.  

    ...

    1.  

    ...

    1.  

    ...

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

    ...

    1. id -

    ...

    1. g)

    ...

    Примечание
    • Если предполагается обновление платформы, используя 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. " | \
      tee /var/lib/visiology/logs/update-log-$(date +%Y-%m-%d-%H-%M-%z).txt

    ...

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

    ...

    titleОбновление версий 2.29 и 3.0 одновременно
    1. Запустите скрипт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.

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

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

      Блок кода
      languagebash
      docker 

    ...

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

    ...

    1. *2.

    ...

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

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

    ...

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

    ...

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

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

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

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

      Блок кода
      languagebash
      docker 

    ...

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

    ...

    languagebash

    ...

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

    ...

    1. *3.

    ...

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

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

    ...

    titleОбновление версии 2.29

    ...

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

    ...

    1. 5*' --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. 35_3.

    ...

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

    ...

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

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

    1. Блок кода
      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. volume \
          

    ...

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

    ...

    1. 35_3.

    ...

    1. 6 \
          

    ...

    1.  

    ...

    1.  

    ...

    1.  

    ...

    1.  

    ...

    1. "$(id -u)

    ...

    1. :

    ...

    1. $(id -

    ...

    1. g)

    ...

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

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

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

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

    ...

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

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

    ...

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

    ...

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

    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.35, или all - для загрузки образов 2.35 и 3.6.

    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пуск платформы

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

    ...

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

    ...

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

    Сделать исполняемыми скрипты load_images.sh, load_from_release_dockerhub.sh, run.sh, выполнив команду:

    Блок кода
    languagebash
    sudo chmod +x *.sh

    ...

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

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

      Блок кода
      languagebash
      docker 

    ...

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

    ...

    languagebash

    ...

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

    ...

    1. *3.

    ...

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

    ...

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

    ...

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

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