定製 Worker

CeleryExecutorKubernetesExecutor worker 都可以使用 worker 引數 進行高度定製。例如,要設定 worker 的資源

workers:
  resources:
    requests:
      cpu: 1
    limits:
      cpu: 1

有關完整列表,請參閱 worker 引數

對於 KubernetesExecutor 有一個值得注意的例外:應用於 CeleryExecutor worker 以將其分散到不同節點上的預設反親和性(anti-affinity)不適用於 KubernetesExecutor worker,因為沒有理由將按任務生成的 worker 分散開。

定製 pod_template_file

使用 KubernetesExecutorCeleryKubernetesExecutor,您還可以提供完整的 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

這篇文章有幫助嗎?