unip-controller/docs/setup/pipelines.md
2025-04-15 20:56:15 +03:00

71 lines
3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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