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

这篇文章有帮助吗?