You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Airflow Kubernetes Executor执行DAG遇ImagePullBackOff:镜像拉取失败

解决Airflow Kubernetes Executor Pod ImagePullBackOff问题

可能遗漏的配置项及修复方法

1. 未指定任务Pod的基础镜像

Kubernetes Executor要求任务Pod使用包含Airflow运行环境的镜像,默认情况下Helm Chart不会自动适配,需手动配置:

  • 全局配置(Helm Values):在values.yaml中添加或修改以下内容(镜像版本需与你的Airflow版本一致):
    airflow:
      kubernetes:
        executor:
          image:
            repository: apache/airflow
            tag: "2.8.0"
            pullPolicy: IfNotPresent
    
  • DAG级别配置:在PythonOperator中直接指定镜像:
    hello_operator = PythonOperator(
        task_id="hello_k8s",
        python_callable=print_hello,
        dag=dag,
        queue="kubernetes",
        executor_config={
            "kubernetes": {
                "image": "apache/airflow:2.8.0"
            }
        }
    )
    

2. 镜像拉取权限不足

若使用私有镜像仓库,需为Airflow服务账号配置镜像拉取密钥:

  1. 在Airflow所在Namespace创建镜像拉取Secret:
    kubectl create secret docker-registry your-registry-secret \
      --docker-server=<你的镜像仓库地址> \
      --docker-username=<用户名> \
      --docker-password=<密码> \
      --namespace=<airflow命名空间>
    
  2. 在Helm Values中配置该Secret:
    airflow:
      kubernetes:
        executor:
          imagePullSecrets:
            - name: your-registry-secret
    

3. 调度器未监听指定队列

确认Airflow调度器已配置监听kubernetes队列,在Helm Values中检查:

airflow:
  scheduler:
    queues: kubernetes

若需多队列,用逗号分隔(如queues: default,kubernetes)

4. Dry Run模式干扰

日志中提到dry-run,若未刻意启用该模式,检查DAG或Helm配置中是否开启了Dry Run相关设置,关闭后重试任务。

内容的提问来源于stack exchange,提问作者Rejo Chandran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 14:25:05