Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Для разворачивания системы необходимо поместить приложенный архив "naice-ansible.zipansibleNaice.tar.gz" на хост, с которого будет осуществляться запуск плейбука, в отдельную папку.

...

  1. Установите утилиту sshpass, если она не установлена командой:

    Блок кода
    languagebash
    sudo apt install sshpass


  2. Проверьте и при необходимости дополните строку "127.0.0.1 localhost" в файле /etc/hosts:

    Блок кода
    languagebash
    127.0.0.1 localhost localhost.localdomain


  3. Установите коллекции Ansible, необходимые для работы плейбуков:

    Блок кода
    languagebash
    ansible-galaxy collection install community.postgresql


  4. Для указания адреса хоста, на который необходимо развернуть систему, отредактируйте файл hosts.yml:

    Блок кода
    languageyml
    ---
    common:
      hosts:
        common_host:
          ansible_host: <IP-адрес хоста для NAICE>


  5. Настройте режим доступа к хосту в файле ansible.cfg (создать из шаблона ansible.cfg.template) по SSH в зависимости от предпочитаемого варианта:
    1. по логину/паролю:

      Блок кода
      [defaults]
      inventory = hosts.yml
      host_key_checking = False
      deprecation_warnings = False

      и дополните hosts.yml:

      Блок кода
      languageyml
      ---
      common:
        hosts:
          common_host:
            ansible_host: <IP-адрес хоста для NAICE>      
            ansible_user: <логин пользователя>
            ansible_ssh_pass: <пароль пользователя>


    2. по ключу (предварительно необходимо сгенерировать и поместить ключ на удаленный хост):

      Блок кода
      [defaults]
      inventory = hosts.yml
      remote_user = <пользователь на удаленном хосте>
      private_key_file = <путь к файлу ключа>
      host_key_checking = True
      deprecation_warnings = False


  6. (необязательно) При необходимости измените значения переменных окружения в group_vars/all.yml. Например, можно изменить директорию установки сервисов NAICE или таймзону для PostgreSQL.
  7. Проверьте доступ до удаленного хоста с помощью:

    Блок кода
    ansible all --list-hosts  # проверить список хостов
    ansible all -m ping       # проверить доступ до хостов

    Пример вывода, если хост доступен:

    Блок кода
    languagebash
    common_host | SUCCESS => {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/bin/python3"
        },
        "changed": false,
        "ping": "pong"
    }


  8. (необязательно) При необходимости интеграции с 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-контейнер.

...

Блок кода
languagebash
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 выполнялась после его установки, то необходим дополнительный рестарт контейнеров для применения настройки:

Блок кода
docker compose stop && docker compose up -d


Приложения

Приложение 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

Репозиторий со стабильными версиями сборок ПО (warning) URL в локальной сети Eltex

ELTEX_HUBhub.eltex-co.ru/naiceВнешний репозиторий со стабильными версиями сборок ПО

ELTEX_FEATURE_HUB

nexus.eltex.loc:9008Репозиторий с версиями сборок ПО в разработке. Для внутреннего использования. (warning) URL в локальной сети Eltex

BACKEND_HUB

ELTEX_HUBПеременная, хранящая текущий выбранный репозиторий для загрузки сервисов бэкенда

FRONTEND_HUB

ELTEX_HUBПеременная, хранящая текущий выбранный репозиторий для загрузки сервиса фронтенда

CI_HUB

nexus.eltex.loc:9012Репозиторий для сборок сопутствующих продуктов (PostgreSQL) (warning) URL в локальной сети Eltex
CI_HUBhub.eltex-co.ruВнешний репозиторий для сборок сопутствующих продуктов (PostgreSQL)

CI_VERSION_TAG

0.5.0Версия ПО из репозитория CI

Переменные Gavia

GAVIA_PORT8080Порт, на котором работает сервис внутри контейнера. (warning) Не рекомендуется к редактированию!
GAVIA_HOST_PORT8080Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом.

