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

  1. На основном сервере платформы:

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

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

    2. На сервере перейти в скопированную папку с дистрибутивом
    3. Сделать исполняемыми скрипты load_images.sh, load_from_release_dockerhub.sh, run.sh, update.sh, выполнив команду:

      sudo chmod +x *.sh
    4. Выполнить команду

      docker swarm init
  2. На сервере с установленным ViQube:
    1. На основном сервере выполнить команду:

      docker swarm init
    2. Сохранить вывод вида  "docker swarm join --token ..." от передыдущей команды
    3. На сервере с установленным ViQube выполнить команду из предыдущего пункта
  3. На основном сервере платформы:
    1. Перейти в скопированную папку с дистрибутивом и запустить скрипт update.sh с правами суперпользователя:

      Обновление на версию 2.20
      sudo ./update.sh -m platform -l <mode>
      Обновление на версию 2.20.1
      sudo ./update.sh -m platform -l <mode> --from <2.19|2.19.1|2.20>
      • -m platform

      здесь параметр -m platform означает, что на данном сервере установлены компоненты платформы кроме ViQube

      • -l <mode>

      здесь <mode> - режим получения новых образов. Возможные значения: local, hub.

      hub - получение образов из Yandex Container Registry. Если выбран данный режим, необходимо предварительно авторизоваться в Yandex Container Registry, используя следующую команду:

      sudo docker login \
               --username oauth \
               --password <token> \
               cr.yandex

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

      • --from <2.19|2.19.1|2.20>

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

  4. На сервере с установленным ViQube:

    1. содержимое дистрибутива из поставки скопировать на сервер - из папки images необходимо скопировать только файл viqube.tar - сохраняя структуру вложенных элементов.

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

    2. на сервере перейти в скопированную папку с дистрибутивом
    3. сделать исполняемыми скрипты load_images.sh, load_from_release_dockerhub.sh, run.sh, update.sh, выполнив команду:

      sudo chmod +x *.sh
    4. на сервере перейти в скопированную папку с дистрибутивом и запустить скрипт update.sh с правами суперпользователя:

      Обновление на версию 2.20
      sudo ./update.sh -m viqube -l <mode> 
      Обновление на версию 2.20.1
      sudo ./update.sh -m viqube -l <mode> --from <2.19|2.19.1|2.20>
      • -m viqube

      здесь параметр -m viqube означает, что на данном сервере установлен только ViQube

      • -l <mode>

      здесь <mode> - режим получения новых образов. Возможные значения: local, hub.

      hub - получение образов из Yandex Container Registry. Если выбран данный режим, необходимо предварительно авторизоваться в Yandex Container Registry, используя следующую команду:

      sudo docker login \
               --username oauth \
               --password <token> \
               cr.yandex

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

      • --from <2.19|2.19.1|2.20>

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

  5. Выполнить настройку нод:
     На основном сервере
    1. Выполнить

      docker node ls
    2. В выводе должно быть две ноды. В строчке со звёздочкой указан айдишник "мастер" ноды, в другой "воркер" ноды.
    3. Выполнить

      docker node update --label-add platform=true <master_node_id>
      docker node update --label-add nginx=true <master_node_id>

      <master_node_id> - айдишник "мастер" ноды

    4. Выполнить

      docker node update --label-add viqube-master=true <worker_node_id>

      <worker_node_id> - айдишник "воркер" ноды

    5. Проверить правильность можно командой:

      docker inspect -f "{{.ID}} {{.Status.Addr}} {{.Spec.Labels}}" $(docker node ls -q)

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

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