气流-KubernetesPodOperator中的条件重试

时间:2019-07-01 14:45:02

标签: python-3.x kubernetes airflow

我想在kube pod运算符中编写高级重试机制。

  1. 如果第一次执行失败-请使用更多内存重新运行 上面带有jinja模板的示例不起作用:-(
opr_kube = KubernetesPodOperator(
    namespace="development",
    image='bla',
    node_selectors={"servertype": "worker", "env": "development"},
    resources=pod.Resources(request_memory='{{task_instance.try_number}}g', limit_memory='{{task_instance.try_number}}g'),
    name="bla",
    task_id='bla',
    default_args=default_args,
    dag=dag
)
  1. 我想了解错误是否是由于内存不足事件引起的。有一个界面可以识别吗?我想将外部函数写入kube-cli

    • 按重试挂钩与此处无关,因为没有选项可以用更多的内存再次触发操作员。
    • 当我在参数中添加内联函数时,调度程序将每X秒执行一次此函数,并且我想在任务失败后执行它。

1 个答案:

答案 0 :(得分:0)

  

我想了解错误是否是由于内存不足引起的   事件:

由于失败的任务实例的原因,请检查Airflow Web界面=> DAG的Graph View

关于Kubernetes Operator重试选项,here是一个示例,但是您首先应该了解失败任务的原因。如果没有验证问题的真正原因,就没有理由拥有增量内存重试机制。请先确保您通过KubernetesPodOperator运行的工作负载有足够的资源(您也可以参考“ Ensuring appropriate resources for your environment”指南,该指南专门针对Airflow的托管版本而制作)