Перейти к содержанию

Изолированные окружения (Isolated environments)

Варианты изоляции окружений

Задачи могут требовать отдельных зависимостей (другая версия Python, пакеты, не совместимые с окружением воркера). Варианты изоляции:

  • PythonVirtualenvOperator / @task.virtualenv() — задача выполняется в виртуальном окружении, созданном на лету (или кэшированном по venv_cache_path). Указывается версия Python и список зависимостей. Подходит для изоляции библиотек внутри того же образа.
  • KubernetesPodOperator / @task.kubernetes() — задача запускается в отдельном Pod с выбранным образом. Полная изоляция: свой образ, ресурсы, переменные окружения. См. KubernetesPodOperator.
  • DockerOperator / @task.docker() — задача в отдельном контейнере на том же хосте. Меньше изоляции, чем Kubernetes, но проще при одном хосте.

Выбор зависит от инфраструктуры (K8s vs один сервер), требований к воспроизводимости и скорости старта. Для тяжёлых или разнородных зависимостей чаще используют KubernetesPodOperator.

Подробнее: Isolated environments, Virtualenv.


← Human-in-the-loop | К содержанию | KubernetesPodOperator →