首页 > 解决方案 > 如何使用 kubernetes 执行器为气流工作 pod 全局设置 request_cpu?

问题描述

我正在尝试request_cpu在 Kubernetes 执行程序中为 Airflow 设置参数,但无法找到可以执行此操作的位置。在我找到的默认气流配置default_cpus中,但根据这个答案,没有任何地方使用它,在 Kubernetes 部分的其他任何地方我都找不到对 CPU 请求的引用。

如何request_cpu在 Airflow Kubernetes 执行器中设置参数?

编辑:理想情况下,我希望能够将其设置为全局默认值,而不是基于每个操作员,尽管总的来说我认为按操作员/任务设置它确实更有意义

标签: kubernetesairflow

解决方案


您可以executor_config在任务级别为 KubernetesExecutor 设置它,如下所示。

    exmaple_task = PythonOperator(
        task_id="exmaple_task",
        python_callable=print_stuff,
        executor_config={
            "KubernetesExecutor": {"request_cpu": "1",
                                   "request_memory": "128Mi",
                                   "limit_memory": "128Mi"}}
    )

您可以在 中定义以下内容executor_config

  • 图片
  • image_pull_policy
  • 请求内存
  • request_cpu
  • 限制内存
  • 限制CPU
  • limit_gpu
  • 节点选择器
  • 亲和力
  • 容忍度
  • 注释
  • 卷挂载
  • 卷挂载

文档https ://airflow.apache.org/docs/1.10.9/_api/airflow/contrib/executors/kubernetes_executor/index.html#airflow.contrib.executors.kubernetes_executor.KubernetesExecutorConfig


推荐阅读