...
Для разворачивания системы необходимо поместить приложенный архив "naice-ansible.zipansibleNaice.tar.gz" на хост, с которого будет осуществляться запуск плейбука, в отдельную папку.
...
Установите утилиту sshpass, если она не установлена командой:
Блок кода language bash sudo apt install sshpass
Проверьте и при необходимости дополните строку "127.0.0.1 localhost" в файле /etc/hosts:
Блок кода language bash 127.0.0.1 localhost localhost.localdomain
Установите коллекции Ansible, необходимые для работы плейбуков:
Блок кода language bash ansible-galaxy collection install community.postgresql
Для указания адреса хоста, на который необходимо развернуть систему, отредактируйте файл
hosts.yml
:Блок кода language yml --- common: hosts: common_host: ansible_host: <IP-адрес хоста для NAICE>
- Настройте режим доступа к хосту в файле
ansible.cfg
(создать из шаблонаansible.cfg.template
) по SSH в зависимости от предпочитаемого варианта:по логину/паролю:
Блок кода [defaults] inventory = hosts.yml host_key_checking = False deprecation_warnings = False
и дополните
hosts.yml
:Блок кода language yml --- common: hosts: common_host: ansible_host: <IP-адрес хоста для NAICE> ansible_user: <логин пользователя> ansible_ssh_pass: <пароль пользователя>
по ключу (предварительно необходимо сгенерировать и поместить ключ на удаленный хост):
Блок кода [defaults] inventory = hosts.yml remote_user = <пользователь на удаленном хосте> private_key_file = <путь к файлу ключа> host_key_checking = True deprecation_warnings = False
- (необязательно) При необходимости измените значения переменных окружения в
group_vars/all.yml
. Например, можно изменить директорию установки сервисов NAICE или таймзону для PostgreSQL. Проверьте доступ до удаленного хоста с помощью:
Блок кода ansible all --list-hosts # проверить список хостов ansible all -m ping # проверить доступ до хостов
Пример вывода, если хост доступен:
Блок кода language bash common_host | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python3" }, "changed": false, "ping": "pong" }
(необязательно) При необходимости интеграции с Active Directory в файле переменных плейбука naice-ansible/group_vars/all.yml требуется указать корректные переменные (подробнее про настройку интеграции):
Блок кода radius_ms_ad_ip: '172.16.4.115' radius_kerberos_ad_user_login: 'fill_login' radius_kerberos_ad_user_password: 'fill_password' radius_kerberos_workgroup: 'WS' radius_kerberos_kdc: 'WS.LOC' radius_kerberos_admin_server: 'LABMS.WS.LOC' radius_samba_ou_structure: 'Computers'
Установка PostgreSQL
Предусмотрены два варианта дистрибуции СУБД - установка сервиса и разворачивание docker-контейнера. Рекомендуемый вариант - docker-контейнер.
...
Блок кода | ||
---|---|---|
| ||
ansible-playbook --ask-become-pass common-freeradius.yml |
При необходимости интеграции с MS AD (подробнее про настройку интеграции) плейбук необходимо запускать с указанием специального ключа "--tags="use-ms-ad"":
Блок кода |
---|
ansible-playbook --ask-become-pass common-freeradius.yml --tags="use-ms-ad" |
Примечание |
---|
Установку FreeRADIUS всегда необходимо выполнять после установки сервисов NAICE. |
Примечание | ||
---|---|---|
При интеграции с MS AD если настройка DNS на сервере с NAICE выполнялась после его установки, то необходим дополнительный рестарт контейнеров для применения настройки:
|
Приложения
Приложение A. Значение переменных окружения из .env
Примечание |
---|
LEMMUS_ACCESS_TTL_S отвечает за время жизни токена авторизации. Рекомендуется увеличить его до 3600 секунд для комфортной работы в WEB-интерфейсе. |
Переменная | Значение по умолчанию | Описание | ||
---|---|---|---|---|
Переменные для дистрибуции | ||||
BACKEND_VERSION_TAG | 0.5 | Версия сервисов бэкенда (naice-gavia, naice-lemmus, naice-ovis, naice-ursus) | ||
FRONTEND_VERSION_TAG | 0.5 | Версия сервиса фронтенда (naice-web, известный как larus) | ||
ELTEX_HUB | nexus.eltex.loc:9015 | Репозиторий со стабильными версиями сборок ПО | ||
ELTEX_HUB | hub.eltex-co.ru/naice | Внешний репозиторий со стабильными версиями сборок ПО | ||
ELTEX_FEATURE_HUB | nexus.eltex.loc:9008 | Репозиторий с версиями сборок ПО в разработке. Для внутреннего использования. | ||
BACKEND_HUB | ELTEX_HUB | Переменная, хранящая текущий выбранный репозиторий для загрузки сервисов бэкенда | ||
FRONTEND_HUB | ELTEX_HUB | Переменная, хранящая текущий выбранный репозиторий для загрузки сервиса фронтенда | ||
CI_HUB | nexus.eltex.loc:9012 | Репозиторий для сборок сопутствующих продуктов (PostgreSQL) | ||
CI_HUB | hub.eltex-co.ru | Внешний репозиторий для сборок сопутствующих продуктов (PostgreSQL) | ||
CI_VERSION_TAG | 0.5.0 | Версия ПО из репозитория CI | ||
Переменные Gavia | ||||
GAVIA_PORT | 8080 | Порт, на котором работает сервис внутри контейнера. | ||
GAVIA_HOST_PORT | 8080 | Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом. | ||
Переменные Ursus | ||||
URSUS_PORT | 8081 | Порт, на котором работает сервис внутри контейнера. | ||
URSUS_HOST_PORT | 8081 | Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом. | ||
URSUS_GRPC_PORT | 8082 | Порт, на котором работает GRPC для сервиса внутри контейнера. | ||
URSUS_GRPC_HOST_PORT | 8082 | Порт, в который пробрасывается порт GRPC для сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом. | ||
URSUS_POSTGRES_USERNAME | ursus | Пользователь для доступа сервиса в СУБД PostgreSQL. | ||
URSUS_POSTGRES_PASSWORD | ursus | Пароль пользователя для доступа сервиса в СУБД PostgreSQL. | ||
URSUS_POSTGRES_JDBC_URL | jdbc:postgresql://{{ ansible_host }}:5432/ursus | URL для взаимодействия с БД с помощью JDBC. | ||
URSUS_GRPC_ADMIN_SERVICE_ADDRESS | dns:/naice-ursus:8082 | Адрес GRPC сервера сервиса naice-ursus. По этому адресу происходит взаимодействие naice-gavia и naice-ursus. | ||
Переменные Lemmus | ||||
LEMMUS_PORT | 8083 | Порт, на котором работает сервис внутри контейнера. | ||
LEMMUS_HOST_PORT | 8083 | Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом. | ||
LEMMUS_POSTGRES_USERNAME | ursus | Пользователь для доступа сервиса в СУБД PostgreSQL. | ||
LEMMUS_POSTGRES_PASSWORD | ursus | Пароль пользователя для доступа сервиса в СУБД PostgreSQL. | ||
LEMMUS_ISSUER_URL | http://{{ ansible_host }}:8083 | URL для запроса токена другими сервисами. | ||
LEMMUS_REDIRECTS | http://{{ ansible_host }}:8080/actuator/health, http://{{ ansible_host }}:4200/login | URL для перенаправления клиента после получения токена. | ||
LEMMUS_ACCESS_TTL_S | 300 | Время жизни токена в секундах. | ||
LEMMUS_REFRESH_TTL_S | 3600 | Время в секундах, в течении которого токен можно продлить. | ||
Переменные PostgreSQL | ||||
POSTGRES_USER | ursus | Пользователь, создаваемый при установке и настройке СУБД. | ||
POSTGRES_PASSWORD | ursus | Пароль пользователя, создаваемый при установке и настройке СУБД. | ||
POSTGRES_DB | ursus | Имя БД, создаваемой при установке и настройке СУБД. | ||
Переменные Ovis | ||||
OVIS_PORT | 8084 | Порт, на котором работает сервис внутри контейнера. | ||
OVIS_HOST_PORT | 8084 | Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом. | ||
OVIS_GRPC_PORT | 8085 | Порт, на котором работает GRPC для сервиса внутри контейнера. | ||
OVIS_GRPC_HOST_PORT | 8085 | Порт, в который пробрасывается порт GRPC для сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом. | ||
OVIS_GRPC_SERVICE_ADDRESS | dns:/naice-ovis:${OVIS_GRPC_PORT} | Адрес, на который выполняется запрос о состоянии сервиса. | ||
OVIS_CACHE_TTL_S | 600 | Время жизни кэша naice-ovis в секундах, в течении которого он хранит настройки аутентификации и авторизации. По истечении этого времени настройки перечитываются.
| ||
OVIS_SESSION_IDLE_S | 86400 | Время жизни неактивных сессии пользователей, с. | ||
Переменные Larus (WEB) | ||||
LARUS_PORT | 4200 | Порт, на котором работает сервис внутри контейнера. | ||
LARUS_HOST_PORT | 80 | Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом. | ||
FRONTEND_API_URL | http://{{ ansible_host }}:8080/api/v1 | URL для взаимодействия с сервисом naice-gavia. | ||
FRONTEND_AUTHORIZATION_URL | http://{{ ansible_host }}:8083 | URL для редиректа на страницу авторизации. | ||
FRONTEND_WEB_URL | http://{{ ansible_host }}:80 | URL на котором работает WEB-интерфейс. | ||
Переменные уровня логирования сервисов | ||||
URSUS_LOGGING_LEVEL | DEBUG | Уровень логирования сервиса NAICE-Ursus | ||
GAVIA_LOGGING_LEVEL | DEBUG | Уровень логирования сервиса NAICE-Gavia | ||
LEMMUS_LOGGING_LEVEL | DEBUG | Уровень логирования сервиса NAICE-Lemmus | ||
OVIS_LOGGING_LEVEL | DEBUG | Уровень логирования сервиса NAICE-Ovis |
...