Обновление компонентов, установленных на разных серверах

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

Проверка прав docker

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

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

  1. Залогиниться в Yandex Container Registry на всех серверах. См. Общая часть обновления.
  2. На основном сервере платформы:
    1. Установить образ обновления.

      Обновление на версию 2.21
      docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.21
      Обновление на версию 2.21.1
      docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.21.1
    2. Создать новую папку и перейти в неё. Скрипты запуска появятся в текущей директории.

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

      Обновление на версию 2.21
      docker 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.21 \
          -l hub -m dashboard_server
      Обновление на версию 2.21.1
      docker 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.21.1 \
          -l hub -m dashboard_server \
          --from <2.20|2.20.1|2.21>
      • --from <2.20|2.20.1|2.21>

      Данный параметр необходимо указывать только для обновления на версию 2.21.1, допустимые значения 2.20, 2.20.1, 2.21

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

      sudo chmod +x *.sh
  3. На сервере ViQube:
    1. Установить образ обновления.

      Обновление на версию 2.21
      docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.21
      Обновление на версию 2.21.1
      docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.21.1
    2. Запустить обновление на сервере ViQube.

      Обновление на версию 2.21
      docker 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.21 \
          -l hub -m viqube
      Обновление на версию 2.21.1
      docker 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.21.1 \
          -l hub -m viqube \
          --from <2.20|2.20.1|2.21>
      • --from <2.20|2.20.1|2.21>

      Данный параметр необходимо указывать только для обновления на версию 2.21.1, допустимые значения 2.20, 2.20.1, 2.21

  4. На основном сервере выполнить запуск платформы. Подробнее Запуск платформы.

    В параметры запуска run.sh необходимо выставить ключ --remote-viqube yes.

    Если при запуске в кластерном режиме возникли проблемы, то необходимо выполнить команду на всех серверах.

    docker swarm leave -f

    И произвести недостающие действия из секции Установка компонентов на разные серверы.

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

  1. На основном сервере платформы:
    1. Скопировать на сервер все образы из поставки и перейти в эту папку.
    2. Загрузить образ обновления в память.

      docker load < update.tar.gz
    3. Запустить обновление, скрипты запуска появятся в текущей директории.

      Обновление на версию 2.21
      docker 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.21 \
          -l hub -m dashboard_server
      Обновление на версию 2.21.1
      docker 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.21 \
          -l hub -m dashboard_server \
          --from <2.20|2.20.1|2.21>
      • --from <2.20|2.20.1|2.21>

      Данный параметр необходимо указывать только для обновления на версию 2.21.1, допустимые значения 2.20, 2.20.1, 2.21

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

      sudo chmod +x *.sh
  2. На сервере ViQube:
    1. Скопировать на сервер образы viqube.tar.gz, promtail.tar.gz из поставки и перейти в эту папку.
    2. Загрузить образ обновления в память.

      docker load < update.tar.gz
    3. Запустить обновление на сервере ViQube.

      Обновление на версию 2.21
      docker 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.21 \
          -l hub -m viqube
      Обновление на версию 2.21.1
      docker 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.21 \
          -l hub -m viqube \
          --from <2.20|2.20.1|2.21>
      • --from <2.20|2.20.1|2.21>

      Данный параметр необходимо указывать только для обновления на версию 2.21.1, допустимые значения 2.20, 2.20.1, 2.21

  3. На основном сервере выполнить запуск платформы. Подробнее Запуск платформы.

    В параметры запуска run.sh необходимо выставить ключ --remote-viqube yes

    Если при запуске в кластерном режиме возникли проблемы, то необходимо выполнить команду на всех серверах.

    docker swarm leave -f

    И произвести недостающие действия из секции Установка компонентов на разные серверы.