Установка master-сервера

Предварительные условия

Установка

1. Создать docker тома для платформы.

$ sudo docker volume create <r_volume_name> (1)
$ sudo docker volume create <r_supv_volume_name> (2)
$ sudo docker volume create <r_var_log_volume_name> (3)
1 <r_volume_name> – том для рабочей директории платформы.
2 <r_supv_volume_name> – том для конфигураций supervisord.
3 <r_var_log_volume_name> – том для логов системы.

Например:

$ sudo docker volume create era_vol
$ sudo docker volume create era_supv_vol
$ sudo docker volume create era_var_log_vol

2. Загрузить архив образа docker.

$ sudo docker load -i <image_name.tar.gz> (1)
1 <image_name.tar.gz> – имя образа, как правило архив c расширением .tar.gz.

3. Узнать имя и тэг загруженного образа.

$ sudo docker images -a

REPOSITORY TAG IMAGE ID CREATED SIZE
era 1.11.0 69099b62046b 4 months ago 944MB
  • REPOSITORY – имя образа, как правило соответствует устанавливаемому продукту.

  • TAG – тэг образа, версия устанавливаемого продукта.

4. Запустить контейнер.

$ sudo docker run --name <container_name> \ (1)
                  -v <r_volume_name>:/var/lib/era \ (2)
                  -v <r_supv_volume_name>:/etc/supervisor/conf.d \ (3)
                  -v <r_var_log_volume_name>:/var/log/era \ (4)
                  --tmpfs /run:rw,noexec,nosuid,size=4096k
                  -ditP
                  --restart unless-stopped
                  --cap-add=NET_ADMIN
                  --network host
                  <image_name>:<image_tag> (5) (6)
1 <container_name> – имя создаваемого контейнера.
2 <r_volume_name> – том для рабочей директории платформы.
3 <r_supv_volume_name> – том для конфигураций supervisord.
4 <r_var_log_volume_name> – том для логов системы.
5 <image_name> – имя образа.
6 <image_tag> – тэг образа.

Например:

$ sudo docker run --name eraplatform \
-v era_vol:/var/lib/era \
-v era_supv_vol:/etc/supervisor/conf.d \
-v era_var_log_vol:/var/log/era \
--tmpfs /run:rw,noexec,nosuid,size=4096k \
-ditP \
--restart unless-stopped \
--cap-add=NET_ADMIN \
--network host \
era:1.2.0

4. Подключиться к контейнеру выполняя в нем запуск командной оболочки bash

docker exec -it <container_name> \ (1)
                bash
1 <container_name> – имя контейнера.

5. Инициализировать сервер

# era install starttype=firstinit \ (1)
                  srvip=<server_ip> \ (2)
                  srvname=<server_name> \ (3)
                  psk=<psk> \ (4)
                  sqlstr=<db_connstring> \ (5)
                  gendomain=<general_domain> (6)
1 firstinit – тип установки системы, константа.
2 <server_ip> – ip адрес на котором будет поднята ServerShell нода.
3 <server_name> – имя сервера в конфигурации.
4 <psk> – private secure key системы.
5 <db_connstring> – строка подключения к БД PostgreSql.
6 <general_domain> – главный домен системы

Например:

# era install starttype=firstinit \
                  srvip=192.168.0.219 \
                  srvname=pbx01 \
                  psk=123qwe \
                  sqlstr=host:192.168.0.219,port:5432,login:erapgadmin,pwd:123456,database:postgres \
                  gendomain=tester.ru

6. Отключиться от контейнера

$ CTRL+d

Проверка результата

1. п.5 должен содержать сообщение Era. Installation success! после выполнения команды.
2. Проверить отсутствие отклонений в мониторинге системы