搭建 Airflow 调度平台

适用场景

需要编排批处理、ETL、数据同步和定时任务。Airflow 用 Python DAG 描述依赖,支持回填、重试、告警和多种 Executor。

前置条件

步骤

  1. 准备数据库和日志存储:
kubectl create namespace airflow
kubectl -n airflow create secret generic airflow-db \
  --from-literal=password='***'
  1. 安装 Airflow:
helm repo add apache-airflow https://airflow.apache.org
helm install airflow apache-airflow/airflow \
  --namespace airflow \
  --set executor=CeleryExecutor \
  --set postgresql.enabled=false \
  --set data.metadataConnection.host=postgres \
  --set data.metadataConnection.db=airflow \
  --set data.metadataConnection.user=airflow \
  --set data.metadataConnection.pass='***' \
  --set workers.replicas=2
kubectl -n airflow get pods
  1. 配置 DAG 仓库:
kubectl -n airflow create configmap airflow-dags \
  --from-file=demo.py=./dags/demo.py
  1. 访问 UI:
kubectl -n airflow port-forward svc/airflow-webserver 8080:8080
  1. 触发和回填:
airflow dags trigger demo
airflow dags backfill demo --start-date 2026-10-01 --end-date 2026-10-07
  1. 配置告警:
airflow config get-value email email_backend

验证

回滚

常见坑

相关命令