运行KubernetesPodOperator

时间:2019-10-10 06:48:13

标签: kubernetes airflow airflow-operator

我正在Kubernetes上运行气流,并使用“ Kubernetes Operator” 。 当我运行 BashOperator PythonOperator 时,它会运行 fine 使用:

executor_config = {
    "KubernetesExecutor": {
    "image": "image_with_airflow_and_my_code:latest"        
    }
}

当我尝试使用KubernetesPodOperator运行dag时会失败

例如:

k = KubernetesPodOperator(namespace='default',
    image="ubuntu:18.04",
    cmds=["bash", "-cx"],
    arguments=["echo", "10"],
    name="test",
    task_id="task",
    is_delete_operator_pod=False,
    dag=dag
)

我看到创建的docker映像不是我上面指定的映像(ubuntu:18.04),而是配置(AIRFLOW__KUBERNETES__WORKER_CONTAINER_REPOSITORY)中的默认映像

在计划程序日志中,我看到:

  

[2019-10-06 12:59:56,279] {{scheduler_job.py:921}}信息-1个任务可以执行:              [2019-10-06 12:59:56,325] {{scheduler_job.py:953}}信息-找出要在Pool(name = default_pool)中运行的任务,其中有128个开放插槽和1个任务实例准备排队   [2019-10-06 12:59:56,326] {{scheduler_job.py:981}}信息-DAG koperator具有0/16运行和排队的任务   [2019-10-06 12:59:56,361] {{scheduler_job.py:1031}}信息-将以下任务设置为排队状态:              [2019-10-06 12:59:56,398] {{scheduler_job.py:1107}}信息-将以下1个任务设置为排队状态:              [2019-10-06 12:59:56,401] {{scheduler_job.py:1143}}信息-发送('koperator','task',datetime.datetime(2019,10,6,6,12,59,50,146375 ,tzinfo =),1)优先级为1且默认执行队列的执行器   [2019-10-06 12:59:56,403] {{base_executor.py:59}}信息-添加到队列中:['airflow','run','koperator','task','2019-10-06T12 :59:50.146375 + 00:00','--local','--pool','default_pool','-sd','/usr/local/airflow/dags/KubernetesPodOperator.py']   [2019-10-06 12:59:56,405] {{kubernetes_executor.py:764}}信息-添加任务('koperator','task',datetime.datetime(2019,10,6,6,12,59,50, 146375,tzinfo =),1)使用命令['airflow','run','koperator','task','2019-10-06T12:59:50.146375 + 00:00','--local',' --pool','default_pool','-sd','/ usr / local / airflow / dags / KubernetesPodOperator.py']和executor_config {}   [2019-10-06 12:59:56,417] {{kubernetes_executor.py:441}}信息-Kubernetes的工作是((('koperator','task',datetime.datetime(2019,10,6,12,12,59, 50,146375,tzinfo =),1),['airflow','run','koperator','task','2019-10-06T12:59:50.146375 + 00:00','--local', '--pool','default_pool','-sd','/ usr / local / airflow / dags / KubernetesPodOperator.py'],KubernetesExecutorConfig(image = None,image_pull_policy = None,request_memory = None,request_cpu = None,limit_memory =无,limit_cpu =无,limit_gpu =无,gcp_service_account_key =无,node_selectors =无,亲和力=无,注释= {},卷= [],volume_mounts = [],公差=无,标签= {}))   [2019-10-06 12:59:56,498] {{kubernetes_executor.py:353}}信息-事件:koperatortask-2f35f3b347a149bcb2133ef58cf9e77d发生了添加类型的事件   [2019-10-06 12:59:56,509] {{kubernetes_executor.py:385}}信息-事件:koperatortask-2f35f3b347a149bcb2133ef58cf9e77d待审核   [2019-10-06 12:59:56,528] {{kubernetes_executor.py:353}}信息-事件:koperatortask-2f35f3b347a149bcb2133ef58cf9e77d发生了MODIFIED类型的事件   [2019-10-06 12:59:56,529] {{kubernetes_executor.py:385}}信息-事件:koperatortask-2f35f3b347a149bcb2133ef58cf9e77d待审核   [2019-10-06 12:59:56,543] {{kubernetes_executor.py:353}}信息-事件:koperatortask-2f35f3b347a149bcb2133ef58cf9e77d发生了MODIFIED类型的事件   [2019-10-06 12:59:56,544] {{kubernetes_executor.py:385}}信息-事件:koperatortask-2f35f3b347a149bcb2133ef58cf9e77d待审核   [2019-10-06 12:59:59,492] {{kubernetes_executor.py:353}}信息-事件:koperatortask-2f35f3b347a149bcb2133ef58cf9e77d发生了MODIFIED类型的事件   [2019-10-06 12:59:59,492] {{kubernetes_executor.py:393}}信息-事件:koperatortask-2f35f3b347a149bcb2133ef58cf9e77d正在运行   [2019-10-06 13:00:10,873] {{kubernetes_executor.py:353}}信息-事件:koperatortask-2f35f3b347a149bcb2133ef58cf9e77d发生了MODIFIED类型的事件   [2019-10-06 13:00:10,874] {{kubernetes_executor.py:390}}信息-事件:koperatortask-2f35f3b347a149bcb2133ef58cf9e77d成功   [2019-10-06 13:00:12,236] {{kubernetes_executor.py:493}}信息-尝试完成广告连播; pod_id:koperatortask-2f35f3b347a149bcb2133ef58cf9e77d;状态:无;标签:{'airflow-worker':'b46fd37e-959c-4844-81e1-dff9df2e98e2','dag_id':'koperator','execution_date':'2019-10-06T12_59_50.146375_plus_00_00','task_id':'任务' ,'try_number':'1'}   [2019-10-06 13:00:12,245] {{kubernetes_executor.py:616}}信息-检查1个任务实例。   [2019-10-06 13:00:12,247] {{kubernetes_executor.py:626}}信息-找到匹配的任务koperator-task(2019-10-06 12:59:50.146375 + 00:00),当前状态为up_for_retry   [2019-10-06 13:00:12,253] {{kubernetes_executor.py:783}}信息-更改((('koperator','task',datetime.datetime(2019,10,6,12,12,59, 50,146375,tzinfo = tzlocal()),1),无,'koperatortask-2f35f3b347a149bcb2133ef58cf9e77d','34894988')到无   [2019-10-06 13:00:12,273] {{scheduler_job.py:1283}}信息-执行器报告koperator.task执行的执行情况。taskexecute_date = 2019-10-06 12:59:50.146375 + 00:00退出,状态为无为

凸起吊舱的日志:

  

[2019-10-06 12:02:11,961] {{ init .py:51}}信息-使用执行程序LocalExecutor   [2019-10-06 12:02:12,844] {{dagbag.py:90}}信息-从/usr/local/airflow/dags/KubernetesPodOperator.py填充DagBag   [2019-10-06 12:02:13,571] {{cli.py:516}}信息-在主机koperator上运行task-bd0c81d6039c4b329ae8dd2292c0c566

我在做什么错了?

如何使用KubernetesPodOperator在kubernetes上运行dag?

谢谢,阿维亚德

1 个答案:

答案 0 :(得分:1)

很遗憾,我没有足够的信息来确定出什么问题了。 添加参数。

“ get_logs”:是

到KubernetesPodOperator。

这样,运行会将KubernetesExecutor和KubernetesPodOperator吊舱中的标准输出合并到Airflow任务日志中。

它应该使您更清楚地了解发生了什么。