定制 Worker¶
CeleryExecutor 和 KubernetesExecutor worker 都可以使用 worker 参数 进行高度定制。例如,要设置 worker 的资源
workers:
resources:
requests:
cpu: 1
limits:
cpu: 1
有关完整列表,请参阅 worker 参数。
对于 KubernetesExecutor 有一个值得注意的例外:应用于 CeleryExecutor worker 以将其分散到不同节点上的默认反亲和性(anti-affinity)不适用于 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