Планирование операторов воздушного потока на том же узле Kubernetes с автоматическим масштабированием - PullRequest
0 голосов
/ 26 марта 2019

Я использую Airflow для составления и планирования длительных пакетных заданий.Я надеялся воспользоваться преимуществами автоматического масштабирования кластера Kubernetes (GKE), используя либо KubernetesExecutor, либо KubernetesPodOperator.

Я играл с пулами узлов GKE и селекторами узлов, и, похоже, он работает, как и ожидалось, за счет увеличения количества рабочих узлов.и до нуля.Однако некоторые операторы Airflow в моем старом конвейере обмениваются данными через файловую систему, которая не должна работать из коробки в Kubernetes, поскольку модули могут быть запланированы на разных узлах.

Одно из решений, которое я могу придумать, - этоЗависимые от предохранителя операторы в одном задании, например один сценарий bash, но таким образом я теряю преимущество повторного использования существующих операторов Airflow.Другой подход может заключаться в использовании чего-то вроде NFS для разделения промежуточного каталога между несколькими работниками.Я предполагаю, что это может иметь проблемы с производительностью и масштабируемостью.

ВОПРОС: Можно ли поручить Kubernetes планировать пакеты на одном узле, чтобы операторы Airflow могли обмениваться данными через файловую систему хоста?Для этого я попытался использовать сходство с модулем pod, но в моем случае это не помогло переназначить операторов на одном узле.

...