Установка компонентов на разные серверы
Содержимое дистрибутива из поставки кроме файла /images/viqube.tar скопировать на основной сервер, сохраняя структуру вложенных элементов.
Если предполагается обновление платформы, используя Yandex Container Registry, копировать папку images дистрибутива не требуется.
- На сервере перейти в скопированную папку с дистрибутивом
Сделать исполняемыми скрипты load_images.sh, load_from_release_dockerhub.sh, run.sh, update.sh, выполнив команду:
sudo chmod +x *.sh
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.20sudo ./load_from_release_dockerhub.sh -t 2.20 -m platform
Установка версии 2.20.1sudo ./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
Содержимое дистрибутива из поставки скопировать на сервер ViQube - из папки images необходимо скопировать только файл viqube.tar - сохраняя структуру вложенных элементов
Если предполагается обновление платформы, используя Yandex Container Registry, копировать папку images дистрибутива не требуется.
- На сервере перейти в скопированную папку с дистрибутивом
Сделать исполняемыми скрипты load_images.sh, load_from_release_dockerhub.sh, run.sh, update.sh, выполнив команду:
sudo chmod +x *.sh
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.20sudo ./load_from_release_dockerhub.sh -t 2.20 -m viqube
Установка версии 2.20.1sudo ./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
- Настроить машины
На основном сервере
Выполнить
docker swarm init
На сервере ViQube
На основном сервере выполнить
docker swarm init
- Из вывода сохранить строчку вида "
docker swarm join --token <TOKEN> <IP>"
На сервере ViQube выполнить команду из предыдущего пункта
-
На основном сервере
Выполнить
docker node ls
- В выводе должно быть две ноды. В строчке со звёздочкой указан айдишник "мастер" ноды, в другой "воркер" ноды.
Выполнить
docker node update --label-add platform=true <master_node_id> docker node update --label-add nginx=true <master_node_id>
<master_node_id> - айдишник "мастер" ноды
Выполнить
docker node update --label-add viqube-master=true <worker_node_id>
<worker_node_id> - айдишник "воркер" ноды
Проверить правильность можно командой:
docker inspect -f "{{.ID}} {{.Status.Addr}} {{.Spec.Labels}}" $(docker node ls -q)
Создать необходимые папки на сервере 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
Выполнить Запуск платформы
В параметры запуска run.sh необходимо выставить ключ --cluster-mode yes