Child pages
  • Install NOC Tower on Debian 8

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Tower позволяет сделать реестр сервисов (service registry).  Работа башни основана на языке PlayBooks системы системе менеджмента конфигурации Ansible. Playbooks  язык с помощью которого Ansible  Ansible оркестрирует, конфигурирует, администрирует или разворачивает  системы. Частично playbooks playbook названы по спортивной аналогии (схема игры), и подразумевается, что использовать их будет весело и что это не рабочая тетрадь (workbook) (Перевод с  сайта проекта).  (Хорошая статья Статья по Ansible) 

Т.е. башня и ноды отдельные друг от друга конструкции. Мы рекомендуем разделить командную ноду и саму систему, хотя при желании можно поставить и на один хост.

 Подготовим, по одной машине (образу) – для NOC Tower  и  NOC-node1. Количество нод выбирается в зависимости от сложности инсталяцииинсталляции. Обратите внимание на предложения по сборке там описаны типичные сценарии и рекомендации.

Info

В терминологии системы, нода - это сервер машина на котором будет которой будут работать сервисы NOC или часть сервисов системы при распределенной системе. (Например: DB или web сервер)

...


Warning

Обратите внимание, что башня считает, что она единственный пакет в системе и довольно фривольно меняет дефолты системы в том числе sysctl.

Подготовка Ноды

 

Я думаю Debian вы устанавливали не раз, так что детальную установку системы мы опустим. В случае если возникнут затруднения можно воспользоваться  хорошей статьей.

Для установки Debian лучше всего использовать минимальный образ (netintstall), а при выборе пакетов отменить установку всех дополнительных пакетов (Х-сы, ssh, web-server, стандартные утилиты…) - , оставив только ssh – нужные пакеты, в дальнейшем, установим вручную. Такие предосторожности связаны с тем, что при наличии установленного пакета, может возникнуть аварийное прерывание инсталяцииустановит башня сами.

При установке системы выбираем нужную локаль, создаем стандартного пользователя, размечаем диск, создаем файловую систему. По большому счету при простой инсталяции, разметку диска, можно доверить инсталлятору дистрибутива или использовать все пространство диска, но можно и позаботится о проблемах переполнения корнего корневого раздела или ограничения количества inode-ов и подумать о iops.

...

  • · что при mbr всего четыре основных раздела;
  • · в NOC используются три базы ( mongo, postgres, clickhouse ) для каждой можно выделить раздел под данные;
  • · также, есть еще две базы, которые могут записывать данные на диск, хоть и небольшое количество, но при пиковой нагрузке, достаточно интенсивно, ( nsq nsqd );
  • · можно выделить, также раздел под журналы и индексы.

Info

Стандартные пути:

/opt/noc

Базы:

/var/lib/clickhouse

/var/lib/mongo ( https://docs.mongodb.org/manual/administration/production-notes )

/var/lib/postgresql

/var/spool/nsqd 

 

Все остальные разделы по вашему вкусу и в соответствии с потребностями.

...

«Вообще этот релиз очень удобен для децентрализованной системы -  базы данных в одном месте, воркеры в другом, активаторы и веб еще где-то…» и при сложных инсталяциях это ощутимо увеличит производительность. Обратите внимание на предложения по сборке.

Если вы все же не совсем уверены, какой объем дискового пространства выделить под нужды системы, можно использовать менеджер логических дисков LVM, чтобы в дальнейшем расширить объем (Неплохая  инструкция для Debian:). Также неплохо использовать XFS и можно обратить внимание на технологию для SSD, которая для Postgress  называется WAL , journal от mongo  и journal в mongo 

Теперь позаботимся о нужных пакетах

...

Code Block
languagebash
themeEclipse
root@noc-node1:/# apt-get install python python-dev python-yaml python-cffi libyaml-cpp-dev python-cryptography python-markupsafe libffi6 libffi-dev ssh libssl-dev gcc sudo dbus


Info

пакет ssh - метапакет, с ним поставится openssh-client и openssh-server, другие пакеты нужны для сборки.

...

 

Кроме локального пользователя на noc-node1, и пользователя root, нужно будет создать дополнительного пользователя ( Например: ansible ) - под этим пользователем  noc-tower будет настраивать данную Ноду.

...

Чтобы башня смогла настраивать Ноды - ansible должен иметь возможность сделать sudo -s без пароля –для этого  в файле /etc/sudoers добавляем строку:

 

No Format
ansible  ALL=(ALL) NOPASSWD:ALL

...

Пользователь NOC noc будет создан автоматически башней.

На этом настройка Ноды закончена! 

Note
Т.е. главная задача при настройки ноды это настроить доступ башни к ноде,  а дальше башня сделает все в автоматическом режиме.

...

Подготовка NOC-tower


Во многом начальная настройка башни похожа на настройку НОД - чистая netinstall без X и дополнительных утилит.

...

Info

При нажатии кнопки Pull скачивается PlayBook для ansible.


Note

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

 

Datacenters:
  • заводим новую запись

...

Note

Ноды строго относятся к выбранному в данный момент Environment! Поэтому, если, допустим, есть желание использовать 1 сервер Баз данных для 2 Environment, то ноду необходимо добавить 2 раза (для первого и второго Environment). При этом все параметры могут совпадать (она будет отличаться только ID в базе).

На вкладке Services:

...

Выбираем сервисы которые будут работать на нужной ноде. В инсталляции по умолчанию стоит просто выбрать все.

 В глосарии можно найти описание сервисов
 . Так же есть некоторое описание для каждого при его выборе


Note

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

...

Tip
Deploy нужно делать каждый раз после внесения изменений в вебе Башни.