Download PDF
Download page Оркестратор. Настройка.
Оркестратор. Настройка
Настройка apache2
Вместе с Оркестратором будет установлен сервер apache2, если он не был установлен ранее.
После установки Оркестратора необходимо скорректировать файл конфигурации веб-сервера /etc/apache2/apache2.conf
. Для этого следует найти и раскомментировать строку с параметром AstraMode
, далее присвоить данному параметру значение off
, точно соблюдая отступы и пробелы в файле.
Пример:
# Astra security mode.
#
AstraMode off
После перезапустить веб-сервер командой:
:~$ sudo systemctl restart apache2
Настройка Оркестратора
Для настройки оркестратора необходимо отредактировать разделы Termidesk params
и OpenStack params
в файле /opt/termidesk/share/termidesk-orchestrator/src/config/orc_config.py
.
При первой установке этот конфигурационный файл отсутствует. Его можно скопировать из шаблона /opt/termidesk/share/termidesk-orchestrator/src/config/orc_config.py.dist
, для этого выполнить следующие действия:
- перейти в каталог с конфигурационными файлами:
:~$ cd /opt/termidesk/share/termidesk-orchestrator/src/config
- переключиться на пользователя
termidesk
:
:~$ sudo -u termidesk bash
- скопировать шаблон в новый файл:
:~$ cp orc_config.py.dist orc_config.py
- выйти из окружения пользователя
termidesk
:
:~$ exit
Параметры внутри разделов конфигурационного файла /opt/termidesk/share/termidesk-orchestrator/src/config/orc_config.py
имеют следующую структуру:
ВНУТРЕННЯЯ_ПЕРЕМЕННАЯ = os.getenv("ПЕРЕМЕННАЯ_ОКРУЖЕНИЯ", "ЗНАЧЕНИЕ_ВВОДИМОЕ_ВРУЧНУЮ")
где:
ПЕРЕМЕННАЯ_ОКРУЖЕНИЯ
- наименование переменной окружения, назначенной через команду export
. Если переменная в окружении не задана, она добавится с указанным значением;
ЗНАЧЕНИЕ_ВВОДИМОЕ_ВРУЧНУЮ
- новое значение переменной.
Пример файла /opt/termidesk/share/termidesk-orchestrator/src/config/orc_config.py
:
# Termidesk params
TERMIDESK_HOST = os.getenv("TSRV_HOST", '')
TERMIDESK_PORT = os.getenv("TERMIDESK_PORT", "")
TERMIDESK_USERNAME = os.getenv("TSRV_USERNAME", '')
TERMIDESK_PASSWORD = os.getenv("TSRV_PASSWORD", '')
#Termidesk auth domain ID: authSmallName
TERMIDESK_AUTH = os.getenv("TSRV_AUTH", '')
TERMIDESK_AUTH_URL = os.getenv('TSRV_AUTH_URI', '/api/auth/draft/legacy/login')
# OpenStack params
# The name of application credentials
APP_CREDENTIALS_NAME = os.getenv("APP_CREDENTIALS_NAME", "")
# The secret for application credentials
APP_CREDENTIALS_SECRET = os.getenv("APP_CREDENTIALS_SECRET", "")
# The user name for application credentials
APP_CREDENTIALS_USER_NAME = os.getenv("APP_CREDENTIALS_USER_NAME", "")
# The name of user domain for application credentials
APP_CREDENTIALS_USER_DOMAIN = os.getenv("APP_CREDENTIALS_USER_DOMAIN", "")
# The url of application credentials authentication. Example: http://0.0.0.0/identity/v3/auth/tokens
OPENSTACK_AUTH_URL = os.getenv("OPENSTACK_AUTH_URL", "")
Список доступных параметров конфигурационного файла приведен в таблице.
Параметр | Назначение | Значение по умолчанию |
---|---|---|
Параметры универсального диспетчера Termidesk (секция Termidesk params ) | ||
TERMIDESK_HOST | FQDN или IP-адрес универсального диспетчера Termidesk | Не задано |
TERMIDESK_PORT | Номер порта универсального диспетчера Termidesk | Не задано |
TERMIDESK_USERNAME | Имя пользователя с правами администратора в универсальном диспетчере Termidesk | Не задано |
TERMIDESK_PASSWORD | Пароль пользователя с правами администратора в универсальном диспетчере Termidesk | Не задано |
TERMIDESK_AUTH | Идентификатор домена аутентификации (authSmallName, метка) в универсальном диспетчере Termidesk, в который входит пользователь TERMIDESK_USERNAME | Не задано |
TERMIDESK_AUTH_URL | Данный URL используется для проверки состояния (health check) универсального диспетчера Termidesk. Если страница доступна (получен ответ: | '/api/auth/draft/legacy/login' |
Параметры для проверки пароля приложений OpenStack (секция OpenStack params ) | ||
APP_CREDENTIALS_NAME | Имя приложения для подключения к OpenStack | Не задано |
APP_CREDENTIALS_SECRET | Ключ-пароль для подключения к OpenStack. Может быть задан или автоматически сгенерирован при создании доступа для приложения. Отображается в интерфейсе OpenStack только один раз, и, в случае утери, требует перегенерации | Не задано |
APP_CREDENTIALS_USER_NAME | Имя пользователя, предоставляющего доступ приложению. Уровень пользователя должен быть не ниже «member». Возможные варианты уровня: «member», «admin»,«owner» | Не задано |
APP_CREDENTIALS_USER_DOMAIN | Имя (не идентификатор) домена OpenStack, в который входит пользователь APP_CREDENTIALS_USER_NAME | Не задано |
OPENSTACK_AUTH_URL | URL компонента Identity, располагается в OpenStack по пути «Проект - Доступ к API - Identity» | Не задано |
Проверка заданных настроек
Для проверки корректности заданных настроек применяется исполняемый файл /opt/termidesk/share/termidesk-orchestrator/src/self_check.py
.
Для его использования необходимо выполнить команды:
:~$ cd /opt/termidesk/share/termidesk-orchestrator/src/
:~$ python3 self_check.py
Если во время проверки возникает ошибка, подробную информацию о ней можно найти в файле /tmp/termidesk_self_check_crash.log
. Файл журнала перезаписывается при каждом запуске проверок.
Запуск служб
Запуск служб осуществляется после задания настроек и проверки их корректности.
Добавить в автоматический запуск службу Оркестратора:
:~$ sudo systemctl enable termidesk-orchestrator.service
Затем запустить службу:
:~$ sudo systemctl start termidesk-orchestrator.service
Проверка работоспособности
Для проверки работоспособности необходимо:
- получить самоподписанный сертификат для обращения по протоколу HTTPS (опционально);
- получить токен приложения (обязательно).
Для получения самоподписанного сертификата, используемого для обращений по протоколу HTTPS, необходимо воспользоваться командой:
:~$ echo quit | openssl s_client -showcerts -servername orchestrator.test.lan -connect orchestrator.test.lan:443 > /home/user/orchestrator.test.lan.pem
где:
orchestrator.test.lan
- имя узла, на котором установлен Оркестратор;
/home/user/orchestrator.test.lan.pem
- путь к pem
файлу, в который будет сохранен сертификат.
Токен приложения используется для авторизации запросов пользователя и запрашивается на сервере OpenStack через функционал API.
Для выполнения API-запросов следует установить утилиту curl
:
:~$ sudo apt install curl
Для запроса токена необходимо использовать следующую команду:
:~$ curl -i \
-H "Content-Type: application/json" \
-d '
{ "auth": {
"identity": {
"methods": ["application_credential"],
"application_credential": {
"name": "orchestrator",
"secret": "orchestrator_secret_key",
"user": {
"name": "admin",
"domain": { "name": "Default" }
}
}
}
}
}' "http://IP-address/identity/v3/auth/tokens" | grep "X-Subject-Token" | sed -e 's/\r//' -e 's/\n//'
где:
IP-address
- IP-адрес сервера OpenStack.
Вывод команды будет содержать необходимый токен:
X-Subject-Token: gAAAAABjdlObymw<...cuted out...>-pJ2JcKNDI_s_FleOLuZOuyt-r
Полученный токен необходимо разместить в переменную окружения APP_TOKEN
и подставлять в заголовок «X-ORC-TOKEN-APP» при каждом запросе к Оркестратору.
Для задания переменной окружения следует воспользоваться командой:
:~$ export APP_TOKEN="gAAAAABjdlObymw<...cuted out...>-pJ2JcKNDI_s_FleOLuZOuyt-r"
Проверка состояния Оркестратора (health check
) выполняется запросом через утилиту curl
:
:~$ curl -s -H "X-ORC-TOKEN-APP: $APP_TOKEN" --cacert orchestrator.test.lan.pem https://orchestrator.test.lan/api/draft/orc/health/ | python -m json.tool
где:
orchestrator.test.lan.pem
- ранее сохраненный самоподписанный сертификат;
orchestrator.test.lan
- имя узла, на котором установлен Оркестратор.
Проверка состояния универсального диспетчера Termidesk через Оркестратор выполняется запросом через утилиту curl
:
:~$ curl -s -H "X-ORC-TOKEN-APP: $APP_TOKEN" --cacert orchestrator.test.lan.pem https://orchestrator.test.lan/api/draft/health/ | python -m json.tool
При правильном функционировании запрашиваемого компонента ответ должен содержать:
{
"data": "ok"
}