Manual Installation¶
There are following components you need to install before running Moira microservices:
- golang_ version 1.5 or higher
- redis_ database version 2.8 or higher
- python version 2.7
- web server e.g. nginx
Настройка башни¶
Основной интерфей доступен по порту 8888 и адресу, на которой запущена башня.
На скриншоте видим основное меню и панель инструментов. Пункты меню:
- Environments - основная рабочая область. В ней создаются Окружения и настраиваются их параметры. Также из него выполняются действия над ними. Для выпонения настроек в последующих пунктах необходимо выбрать окружение.
- Datacenters - Здесь настраиваются Датацентры. Каждая нода (хост), относится к какому-либо датацентру. Из настроек доступно только указание прокси сервера
- Pools - здесь создаются Пулы. Часть сервисов НОКа позволяют работать в связке. Связок может быть несколько и по ним можно распределять оборудование (делается в настройках НОКа)
- Nodes - здесь создаются ноды (хосты). На них будут устанавливаться компоненты НОКа. Имя ноды (хоста) соответствует его hostname.
- Services - в данном меню происходит настройка сервисов НОКа (количество, пути и пр.) и место их размещения.
- Settings - указывается адрес репозитория НОКа (совпадает с хостом, на котором установлена башня). Для завершения настройки в этой вкладке необходимо нажать Save.
Tip
Все настройки, выполняемые в пунктах меню относятся к выбранному окружению. Т.е. Ноды, добавленные в одном окружении будут недоступны для другого.
На панели инструкментов доступны действия:
Create new
создать новое окружениеInventory
- показывает текстовый вариант всех введённых настроек для окруженияPull
- подтянуть последние изменения из репозитария НОКаDeploy
- развернуть НОК согласно настройкам.Deploy options
- позволяет выбрать операции, которые выполняются во время деплоя. По умолчанию необходимо выбрать Install Everything (Установить всё)
Создаём новое окружение, начинаем заполнять поля (кнопка Create New
)
На экране создания окружения заполняем поле имени (используем только буквенно-цифровые имена) и Host (указываем либо IP либо hostname) по этому адресу будет развёрнут веб-интерфейс.
Attention
После добавления окружения необходимо нажать кнопку Pull
Далее:
- Создаём датацентр. В нём,в слуае необходимости, заполняем поле Proxy.
- Добавляем ноды, в настройках указываем тип (FreeBSD, Linux), IP адрес (в формате IP), и имя пользователя, из под которого будет проходить развёртывание компонентов.
- Переходим в раздел
Settings
. Он разделён на несколько подразделов. Первым идётGlobal
- в нём сосредоточены основные компоненты НОКа и стороннее ПО, необходимо для функционирования. Дополнительные разделы соответствуют числу Пулов, созданных в разделеPools
. Поначалу Pool только 1 - default. В пулах находятся сервисы, работающие в связке с оборудованием.
Note
Подробнее о назначении каждого из сервисов можно почитать тут!
Note
Более подробно все настройки этого раздела освещены в руководстве!
Начинаем заполнять раздел. Необходимо пройти по всем сервисам и проставить их количество, которое будет установлено. На данный момент есть подводный камень. Если просто ставить цифры и перескакивать с сервиса на сервис - то настройки сохранить не удастся. Получится нечто такое:
В такой ситуации необходимо обновить окно браузера и повторить процедуру. По окончании нажимаем Save
, после обновляем окно браузера. Должно получиться как-то так:
Последним шагом переходим в меню Settings
и нажимем кнопку Save
.
Последним шагом возвращаемся в меню Environments
, проверяем что в Deploy options
выставлено Install Everythong
, нажимаем кнопку Deploy
и ждём.
Деплой НОКа¶
Сама по себе процедура деплоя предельно автоматизирована. Но может понадобиться отследить какие-то моменты. Саму процедуру Деплоя проводит Ansible. Это система управления конфигурацией, работающая на основе Playbook (рецептов). Сама башня выполняет настроечную функцию, а по кнопке деплой запускается Ансибль и по Playbook, выполняет действия, которые при другом раскладе пришлось выполнять вручную.
Лог действий он выводит в консоль. Жёлтые - это внесённые изменения, Зелёные - это прошло успешно, Красные - сбой. Если сбой критический, то деплой остановится, если нет - продолжится. При возникновении ошибок, рекомандуется поискать решение в FAQ или спросить в чатике.