#airflow #kubernetes-helm #airflow-2.x #gitops
Вопрос:
Я запускаю мини-куб для разработки с Apache Airflow2. Я пытаюсь синхронизировать свои DAG из частного репозитория в GitLab, но сделал несколько шагов назад, чтобы получить базовый пример работы. В случае пространства имен «воздушный поток» по умолчанию это работает, но при использовании одного и того же файла в пространстве имен, отличном от пространства имен по умолчанию, это не так.
У меня есть ценности.файл yaml, содержащий следующий раздел:
dags:
gitSync:
enabled: true
repo: "ssh://git@github.com/apache/airflow.git"
branch: v2-1-stable
rev: HEAD
depth: 1
maxFailures: 0
subPath: "tests/dags"
wait: 60
containerName: git-sync
uid: 65533
extraVolumeMounts: []
env: []
resources: {}
Если я запущу helm upgrade --install airflow apache-airflow/airflow -f values.yaml -n airflow
, а затем kubectl port-forward svc/airflow-webserver 8080:8080 --namespace airflow
получу целый список DAG , как и ожидалось, в http://localhost:8080.
Но если я побегу helm upgrade --install airflow apache-airflow/airflow -f values.yaml -n mynamespace
, и тогда kubectl port-forward svc/airflow-webserver 8080:8080 --namespace mynamespace
, я не получу никаких ДАГОВ, перечисленных в http://localhost:8080.
Этот пост был бы в 10 раз длиннее, если бы я перечислил все сайты, на которые я попал, пытаясь решить эту проблему. Что я сделал не так??
ОБНОВЛЕНИЕ: Я создал новое пространство test01
имен, на случай , если какая-то история была сохранена и вызвала проблему. Я побежал helm upgrade --install airflow apache-airflow/airflow -f values.yaml -n test01
. Запустив веб-сервер и проверив, я не получаю экран входа в систему, но он переходит прямо на обычные веб-страницы, также не показывает список dag, но на этот раз есть уведомление в верхней части страницы DAG:
Похоже, что планировщик не запущен.
Список DAG может не обновляться, и новые задачи не будут запланированы.
Это снова другое поведение (хотя то же самое, что и в mynamespace
случае, если не отображаются DAG с помощью gitSync), хотя, похоже, это указывает на причину, по которой DAG в этом случае не извлекаются. Я не понимаю, почему не запускается планировщик, если все было запущено и запущено так же, как и раньше.
Любопытно, helm show values apache-airflow/airflow --namespace test01 > values2.yaml
что дает значение по умолчанию dags.gitSync.enabled: false
и dags.gitSync.repo: https://github.com/apache/airflow.git
. Я бы подумал, что это должно отражать то, что я обновил/установил с помощью values.yaml: enable = true и выборки репо ssh. Я не получаю никаких изменений в поведении, редактируя values2.yaml dags.gitSync.enabled: true
и обновляя его заново-по-прежнему сообщение об ошибке о том, что планировщик не запущен и нет DAG.