Переменные Ursus

URSUS_PORT

8081Порт, на котором работает сервис внутри контейнера. (warning)

URSUS_HOST_PORT

8081Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом.

URSUS_GRPC_PORT

8082Порт, на котором работает GRPC для сервиса внутри контейнера. (warning)

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/ursusURL для взаимодействия с БД с помощью JDBC.
URSUS_GRPC_ADMIN_SERVICE_ADDRESSdns:/naice-ursus:8082Адрес GRPC сервера сервиса naice-ursus. По этому адресу происходит взаимодействие naice-gavia и naice-ursus.

Переменные Lemmus

LEMMUS_PORT8083Порт, на котором работает сервис внутри контейнера. (warning)
LEMMUS_HOST_PORT8083Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом.
LEMMUS_POSTGRES_USERNAMEursusПользователь для доступа сервиса в СУБД PostgreSQL.
LEMMUS_POSTGRES_PASSWORDursusПароль пользователя для доступа сервиса в СУБД PostgreSQL.
LEMMUS_ISSUER_URLhttp://{{ ansible_host }}:8083URL для запроса токена другими сервисами.
LEMMUS_REDIRECTShttp://{{ ansible_host }}:8080/actuator/health, http://{{ ansible_host }}:4200/loginURL для перенаправления клиента после получения токена.
LEMMUS_ACCESS_TTL_S300Время жизни токена в секундах.
LEMMUS_REFRESH_TTL_S3600Время в секундах, в течении которого токен можно продлить.

Переменные PostgreSQL

POSTGRES_USERursusПользователь, создаваемый при установке и настройке СУБД.
POSTGRES_PASSWORDursusПароль пользователя, создаваемый при установке и настройке СУБД.
POSTGRES_DBursusИмя БД, создаваемой при установке и настройке СУБД.

Переменные Ovis

OVIS_PORT8084Порт, на котором работает сервис внутри контейнера. (warning)
OVIS_HOST_PORT8084Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом.
OVIS_GRPC_PORT8085Порт, на котором работает GRPC для сервиса внутри контейнера. tinymce.emotions_dlg.warning
OVIS_GRPC_HOST_PORT8085Порт, в который пробрасывается порт GRPC для сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом.
OVIS_GRPC_SERVICE_ADDRESSdns:/naice-ovis:${OVIS_GRPC_PORT}Адрес, на который выполняется запрос о состоянии сервиса.
OVIS_CACHE_TTL_S600

Время жизни кэша naice-ovis в секундах, в течении которого он хранит настройки аутентификации и авторизации. По истечении этого времени настройки перечитываются.

Подсказка

Для тестирования можно уменьшить значение до 10 сек, но такое значение не рекомендуется для использования на продуктовой среде.


OVIS_SESSION_IDLE_S86400Время жизни неактивных сессии пользователей, с.

Переменные Larus (WEB)

LARUS_PORT4200Порт, на котором работает сервис внутри контейнера. (warning)
LARUS_HOST_PORT80Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом.
FRONTEND_API_URLhttp://{{ ansible_host }}:8080/api/v1URL для взаимодействия с сервисом naice-gavia.
FRONTEND_AUTHORIZATION_URLhttp://{{ ansible_host }}:8083URL для редиректа на страницу авторизации.
FRONTEND_WEB_URLhttp://{{ ansible_host }}:80URL на котором работает WEB-интерфейс.
Переменные уровня логирования сервисов
URSUS_LOGGING_LEVELDEBUGУровень логирования сервиса NAICE-Ursus
GAVIA_LOGGING_LEVELDEBUGУровень логирования сервиса NAICE-Gavia
LEMMUS_LOGGING_LEVELDEBUGУровень логирования сервиса NAICE-Lemmus
OVIS_LOGGING_LEVELDEBUGУровень логирования сервиса NAICE-Ovis

...