Что делает установщик
платформа era поставляется образом docker. Установщик разворачивает её на сервере: ставит docker, при необходимости PostgreSQL, создаёт каталоги под данные, настраивает параметры ядра и общие каталоги, загружает образ и запускает контейнер.
Установщик работает в три фазы и никогда не смешивает их.
-
Сбор. Задаёт вопросы или берёт ответы из командной строки и файла ответов. На этой фазе он ничего не меняет: только читает состояние сервера, чтобы предупредить о проблемах заранее.
-
Подтверждение. Показывает сводку введённого и список того, что собирается сделать, вплоть до перечня системных файлов, которые будут изменены.
-
Применение. Выполняет то, что показал, записывая в лог каждую команду и её результат.
До вашего согласия на экране подтверждения на сервере не выполняется ни одна изменяющая команда. Отказ на этом экране не оставляет следов.
Из чего состоит поставка
Поставка — это каталог (обычно распакованный zip-архив) с точками входа в корне и каталогом era рядом с ними.
| Что | Зачем |
|---|---|
|
Команды, выполняемые на том сервере, где вы находитесь. |
|
То же самое, но для удалённого сервера: запускаются с вашей машины. |
|
Диспетчер: |
|
Образ платформы ( |
|
Продуктовый слой ( |
|
Точки входа этого сервера и внутренности установщика: библиотеки, каталоги сообщений, матрицы ОС. Из перечисленного вам нужны только четыре команды выше — остальное трогать не требуется. |
|
Логи прогонов. Появляется при первом запуске. |
|
Краткая выжимка этой документации — то же самое на одной странице. |
Имя файла образа не зашито в код: подойдут era_*.tar.gz, infinity_*.tar.gz, incoplax_*.tar.gz.
Если образов несколько, задайте нужный ключом --eradockerimagepath.
Инстанс и постфикс
На одном сервере может работать несколько независимых установок платформы.
Их различает постфикс — строка, которую вы задаёте ключом --postfix и которая приписывается к именам.
| Сущность | Имя |
|---|---|
Контейнер платформы |
|
Контейнер PostgreSQL |
|
Каталог данных инстанса |
|
Юнит systemd для кластера в хосте |
|
Постфикс может быть пустым — тогда контейнер называется просто era.
Принято использовать вид _11, _dev, _test.
Что установщик меняет на сервере
Полный список зависит от ответов и всегда показывается на экране подтверждения. Обычно это:
-
пакеты:
docker-ceи, при установке базы в хост,postgresql<версия>-server; -
каталоги данных внутри
/opt/era<постфикс>; -
/etc/sysctl.confили файлы в/etc/sysctl.d/— лимиты inotify и, по запросу, сетевые параметры; -
/etc/exports.d/era_nfs.exports— если сервер отдаёт общие каталоги по NFS; -
/etc/systemd/system/postgresql_*.service— если кластер ставится в хост; -
правила
firewalld— на CentOS и родственных, если он активен; -
контейнеры docker и загруженные образы.
Автоматического отката нет. Вместо него все действия сделаны идемпотентными: повторный запуск с тем же файлом ответов безопасен и доводит установку до конца.