[英]Airflow kubernetesPorOperator example fails to run
尝试运行示例 kubernetesPodOperator 检索:
[2020-05-25 20:00:40,475] {{ init .py:51}} 信息 - 使用执行器 LocalExecutor
[2020-05-25 20:00:40,475] {{dagbag.py:396}} 信息 - 从 /usr/local/airflow/dags/kubernetes_example.py 填充 DagBag
│ │ Traceback(最近一次通话最后):
│ │ 文件“/usr/local/bin/airflow”,第 37 行,在
│ │ args.func(args)
│ │ 文件“/usr/local/lib/python3.7/site-packages/airflow/utils/cli.py”,第 75 行,在包装器中
│ │ return f(*args, **kwargs)
│ │ 文件“/usr/local/lib/python3.7/site-packages/airflow/bin/cli.py”,第523行,运行中
│ │ dag = get_dag(args)
│ │ 文件“/usr/local/lib/python3.7/site-packages/airflow/bin/cli.py”,第 149 行,在 get_dag
│ │ 'parse.'.format(args.dag_id))
│ │ airflow.exceptions.AirflowException:dag_id 找不到:kubernetes_example。 dag 不存在或无法解析。
这是我正在使用的代码:
from airflow import DAG
from datetime import datetime, timedelta
from airflow.contrib.operators.kubernetes_pod_operator import KubernetesPodOperator
from airflow.operators.dummy_operator import DummyOperator
from airflow.utils.dates import days_ago
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': days_ago(1),
'email': ['airflow@example.com'],
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=60)
}
dag = DAG(
'kubernetes_example', default_args=default_args, schedule_interval=timedelta(minutes=60))
start = DummyOperator(task_id='run_this_first', dag=dag)
passing = KubernetesPodOperator(namespace='airflow',
image="python:3.6.10",
cmds=["Python","-c"],
arguments=["print('hello world')"],
labels={"foo": "bar"},
name="passing-test",
task_id="passing-task",
env_vars={'EXAMPLE_VAR': '/example/value'},
in_cluster=True,
get_logs=True,
dag=dag
)
failing = KubernetesPodOperator(namespace='airflow',
image="ubuntu:18.04",
cmds=["Python","-c"],
arguments=["print('hello world')"],
labels={"foo": "bar"},
name="fail",
task_id="failing-task",
get_logs=True,
dag=dag
)
passing.set_upstream(start)
failing.set_upstream(start)
我只是从样本执行者那里拿走了它。 有人偶然发现了这个问题吗?
谢谢!
你需要有一个名字(你的 dag 的dag_id
)。
dag = DAG(
dag_id='kubernetes_example',
default_args=default_args,
schedule_interval=timedelta(minutes=60)
)
您的 task_id 也应该有_
not -
并且是: task_id="failing_task"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.