【问题标题】:airflow2.0 with KubernetesPodOperator: TemplateNotFoundKubernetesPodOperator 的airflow2.0:TemplateNotFound
【发布时间】:2021-10-03 17:41:15
【问题描述】:

我正在使用带有KubernetesPodOperator 的 Airflow2.0,想要运行一个命令,该命令将操作员运行的图像内部的文件用作参数。这是我用的:

KubernetesPodOperator(
    namespace=commons.kubernetes_namespace,
    labels=commons.labels,
    image=f"myregistry.io/myimage:{config['IMAGE_TAG']}",
    arguments=[
        "python",
        "run_module.py ",
        "-i",
        f'args/{config["INPUT_DIR"]}/{task_id}.json'
    ],
    name=dag_name + task_id,
    task_id=task_id,
    secrets=[secret_volume]
)

但这给了我错误:

raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: args/airflow2test/processing-pipeline.json

图片没有使用任何宏。

有人知道吗?我做错了什么?

【问题讨论】:

    标签: kubernetes airflow airflow-2.x kubernetespodoperator


    【解决方案1】:

    这是一个从PR 开始的错误,在apache-airflow-providers-cncf-kubernetes 的版本2.0.0 中发布。 更改的目标是允许模板化.json 文件。有一个GitHub issue 关于它造成的问题。该错误最终由 PR 解决,它在提供程序的 2.0.2 版本中发布。

    解决方案:

    1. 升级到最新的apache-airflow-providers-cncf-kubernetes(目前为2.0.2)
    2. 如果升级不是一个选项,请使用自定义KubernetesPodOperator

    有两种方法可以解决这个问题,一种是更改template_fields,另一种是更改template_ext

    第一个选项:正如 raphaelauv 在issue 上发布的那样,不允许渲染arguments 字段:

    class MyKubernetesPodOperator(KubernetesPodOperator):
        template_fields = tuple(x for x in KubernetesPodOperator.template_fields if x != "arguments")
    

    第二个选项:如果您不想渲染 .json 文件:

    class MyKubernetesPodOperator(KubernetesPodOperator):
        template_ext = ('.yaml', '.yml',)
    

    【讨论】:

    • 谢谢!我确实尝试更新到最后一个 apache-airflow (2.1.4) ......但仍然没有应用补丁。 apache-airflow-providers-cncf-kubernetes==2.0.0
    • @salvob 此问题与 Airflow 版本无关。这是关于提供程序版本的。不要被版本编号的相似性所迷惑。您需要将apache-airflow-providers-cncf-kubernetes 的版本升级到最新版本。目前最新的提供程序版本是 2.0.2 见pypi.org/project/apache-airflow-providers-cncf-kubernetes/…
    • 因为我直接将掌舵图用于 apache-airflow。你知道是否、如何以及何时应用补丁?
    • @salvob 请参阅airflow.apache.org/docs/helm-chart/stable/… 添加/更新 pypi 包
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多