自定义 Worker¶
CeleryExecutor
和 KubernetesExecutor
worker 都可以使用 worker 参数 进行高度自定义。例如,要设置 worker 的资源
workers:
resources:
requests:
cpu: 1
limits:
cpu: 1
有关完整列表,请参阅 worker 参数。
KubernetesExecutor
的一个显著例外是,应用于 CeleryExecutor
worker 以将其分散到各个节点的默认反亲和性不会应用于 KubernetesExecutor
worker,因为没有理由分散每个任务的 worker。
自定义 pod_template_file
¶
使用 KubernetesExecutor
或 CeleryKubernetesExecutor
,您还可以提供完整的 pod_template_file
来配置 Kubernetes worker。如果您需要为 CeleryKubernetesExecutor
的不同 worker 类型使用不同的配置,或者您需要自定义 worker 参数 本身无法实现的内容,这可能会很有用。
例如,假设您想在 worker 上设置 priorityClassName
注意
以下示例并非功能性的,而是为了说明如何提供自定义 pod_template_file
。您最好从 默认 pod_template_file 开始。
podTemplate: |
apiVersion: v1
kind: Pod
metadata:
name: placeholder-name
labels:
tier: airflow
component: worker
release: {{ .Release.Name }}
spec:
priorityClassName: high-priority
containers:
- name: base