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

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

Установка

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 r_vol
$ sudo docker volume create r_supv_vol
$ sudo docker volume create r_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
r/r2                1.11.0              69099b62046b        4 months ago        944MB (1) (2)
1 REPOSITORY – имя образа, как правило соответствует устанавливаемому продукту.
2 TAG – тэг образа, версия устанавливаемого продукта.

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

$ sudo docker run --name <container_name> \ (1)
                  -v <r_volume_name>:/var/lib/rostell \ (2)
                  -v <r_supv_volume_name>:/etc/supervisor/conf.d \ (3)
                  -v <r_var_log_volume_name>:/var/log/rostell \ (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 rplatform \
                  -v r_vol:/var/lib/rostell \
                  -v r_supv_vol:/etc/supervisor/conf.d \
                  -v r_var_log_vol:/var/log/rostell \
                  --tmpfs /run:rw,noexec,nosuid,size=4096k \
                  -ditP \
                  --restart unless-stopped \
                  --cap-add=NET_ADMIN \
                  --network host \
                  r/r:tunit

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

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

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

# rostell install starttype=servinit \ (1)
                  srvip=<server_ip> \ (2)
                  srvname=<server_name> \ (3)
                  psk=<psk> \ (4)
                  micnodes=<cfg_parents> \ (5)
1 servinit – тип установки системы, константа.
2 <server_ip> – ip адресс на котором будет поднята ServerShell нода.
3 <server_name> – имя сервера.
4 <psk> – private secure key системы.
5 <cfg_parents> – список конфигурационных нод которые могут обслужить подключение нового сервера.

Например:

# rostell install starttype=servinit \
                  srvip=192.168.0.220 \
                  srvname=pbx02 \
                  psk=123qwe \
                  micnodes=mic@192.168.0.219,ic1@192.168.0.219

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

$ CTRL+d

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

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