自訂 Worker¶
CeleryExecutor
和 KubernetesExecutor
worker 都可以透過 workers 參數 進行高度自訂。例如,在 worker 上設定資源
workers:
resources:
requests:
cpu: 1
limits:
cpu: 1
請參閱 workers 參數 以取得完整列表。
對於 KubernetesExecutor
的一個值得注意的例外是,應用於 CeleryExecutor
worker 以將它們分散到各節點的預設反親和性,不適用於 KubernetesExecutor
worker,因為沒有理由分散每個任務的 worker。
自訂 pod_template_file
¶
對於 KubernetesExecutor
或 CeleryKubernetesExecutor
,您也可以提供完整的 pod_template_file
來設定 Kubernetes worker。如果您需要在 CeleryKubernetesExecutor
的 worker 類型之間進行不同的設定,或者如果您需要自訂一些僅靠 workers 參數 無法實現的功能,這可能會很有用。
舉例來說,假設您想在您的 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