Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 16 Следующий »

Требования к серверу

Для стабильной работы сервер должен отвечать следующим требованиям:

  • операционная система семейства Linux, поддерживающая docker (рекомендуется Ubuntu server 18 и новее)

  • объем оперативной памяти от 8 Гб

  • процессор, поддерживающий виртуализацию и имеющий от 4-х ядер

  • от 40 Гб свободного места на жестком диске

  • наличие сетевого интерфейса 1 Гбит/с

Получение привилегий sudo без дополнительного ввода пароля

От имени непривилегированного пользователя необходимо выполнить команду:

echo "$(whoami)    ALL=(ALL) NOPASSWD: ALL" | sudo EDITOR='tee -a' visudo

и указать пароль. После этого для выполнения команд с sudo или перехода в режим суперпользователя дополнительный ввод пароля не потребуется.


Установка docker и docker-compose

Установка docker

Наиболее простой и быстрый способ установки — воспользоваться скриптом с официального сайта docker.com:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Добавление непривилегированного пользователя в группу docker

Для работы с docker без использования sudo введите команду:

sudo usermod -aG docker $(whoami)

Установка docker-compose

Docker-compose — отдельный проект от docker. Для получения свежей версии его нужно скачать с github и установить:

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

Запуск ECCM

Файлы и конфигурация

Для запуска ECCM необходимы следующие файлы:

docker-compose.yml
.env

Для распространения они упаковываются в архив, по вопросам получения которого нужно обратиться в коммерческий отдел по телефонам: +7 (383) 274-10-01, +7 (383) 274-48-48 или e-mail eltex@eltex-co.ru.

Архив с файлами нужно распаковать, а файлы переместить в удобную для работы директорию. Мы рекомендуем для этого создать директорию /opt/eccm.

Файл docker-compose.yml содержит описание контейнеров, необходимое для запуска проекта с помощью утилиты docker-compose.

В файле .env находятся следующие переменные, определяющие поведение проекта:

Параметры ECCM_WEB_ADDRESSECCM_BACKBONE_ADDRESSECCM_DISCOVERY_IP_RANGE необходимо настроить в соответствии с вашей сетевой конфигурацией. 

ECCM_TIMEZONE должен соответствовать временному поясу, в котором вы находитесь.

При изменении параметров проект нужно перезапустить последовательными командами:

	docker-compose down --volume
docker-compose up  
ПеременнаяЗначение по умолчаниюОписание
COMPOSE_PROJECT_NAMEeccmНазвание проекта в docker-compose. Используется для идентификации, в случае если на сервере запущено несколько проектов.
ECCM_PROFILEproductionПрофиль запуска системы. Внутренняя переменная.
ECCM_TAG0.7Номер версии системы.
ECCM_WEB_ADDRESSyourserver.ruАдрес, на котором будет работать web-интерфейс системы.
ECCM_WEB_PORT8080Порт для доступа к web-интерфейсу.
ECCM_BACKBONE_ADDRESSyourserver.ruАдрес ECCM в сети управления устройствами.
ECCM_DISCOVERY_IP_RANGE192.168.0.1,192.168.1.1-63Диапазон автоматического поиска устройств в сети. В качестве аргумента передается список IP-адресов, разделенных запятой. Также в список можно включить диапазоны адресов в виде 192.168.1.1-255.
ECCM_DISCOVERY_DISABLED1Отключение правила автоматического поиска устройств в сети. 1 - выключено, 0 - включено.
ECCM_TIMEZONEAsia/NovosibirskВременной пояс, в котором работает система, указывается в соответствии с tz database, например Asia/Novosibirsk.
ECCM_LOGLEVEL'INFO'Уровень логирования в проекте.

Примеры команд для запуска ECCM

Для запуска проекта нужно перейти в директорию с файлами (/opt/eccm) и выполнить команду:

docker-compose up -d

Пример вывода в консоль при успешном запуске:

