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