shrun

module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 19, 2023 License: MIT

README

ShRun

Установка

Для сборки и использования shrun нужно иметь установленный docker, git, make и go (1.18).

В переменную PATH нужно добавить путь к директории $GOPATH/bin.

Клонируем репозиторий и собираем shrun.

git clone git@github.com:wmentor/shrun.git
cd shrun
make

Для обновления будет необходимо подтянуть изменения из репозитория и сделать make. Важно учитывать тот момент, что после обновления возможно нужно будет также выполнить команды init/build.

Инициализация

shrun init

В конфигурационной директории создает Dockerfile-ы, sdmspec.json, rc.local. В качестве директории по умолчанию используется ~/.shrun (если ее нет, то она будет создана при первом запуске). Для того чтобы поменять директорию по умолчанию нужно задать переменную окружения SHRDM_CONFIG_DIR.

Для получения информации о всех параметрах команды вызовите ее с ключем -h.

Получения необходимых образов докера

shrun pull

В результате будут синхронизованы имеджи для go, ubuntu, postgres.

Сборка образа Shardman

shrun build --build-basic --build-pg

Для докеров используется каталог ~/build (может быть ссылкой). Если нужно его сменить, то стоит задать переменную окружения SHRDM_DATA_DIR.

Если не задать ключи --build-basic и --build-pg, то будет только пересобран образ с новой обвязкой на базе последней сборки постгреса.

--build-basic нужен для пересборки всех базовых образов, которые используются для сборки постгреса, но сам постгрес при этом не собирается.

--build-pg указывает на то, что нужно пересобрать постгрес.

Обвязка пересобирается при любой конфигурации ключей.

Запуск кластера

shrun start --nodes count

Запускает кластер из заданного числа нод (по умолчанию выполняется shardmanctl init + shardmanctl nodes add).

Если ноды не нужно добавлять в кластер, то нужно добавить флаг --skip-node-add.

Собрать следующий кластер можно будет теперь только после остановки (даже если сборка прошла неуспешно).

В случае успешного запуска в build-каталоге будет создана директория /mntdata, которая будет подмонтирована ко всем запущенным контейнерам.

Запуск дополнительных нод

shrun nodes add -n count

Поднимает еще заданное число нод Shardman. При этом в кластер они автоматом не добавляются. Команда может быть использована только после shrun start.

Удаление заданного числа нод Shardman

shrun nodes rm -n count

Удаляет заданное число нод Shardman или всех, если нод меньше чем заданное число. Если все ноды Shardman удалены команда stop не выполняется т.к. еще остаются живые etcd-ноды.

Подключение к конкретное ноде

shrun shell -n node -u user

Коннектится к заданной ноде из-под указанного пользователя (по дефолту используется пользователь root и нода shrn1).

Остановка всех нод/сетей

shrun stop

Генерация документации по Shardman

shrun doc

Команда сгенерирует документацию по шардману и напечатает каталог, в который она была сохранена.

Directories

Path Synopsis
cmd
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL