自定义 Worker

CeleryExecutorKubernetesExecutor 的 worker 都可以通过 worker 参数 进行高度自定义。例如,要在 worker 上设置资源:

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

请参阅 worker 参数 获取完整列表。

对于 KubernetesExecutor,一个值得注意的例外是应用于 CeleryExecutor worker 以将其分散到各个节点上的默认反亲和性,不会应用于 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

此条目是否有帮助?