71 lines
3 KiB
Markdown
71 lines
3 KiB
Markdown
# Запуск сервиса отслеживания экспериментов для тестирования
|
||
|
||
## Настройка окружения
|
||
|
||
Необходимые для работы фреймворка условия
|
||
перечислены в [документе с предусловиями](../../deploy/prerequisites.md).
|
||
|
||
Для тестирования сервиса отслеживания экспериментов необходимы:
|
||
1. Платформа Kubernetes;
|
||
2. Подключаемая системная СУБД;
|
||
3. Созданные определения ресурсов фреймворка;
|
||
|
||
Подключение систем и подготовительные шаги описаны в [инструкции](../../deploy/controller.md).
|
||
|
||
### Параметры конфигурации
|
||
|
||
Параметры конфигурации описаны в [документе](../../deploy/config.md) в разделе конфигурации
|
||
сервиса отслеживания экспериментов.
|
||
|
||
При запуске вне платформы Kubernetes необходимо указать параметр конфигурации: `UNIP_PIPELINE_RUN_MODE: Debug`.
|
||
|
||
Параметры конфигурации могут быть заданы:
|
||
1. В переменных окружения.
|
||
2. В файле `.env`.
|
||
|
||
Для запуска также должны быть заданы:
|
||
1. Переменная окружения `PYTHONPATH`. Должна указывать на папку `./controller/src`.
|
||
2. Переменная окружения `KUBECONFIG`. Должна указывать на файл .kubeconfig с реквизитами доступа к платформе Kubernetes.
|
||
|
||
## Варианты запуска
|
||
|
||
### Локальный запуск
|
||
|
||
Перейти в папку ./controller.
|
||
|
||
1. Создать виртуальное окружение.
|
||
|
||
```shell
|
||
python3 -m venv venv
|
||
source venv/bin/activate
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
2. Задать параметры конфигурации в `.env` файле или как переменные окружения.
|
||
|
||
Образец `.env` файла - `.env.sample`.
|
||
|
||
3. Инициализировать БД при необходимости.
|
||
|
||
```shell
|
||
python3 -m asyncio
|
||
```
|
||
|
||
```python
|
||
from exp_pipeline.storage import db
|
||
await db.recreate_db()
|
||
```
|
||
|
||
4. Запустить сервис отслеживания экспериментов.
|
||
|
||
```shell
|
||
hypercorn exp_pipeline.api:app -b 127.0.0.1:8001 --reload
|
||
```
|
||
|
||
### Использование развернутого на плтаформе Kubernetes экземпляра
|
||
|
||
При необходимости использования развернутого на платформе Kubernetes сервиса локально
|
||
(например, вместе с локальным тестированием контроллеров)
|
||
можно воспользоваться командой `kubectl port-forward`:
|
||
|
||
`kubectl port-forward service/pipelines-svc 8001:80 -n unip-system-controller`
|