Kubernetes¶
Apache Airflow 旨在成为一个非常友好的 Kubernetes 项目,许多用户在 Kubernetes 集群中运行 Airflow,以便利用 Kubernetes 提供的更高的稳定性和自动扩展选项。
Kubernetes Helm 图表¶
我们维护一个 官方 Helm 图表,用于 Airflow,帮助你定义、安装和升级部署。Helm 图表使用 官方 Docker 镜像和 Dockerfile,它也由社区维护和发布。
Kubernetes 执行器¶
Kubernetes 执行器 允许你在 Kubernetes 上运行所有 Airflow 任务,作为独立的 Pod。
KubernetesPodOperator¶
KubernetesPodOperator 允许你在 Kubernetes 上创建 Pod。
Pod 变异挂钩¶
Airflow 本地设置文件 (airflow_local_settings.py
) 可以定义 pod_mutation_hook
函数,该函数可以在将 Pod 对象发送到 Kubernetes 客户端进行调度之前对其进行修改。它接收一个作为 Pod 对象引用的单个参数,并有望更改其属性。
例如,这可以用于向 KubernetesExecutor 或 KubernetesPodOperator 启动的每个工作程序 Pod 添加辅助容器或初始化容器。
有关如何配置本地设置的详细信息,请参阅 配置本地设置。
from kubernetes.client.models import V1Pod
def pod_mutation_hook(pod: V1Pod):
pod.metadata.annotations["airflow.apache.org/launched-by"] = "Tests"