Руководтсво администратора/разработчика
Документация
Установка
Cluster (Yandex.Cloud)
Кластер (Yandex.Cloud)
Настройка облачного использования в режиме кластера Buildbox
Что делаем?
Создаем кластер из трех хостов (серверов): 1 Менеджер + 2 Клиента. Менеджер будет выступать в качестве прокси сервера для всех входящих запросов к серверам, запущенным в кластере (его IP-адрес используется для настройки DNS-записей для доменных имен серверов).
Данный вид настроки позволит автоматически балансировть нагрузку между разными buildbox-проектами, автоматически добалять необходимое количество сервисов при увеличении нагрузки, задействовать все неиспользуемые аппаратные мощности, подключенных в кластер Клиентов.
Обратите внимание! Менеджер также как и Клиент используется для работы проектов, помимо своих фукнций поддержания работоспособности кластера. В случае выхода из строя Менеджера, оставшиеся Клиенты выбирают Менеджера и восстанавливают работоспособность кластера Buildbox.
Подготовка
Для настройки нам необходимо создать и настроить учетную запись Yandex.Cloud и создать три виртуальные машины. Как создать виртуальные машины на Yandex.Cloud смотрите тут.
Рекомендуем: три виртуальные машины, к Менеджеру подключен сетевой диск, который будет монтирован на все Клиенты.
Как это сделать
1. Настроим сетевой диск на Менеджере.
После создания виртуальных машин и подсоединения сетевого диска к Менеджеру необходимо настроить общий доступ к данному разделу.
Для этого необходимо:
- Выбираем/Создаем рабочей директорию (по-умолчанию, рекомендуем монтировать в директорию /opt)
sudo mkdir buildbox - Монтируем диск (монтируем в директорию /buildbox добавленный диск)
sudo mount -v /dev/vdb /opt/ - Настроим прав доступа
sudo groupadd buildbox - создали группу buildbox
sudo usermod -aG buildbox your_user - добавили в эту группу пользователя
sudo chgrp buildbox /opt - меняем группу владельцев для /buildbox на buildbox
chmod g+rw /opt добавляем права для группы (разрешение на чтение и запись)
2. Подключаем сетевой диск
Мы рекомендуем настраивать NFS-сервер, на котором будет размещена общая папка и клиенты, которые могут монтировать сетевую папку как обычный диск в системе. В отличие от других протоколов NFS предоставляет прозрачный доступ к удаленным файлам. Клиенты будут видеть файлы как в обычной файловой системе и работать с ними как с локальными файлами.
На Менеджере необходимо:
- Установить сервер NFS
sudo apt install nfs-kernel-serve - Добавим nfs в автозагрузку
sudo systemctl enable nfs - Изменить файл /etc/exports
sudo nano /etc/exports - Добавить строки
/opt/buildbox host_client1(rw,sync,no_subtree_check)
/opt/buildbox host_client2(rw,sync,no_subtree_check)
где: host_client1 - IP-адрес или имя Клиента1 и Клиента2, которым будет разрешен доступ. - Сохранить и закрыть файл
Нажать Ctrl+O и Ctrl+X - Перезагрузить сервис
sudo /etc/init.d/portmap restart
На Клиенте необходимо:
- Установить клиента NFS
sudo apt install nfs-common - Примонтировать сетевой диск
sudo mount host_manager:/opt/buildbox/ /opt/
Где host_manager - IP-адрес или имя Менеджера, на котором находится диск, который мы монтируем.
3. Копируем файлы Buildbox Platform
Buildbox Platform поставляется в виде заархивированного набора файлов, который вы можете собрать тут.
Выберите необходимую платформу для установки и набор шаблонов дизайна.
Скачайте файл и разархивируйте его в рабочую директорию, которую мы сделали доступной для Клиентов ранее.
4. Устанавливаем дополнительные библиотеки
В сборку Buildbox Platform включен драйвер взаимодействия с базой данных Reindexer (используется в качестве внешнего кеша), который частично использует язык C++ и требует наличие библиотеки GLIBC_2.28. Для установки рекомендуем использовать котовый исполняемый файл upd_glibc.sh, подготовленный разработчиками Reindexer, которые находится в корне рабочей директории.
Для запуска необходимо выполнить команду
- ./upd_glibc.sh
Если вы не планируете использоваь встроенный кеширующий сервис, то соберите сборку Buildbox Platform без него. В таком случае, установку дополнительной библиотеки производить не надо.
5. Стартуем загрузчики на Клиентах
После разархивирования на Клиентах перейдите рабочую директорию и выполните команду:
6. Настройка базы данных
Buildbox использует систему управления данными RiderDB, которая может использовать целый набор баз данных в качестве основной СУБД хранения, предоставляя более высосоуровневое API для работы с данными в методологии графо-ориентированной модели данных.
Инсталяция Buildbox включает сервис Riderdb для работы которого необходимо установить любую из поддерживаемых баз данных или использовать SQLite базу данных (по-умолчанию)
О поддериживаемых базах данных и подключении к ним вы можете прочитать здесь
7. Установка кеш-сервера
Для работы с большим количеством запросов мы рекомендуем устанавливать кеширующий сервер. В сборку Buildbox включен встроенный механизм для работы с сервером Reindexer. Об установке Reindexer вы можете прочитать здесь