CeleryKubernetes Executor¶
注意
从 Airflow 2.7.0 起,使用该执行器需要同时安装 celery 和 cncf.kubernetes 两个 Provider 包。可以通过安装 apache-airflow-providers-celery>=3.3.0 与 apache-airflow-providers-cncf-kubernetes>=7.4.0,或使用带有 celery 与 cncf.kubernetes extras 的 Airflow 安装方式:pip install 'apache-airflow[celery,cncf.kubernetes]'。
注意
CeleryKubernetesExecutor 在 Airflow 3.0.0 及以后已不再受支持。您可以改用 Using Multiple Executors Concurrently 功能,它以更灵活的方式提供等效的功能。
CeleryKubernetesExecutor 允许用户同时运行 CeleryExecutor 和 KubernetesExecutor。执行器会根据任务的队列选择相应的执行器来运行该任务。
CeleryKubernetesExecutor 继承了 CeleryExecutor 的可伸缩性,以应对峰值时的高负载,同时具备 KubernetesExecutor 的运行时隔离能力。
Celery Executor 的配置参数请参考 Celery Provider 的 Configuration Reference。
何时使用 CeleryKubernetesExecutor¶
鉴于需要同时配置 CeleryExecutor 与 KubernetesExecutor,CeleryKubernetesExecutor 仅应在特定场景下使用。
当您的使用场景符合以下条件时,建议考虑使用 CeleryKubernetesExecutor:
在峰值时需要调度的任务数量超过了 Kubernetes 集群能够轻松承载的规模。
只有相对少量的任务需要运行时隔离。
您拥有大量可以在 Celery Worker 上执行的小任务,同时也有资源需求较高、适合在预定义环境中运行的任务。