原文链接:http://airflow.apache.org/docs/apache-airflow/stable/executor/kubernetes.html
The kubernetes executor is introduced in Apache Airflow 1.10.0. The Kubernetes executor will create a new pod for every task instance.
Example kubernetes files are available at scripts/in_container/kubernetes/app/{secrets,volumes,postgres}.yaml in the source distribution (please note that these examples are not ideal for production environments). The volumes are optional and depend on your configuration. There are two volumes available:
- Dags:
- By storing dags onto persistent disk, it will be made available to all workers
- Another option is to use
git-sync
. Before starting the container, a git pull of the dags repository will be performed and used throughout the lifecycle of the pod
- Logs:
- By storing logs onto a persistent disk, the files are accessible by workers and the webserver. If you don’t configure this, the logs will be lost after the worker pods shuts down
- Another option is to use S3/GCS/etc to store logs
To troubleshoot issue with KubernetesExecutor, you can use airflow kubernetes generate-dag-yaml
command. This command generates the pods as they will be launched in Kubernetes and dumps them into yaml files for you to inspect.
1. pod_template_file
As of Airflow 1.10.12, you can now use the pod_template_file
option in the kubernetes
section of the airflow.cfg file to form the basis of your KubernetesExecutor pods. This process is faster to execute and easier to modify.