0

我正在运行 minikube 以使用 Apache Airflow2 进行开发。我正在尝试从 GitLab 上的私人仓库同步我的 DAG,但为了让一个基本示例正常工作,我后退了几步。在默认的“airflow”命名空间的情况下,它可以工作,但是当在非默认命名空间中使用完全相同的文件时,它不会。

我有一个 values.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,我会按预期在 http://localhost:8080 处获得完整的 DAG 列表。

但是,如果我运行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 中没有列出任何 DAG。

如果我列出我试图解决这个问题的所有网站,这篇文章会长 10 倍。我做错了什么??

更新:我创建了一个新的命名空间,,test01以防有一些历史被搁置并导致问题。我跑了helm upgrade --install airflow apache-airflow/airflow -f values.yaml -n test01。启动网络服务器并检查,我没有看到登录屏幕,但它直接进入通常的网页,也没有显示 dags 列表,但这次在 DAG 页面顶部有一个通知:

调度程序似乎没有运行。
DAG 列表可能不会更新,并且不会安排新任务。

这又是不同的行为(尽管与mynamespace通过 gitSync 显示没有 DAG 的情况相同),尽管它似乎暗示了在这种情况下没有检索 DAG 的原因。如果一切都像以前一样启动并启动,我不明白为什么调度程序没有运行。

奇怪的是,helm show values apache-airflow/airflow --namespace test01 > values2.yaml给出了默认值dags.gitSync.enabled: falsedags.gitSync.repo: https://github.com/apache/airflow.git. 我原以为这应该反映我从 values.yaml 升级/安装的内容:enable = true 和ssh repo fetch。dags.gitSync.enabled: true通过将 values2.yaml 编辑为并重新升级,我的行为没有改变——仍然是关于调度程序没有运行和没有 DAG 的错误说明。

4

0 回答 0