定製 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