unip-controller/docs/setup/pipelines.md

72 lines
3 KiB
Markdown
Raw Normal View History

2025-01-29 13:13:51 +00:00
# Запуск сервиса отслеживания экспериментов для тестирования
## Настройка окружения
Необходимые для работы фреймворка условия
перечислены в [документе с предусловиями](../../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`