$ docker-compose up -d
Creating network "eccm_eltex-internal" with the default driver
Creating eccm_rabbitmq-service_1       ... done
Creating eccm_postgres-zabbix_1       ... done
Creating eccm_postgres-ory_1           ... done
Creating eccm_identity-provider_1     ... done
Creating eccm_postgres-polemarch_1     ... done
Creating eccm_hydra_1                 ... done
Creating eccm_postgres-eccm_1         ... done
Creating eccm_zabbix-proxy_1           ... done
Creating eccm_monitoring-adapter_1     ... done
Creating eccm_backend-ui_1             ... done
Creating eccm_diff-checker_1           ... done
Creating eccm_upgrade-finish-checker_1 ... done
Creating eccm_data-presenter_1         ... done
Creating eccm_device-manager_1         ... done
Creating eccm_polemarch_1             ... done
Creating eccm_configurator_1           ... done
Creating eccm_oathkeeper-proxy_1       ... done
Creating eccm_zabbix-server_1         ... done
Creating eccm_cron-manager_1           ... done
Creating eccm_web-gui_1               ... done
Creating eccm_upgrader_1               ... done
Creating eccm_git-connector_1         ... done
Creating eccm_communicator_1           ... done
Creating eccm_zabbix-web_1             ... done
Creating eccm_zabbix-adapter-service_1 ... done


Для остановки проекта и очистки всех накопленных данных используйте команду:

docker-compose down -v

Доступ к web-интерфейсу

Для подключения к web-интерфейсу ECCM нужно ввести в строке браузера следующий адрес:

http://<IP адрес вашего сервера (ECCM_WEB_ADDRESS)>:8080/

Известные проблемы и методы решения

При запуске проекта может возникнуть ошибка следующего вида:

ERROR: Couldn't connect to Docker daemon at http+[docker://localhost](docker://localhost) - is it running?

Возможная причина: docker-демон не запущен. Для проверки нужно выполнить команду:

systemctl status docker

Если статус в строке Active отличается от Active (running), проблема действительно в этом.

Решение: запустить docker командой:

sudo systemctl start docker


Также может возникнуть ошибка:

Got permission denied while trying to connect to the Docker daemon socket at [unix:///var/run/docker.sock](unix://intdocs.eltex.loc/var/run/docker.sock): Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json: dial unix /var/run/docker.sock: connect: permission denied

Возможная причина: запуск производился от непривилегированного пользователя, и этот пользователь не был добавлен в группу docker.

Решения:

  1. (предпочтительное) добавить пользователя в группу docker. Это можно сделать командой:

    sudo usermod -aG docker $(whoami)
  2. выполнять все операции с привилегиями root


ERROR: Gethttps://hub.eltex-co.ru/v2/: dial tcp: lookup hub.eltex-co.ru on 10.25.160.135:53: server misbehaving

Возможная причина: отсутствует доступ в интернет

Решения:

  1. Проверить доступность внешних ресурсов с сервера, решить сетевые проблемы, если они есть.
  2. Если для доступа к внешним ресурсам используется proxy, настроить его использование в docker-daemon.

Настройка proxy для docker-daemon

Если подключение во внешнюю сеть происходит через proxy-сервер, docker-daemon должен быть настроен для работы через proxy для возможности скачать образы контейнеров ECCM. Данный раздел содержит информацию, достаточную для настройки proxy при развертывании демонстрационного стенда в системах, использующих systemd в качестве менеджера инициализации системы (Debian GNU/Linux версии 8 и выше, RHEL версии 7 и выше, CentOS версии 7 и выше, Ubuntu версии 16.04 и выше). Больше информации можно найти в документации к Docker https://docs.docker.com/config/daemon/systemd/#httphttps-proxy.

В системах, использующих systemd-настройки, запуск настраивается в модуле.

Для настройки используйте алгоритм:

  1. Создайте директорию для запуска docker-daemon:

    sudo mkdir -p /etc/systemd/system/docker.service.d
    
  2. Создайте файл с названием /etc/systemd/system/docker.service.d/http-proxy.conf
    и содержимым:

    [Service]
    Environment="HTTP_PROXY=http://proxy.example.com:80"
    Environment="HTTPS_PROXY=https://proxy.example.com:443"

    где вместо proxy.example.com нужно указать адрес вашего proxy-сервера и соответствующие порты.

  3. Обновите настройки сервисов и перезапустите docker:
    sudo systemctl daemon-reload
    sudo systemctl restart docker
  4. Проверьте, что docker-daemon начал использовать новые настройки, выполните команду:
    sudo systemctl show --property=Environment docker
    в результате выполнения команды будет указан список всех переменных среды, используемых сервисом, например:
    Environment=HTTP_PROXY=http://proxy.example.com:80 HTTPS_PROXY=https://proxy.example.com:443
    Среди них должны быть proxy, указанные в файле /etc/systemd/system/docker.service.d/http-proxy.conf
  • Нет меток