Установка компонентов на разные серверы

  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. a. Для локальной установки:

    на основном сервере перейти в скопированную папку с дистрибутивом и запустить скрипт load_images.sh с правами суперпользователя:

    sudo ./load_images.sh -m platform
    • -m platform

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

    b. Для установки из 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

    на основном сервере перейти в скопированную папку с дистрибутивом и запустить скрипт load_from_release_dockerhub.sh с правами суперпользователя:

    Установка версии 2.20
    sudo ./load_from_release_dockerhub.sh -t 2.20 -m platform
    Установка версии 2.20.1
    sudo ./load_from_release_dockerhub.sh -t 2.20.1 -m platform
    • -m platform

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

    • -t 2.20|2.20.1

    здесь -t 2.20|2.20.1 означает, что скрипту необходимо загрузить образы релиза версии 2.20 или 2.20.1

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

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

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

    sudo chmod +x *.sh
  8. a. Для локальной установки:

    на сервере ViQube перейти в скопированную папку с дистрибутивом и запустить скрипт load_images.sh с правами суперпользователя:

    sudo ./load_images.sh -m viqube
    • -m viqube

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

    b. Для установки из 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

    на сервере ViQube перейти в скопированную папку с дистрибутивом и запустить скрипт load_from_release_dockerhub.sh с правами суперпользователя:

    Установка версии 2.20
    sudo ./load_from_release_dockerhub.sh -t 2.20 -m viqube
    Установка версии 2.20.1
    sudo ./load_from_release_dockerhub.sh -t 2.20.1 -m viqube
    • -m viqube

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

    • -t 2.20|2.20.1

    здесь -t 2.20|2.20.1 означает, что скрипту необходимо загрузить образы релиза версии 2.20 или 2.20.1

  9. Настроить машины
    1. На основном сервере

      1. Выполнить

        docker swarm init
    2. На сервере ViQube

      1. На основном сервере выполнить

        docker swarm init
      2. Из вывода сохранить строчку вида "docker swarm join --token <TOKEN> <IP>"
      3. На сервере ViQube выполнить команду из предыдущего пункта
    3. На основном сервере
      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)

  10. Создать необходимые папки на сервере ViQube:

    sudo mkdir -p /docker-volume/viqube/config && \
    sudo mkdir -p /docker-volume/viqube/apiLog && \
    sudo mkdir -p /docker-volume/viqube/crashdumps && \
    sudo mkdir -p /docker-volume/viqube/drivers && \
    sudo mkdir -p /docker-volume/viqube/log && \
    sudo mkdir -p /docker-volume/viqube/snapshots && \
    sudo mkdir -p /docker-volume/viqube/storage
  11. Выполнить Запуск платформы

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