参数参考

下表列出了 Airflow chart 的可配置参数及其默认值。

通用

参数

描述

默认值

airflowLocalSettings

airflow_local_settings 文件作为字符串(模板化)。你也可以将 airflow_local_settings.py baked 到你的镜像中。在这种情况下,将此值设为 null。

参见 values.yaml

airflowVersion

Airflow 版本(用于根据部署的 Airflow 版本做出一些决定)。

2.10.5

apiServer.defaultUser.enabled

启用默认用户创建。

True

config

挂载的 airflow.cfg 中的设置

参见 values.yaml

defaultAirflowDigest

要部署的默认 Airflow 摘要。覆盖 tag。

~

defaultAirflowRepository

默认 Airflow 仓库。覆盖下面所有特定镜像。

apache/airflow

defaultAirflowTag

要部署的默认 Airflow tag。

2.10.5

executor

Airflow executor。

CeleryExecutor

fernetKey

用于加密密码的 Fernet 密钥(只能在安装期间设置,不能在升级期间设置)。

~

pgbouncer.enabled

启用 PgBouncer。

False

pgbouncer.mountConfigSecret

默认是否将配置 secret 文件挂载到 /etc/pgbouncer/ 下。

True

schedulerName

指定 Pod 的 kube 调度器名称。

~

webserver.defaultUser.enabled

启用默认用户创建。

True

webserver.webserverConfig

此字符串(模板化)将作为自定义的 webserver_config.py 挂载到 Airflow webserver 中。你也可以将 webserver_config.py baked 到你的镜像中,或者指定包含 webserver_config.py 的 configmap。

~

示例

webserverConfig: |-
  from airflow import configuration as conf

  # The SQLAlchemy connection string.
  SQLALCHEMY_DATABASE_URI = conf.get('database', 'SQL_ALCHEMY_CONN')

  # Flask-WTF flag for CSRF
  CSRF_ENABLED = True

webserver.webserverConfigConfigMapName

包含 webserver_config.py 的 configmap 名称。

~

示例

webserverConfigConfigMapName: my-webserver-configmap

webserverSecretKey

用于 Airflow Webserver 加密浏览器会话的 Flask secret 密钥。

~

Airflow

参数

描述

默认值

airflowHome

Airflow 主目录。用于挂载路径。

/opt/airflow

allowPodLaunching

Airflow 各个组件是否启动 Pod。

True

dags.gitSync.branch

Git 分支

v2-2-stable

dags.gitSync.containerName

Git 同步容器名称。

git-sync

dags.gitSync.credentialsSecret

包含仓库 GIT_SYNC_USERNAMEGIT_SYNC_PASSWORD 的 Secret 名称。

~

dags.gitSync.depth

仓库深度。

1

dags.gitSync.emptyDirConfig

dags empty dir volume 的配置。

~

dags.gitSync.enabled

启用 Git 同步。

False

dags.gitSync.env

Git 同步容器的环境变量。

[]

示例

env:
- name: GIT_SYNC_TIMEOUT
  value: '60'

dags.gitSync.envFrom

将添加到 Airflow gitSync 容器定义中的额外 envFrom ‘items’;预期为字符串或数组(模板化)。

~

示例

envFrom: |-
  - secretRef:
      name: 'proxy-config
envFrom: |-
  - configMapRef:
      name: 'proxy-config

dags.gitSync.extraVolumeMounts

将附加 volume 挂载到 Git 同步容器中。

[]

dags.gitSync.knownHosts

使用 ssh 私钥时,known_hosts 文件的内容。

~

示例

knownHosts: |-
  <host1>,<ip1> <key1>
  <host2>,<ip2> <key2>
knownHosts: <host1>,<ip1> <key1>

dags.gitSync.maxFailures

中止前允许的连续失败次数。

0

dags.gitSync.period

Git 同步尝试之间的间隔(Go 风格持续时间字符串)。值较高更容易导致不同组件之间的 DAG 不同步。值较低会导致远程 git 仓库流量增加。

5s

dags.gitSync.ref

Git 修订版本、标签或哈希。

v2-2-stable

dags.gitSync.repo

Git 仓库。

https://github.com/apache/airflow.git

dags.gitSync.resources

worker git-sync sidecar 的资源

{}

示例

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

dags.gitSync.rev

Git 修订版本。

HEAD

dags.gitSync.securityContext

gitSync 容器的安全上下文(已弃用,请改用 securityContexts)。如果未设置,将使用 securityContext 中的值。

{}

示例

securityContext:
  runAsGroup: 0
  runAsUser: 50000

dags.gitSync.sshKey

SSH 私钥

~

dags.gitSync.sshKeySecret

包含仓库 sshKeySecret 的 Secret 名称。

~

dags.gitSync.subPath

仓库中 DAG 文件所在的子路径。

tests/dags

dags.gitSync.uid

Git 同步容器运行用户参数。

65533

dags.gitSync.wait

Git 同步尝试之间的间隔(秒)。值较高更容易导致不同组件之间的 DAG 不同步。值较低会导致远程 git 仓库流量增加。

~

dags.mountPath

dags volume 将被挂载的位置。适用于 persistencegitSync。如果未指定,dags 挂载路径将设置为 $AIRFLOW_HOME/dags

~

dags.persistence.accessMode

持久卷的访问模式。

ReadWriteOnce

dags.persistence.annotations

dag PVC 的注解

{}

dags.persistence.enabled

启用持久卷来存储 dag。

False

dags.persistence.existingClaim

要使用的现有 PVC 名称。

~

dags.persistence.size

dag 的卷大小。

1Gi

dags.persistence.storageClassName

如果使用自定义 StorageClass,在此处传递名称(模板化)。

~

dags.persistence.subPath

PVC 中 DAG 文件所在的子路径。

~

elasticsearch.connection

Elasticsearch 连接配置。

{}

示例

connection:
  host: '...'
  pass: '...'
  port: '...'
  scheme: https
  user: '...'

elasticsearch.connection.host

主机

""

elasticsearch.connection.pass

密码

""

elasticsearch.connection.port

端口

80

elasticsearch.connection.scheme

方案

http

elasticsearch.connection.user

用户名

""

elasticsearch.enabled

启用 Elasticsearch 任务日志记录。

False

elasticsearch.secretName

包含连接字符串的 secret。

~

enableBuiltInSecretEnvVars.AIRFLOW_CONN_AIRFLOW_DB

允许从 Metadata Secret 读取 AIRFLOW_CONN_AIRFLOW_DB 变量

True

enableBuiltInSecretEnvVars.AIRFLOW__CELERY__BROKER_URL

允许从 Celery Broker URL Secret 读取 AIRFLOW__CELERY__BROKER_URL 变量

True

enableBuiltInSecretEnvVars.AIRFLOW__CELERY__CELERY_RESULT_BACKEND

允许从 Celery Result Backend Secret 读取 AIRFLOW__CELERY__CELERY_RESULT_BACKEND 变量 - Airflow 1.10.* 变体

True

enableBuiltInSecretEnvVars.AIRFLOW__CELERY__RESULT_BACKEND

允许从 Celery Result Backend Secret 读取 AIRFLOW__CELERY__RESULT_BACKEND 变量

True

enableBuiltInSecretEnvVars.AIRFLOW__CORE__FERNET_KEY

允许从 Fernet key Secret 读取 AIRFLOW__CORE__FERNET_KEY 变量

True

enableBuiltInSecretEnvVars.AIRFLOW__CORE__SQL_ALCHEMY_CONN

允许从 Metadata Secret 读取 AIRFLOW__CORE__SQL_ALCHEMY_CONN 变量

True

enableBuiltInSecretEnvVars.AIRFLOW__DATABASE__SQL_ALCHEMY_CONN

允许从 Metadata Secret 读取 AIRFLOW__DATABASE__SQL_ALCHEMY_CONN 变量

True

enableBuiltInSecretEnvVars.AIRFLOW__ELASTICSEARCH__ELASTICSEARCH_HOST

允许从 Elasticsearch Host Secret 读取 AIRFLOW__ELASTICSEARCH__ELASTICSEARCH_HOST 变量 - Airflow <1.10.4 变体

True

enableBuiltInSecretEnvVars.AIRFLOW__ELASTICSEARCH__HOST

允许从 Elasticsearch Host Secret 读取 AIRFLOW__ELASTICSEARCH__HOST 变量

True

enableBuiltInSecretEnvVars.AIRFLOW__OPENSEARCH__HOST

允许从 OpenSearch Host Secret 读取 AIRFLOW__OPENSEARCH__HOST 变量

True

enableBuiltInSecretEnvVars.AIRFLOW__WEBSERVER__SECRET_KEY

允许从 Webserver Secret Key Secret 读取 AIRFLOW__WEBSERVER__SECRET_KEY 变量

True

env

所有 Airflow 容器的环境变量。

[]

示例

env:
- name: MYENVVAR
  value: something_fun

extraEnv

将添加到 Airflow 容器定义中的额外 env ‘items’;预期为字符串(模板化)。

~

示例

extraEnv: |-
  - name: AIRFLOW__CORE__LOAD_EXAMPLES
     value: True

extraEnvFrom

将添加到 Airflow 容器定义中的额外 envFrom ‘items’;预期为字符串(模板化)。

~

示例

extraEnvFrom: |-
  - secretRef:
      name: '{{ .Release.Name }}-airflow-connections'
extraEnvFrom: |-
  - configMapRef:
      name: '{{ .Release.Name }}-airflow-variables'

fernetKeySecretName

Fernet 密钥 secret 名称。

~

gid

Airflow 用户的组。

0

logs.emptyDirConfig

logs empty dir volume 的配置。

~

logs.persistence.annotations

添加到 logs PVC 的注解

{}

logs.persistence.enabled

启用持久卷来存储日志。

False

logs.persistence.existingClaim

要使用的现有 PVC 名称。

~

logs.persistence.size

日志的卷大小。

100Gi

logs.persistence.storageClassName

如果使用自定义 StorageClass,在此处传递名称(模板化)。

~

multiNamespaceMode

Airflow 是否可以在多个命名空间中启动 worker 和/或 pod。如果为 true,它会创建 ClusterRole/ClusterRolebinding(具有整个集群的访问权限)

False

opensearch.connection

OpenSearch 连接配置。

{}

示例

connection:
  host: '...'
  pass: '...'
  port: '...'
  scheme: https
  user: '...'

opensearch.connection.host

主机

""

opensearch.connection.pass

密码

""

opensearch.connection.port

端口

80

opensearch.connection.scheme

方案

http

opensearch.connection.user

用户名

""

opensearch.enabled

启用 OpenSearch 任务日志记录。

False

opensearch.secretName

包含连接字符串的 secret。

~

podTemplate

用于 KubernetesExecutor worker 的 pod_template_file.yaml 的内容(模板化)。默认配置(参见 files/pod-template-file.kubernetes-helm-yaml)已考虑了正常的 workers 配置参数(例如 workers.resources),因此你通常无需直接覆盖此项。

~

示例

podTemplate: |-
  apiVersion: v1
  kind: Pod
  metadata:
    name: placeholder-name
    labels:
      tier: airflow
      component: worker
      release: {{ .Release.Name }}
  spec:
    priorityClassName: high-priority
    containers:
      - name: base
      ...

secret

所有 Airflow 容器的 Secret。

[]

示例

secret:
- envName: SecretEnvVar
  secretKey: somekey
  secretName: somesecret

uid

Airflow 用户。

50000

volumeMounts

所有 Airflow 容器的 VolumeMounts。

[]

volumes

所有 Airflow 容器的 Volumes。

[]

webserverSecretKeySecretName

包含 Webserver Flask secret_key 的 Secret 名称。

~

镜像

参数

描述

默认值

images.airflow.digest

Airflow 镜像摘要。如果设置,将覆盖 tag。

~

images.airflow.pullPolicy

Airflow 镜像拉取策略。

IfNotPresent

images.airflow.repository

Airflow 镜像仓库。

~

images.airflow.tag

Airflow 镜像 tag。

~

images.flower.pullPolicy

Flower 镜像拉取策略。

IfNotPresent

images.flower.repository

Flower 镜像仓库。

~

images.flower.tag

Flower 镜像 tag。

~

images.gitSync.pullPolicy

gitSync 镜像拉取策略。

IfNotPresent

images.gitSync.repository

gitSync 镜像仓库。

registry.k8s.io/git-sync/git-sync

images.gitSync.tag

gitSync 镜像 tag。

v4.3.0

images.migrationsWaitTimeout

等待数据库迁移完成的时间(秒)。

60

images.pgbouncer.pullPolicy

PgBouncer 镜像拉取策略。

IfNotPresent

images.pgbouncer.repository

PgBouncer 镜像仓库。

apache/airflow

images.pgbouncer.tag

PgBouncer 镜像 tag。

airflow-pgbouncer-2025.03.05-1.23.1

images.pgbouncerExporter.pullPolicy

PgBouncer exporter 镜像拉取策略。

IfNotPresent

images.pgbouncerExporter.repository

PgBouncer exporter 镜像仓库。

apache/airflow

images.pgbouncerExporter.tag

PgBouncer exporter 镜像 tag。

airflow-pgbouncer-exporter-2025.03.05-0.18.0

images.pod_template.pullPolicy

pod_template 镜像拉取策略。

IfNotPresent

images.pod_template.repository

pod_template 镜像仓库。如果设置了 config.kubernetes.worker_container_repository,k8s executor 将改为使用该配置值。

~

images.pod_template.tag

pod_template 镜像 tag。如果设置了 config.kubernetes.worker_container_tag,k8s executor 将改为使用该配置值。

~

images.redis.pullPolicy

Redis 镜像拉取策略。

IfNotPresent

images.redis.repository

Redis 镜像仓库。

redis

images.redis.tag

Redis 镜像 tag。

7.2-bookworm

images.statsd.pullPolicy

StatsD 镜像拉取策略。

IfNotPresent

images.statsd.repository

StatsD 镜像仓库。

quay.io/prometheus/statsd-exporter

images.statsd.tag

StatsD 镜像 tag。

v0.28.0

images.useDefaultImageForMigration

为避免使用包含用户代码的镜像运行和等待数据库迁移,将此设置为 true

False

端口

参数

描述

默认值

ports.airflowUI

Airflow UI 端口。

8080

ports.apiServer

API server 端口。

8080

ports.flowerUI

Flower UI 端口。

5555

ports.pgbouncer

PgBouncer 端口。

6543

ports.pgbouncerScrape

PgBouncer scrape 端口。

9127

ports.redisDB

Redis 端口。

6379

ports.statsdIngest

StatsD 摄取端口。

9125

ports.statsdScrape

StatsD scrape 端口。

9102

ports.triggererLogs

Triggerer 日志端口。

8794

ports.workerLogs

Worker 日志端口。

8793

数据库

参数

描述

默认值

data.metadataConnection.db

数据库名称。

postgres

data.metadataConnection.host

数据库主机。

~

data.metadataConnection.pass

用户密码。

postgres

data.metadataConnection.port

数据库端口。

5432

data.metadataConnection.protocol

数据库协议。

postgresql

data.metadataConnection.sslmode

数据库 SSL 参数。

disable

data.metadataConnection.user

数据库用户。

postgres

data.metadataSecretName

Metadata 连接字符串 secret。

~

data.resultBackendConnection

Result backend 连接配置。

~

data.resultBackendConnection.db

数据库名称。

~

data.resultBackendConnection.host

数据库主机。

~

data.resultBackendConnection.pass

数据库密码。

~

data.resultBackendConnection.port

数据库端口。

~

data.resultBackendConnection.protocol

数据库协议。

~

data.resultBackendConnection.sslmode

数据库 SSL 参数。

~

data.resultBackendConnection.user

数据库用户。

~

data.resultBackendSecretName

Result backend 连接字符串 secret。

~

postgresql.auth.enablePostgresUser

为 ‘postgres’ 管理用户分配密码。否则,将阻止此用户的远程访问

True

postgresql.auth.password

要创建的自定义用户的密码。

""

postgresql.auth.postgresPassword

‘postgres’ 管理用户的密码。

postgres

postgresql.auth.username

要创建的自定义用户的名称

""

postgresql.enabled

启用 PostgreSQL subchart。

True

PgBouncer

参数

描述

默认值

pgbouncer.affinity

指定 PgBouncer pod 的调度约束。

{}

pgbouncer.annotations

添加到 PgBouncer deployment 的注解

{}

pgbouncer.args

用于 PgBouncer 的 args(模板化)。

~

pgbouncer.auth_file

加载用户名和密码的文件名

/etc/pgbouncer/users.txt

pgbouncer.auth_type

用户认证方法

scram-sha-256

pgbouncer.ciphers

允许的密码套件,可以是 ‘fast’、‘normal’ 或用 ‘:’ 分隔的密码套件列表。

normal

pgbouncer.command

用于 PgBouncer 的 command(模板化)。

['pgbouncer', '-u', 'nobody', '/etc/pgbouncer/pgbouncer.ini']

pgbouncer.configSecretName

PgBouncer 配置 Secret 名称。

~

pgbouncer.env

pgbouncer 容器添加额外的环境变量。

[]

pgbouncer.extraContainers

pgbouncer 中启动额外的容器。

[]

pgbouncer.extraIni

添加额外的通用 PgBouncer ini 配置:https://www.pgbouncer.org/config.html

~

pgbouncer.extraIniMetadata

添加额外的 metadata 数据库特定的 PgBouncer ini 配置:https://www.pgbouncer.org/config.html#section-databases

~

pgbouncer.extraIniResultBackend

添加额外的 result backend 数据库特定的 PgBouncer ini 配置:https://www.pgbouncer.org/config.html#section-databases

~

pgbouncer.extraNetworkPolicies

根据需要添加额外的 NetworkPolicies。

[]

pgbouncer.extraVolumeMounts

将额外的 volume 挂载到 PgBouncer 中。

[]

pgbouncer.extraVolumes

将额外的 volume 挂载到 PgBouncer 中。

[]

pgbouncer.labels

添加到 PgBouncer 对象和 pod 的标签。

{}

pgbouncer.logConnections

记录成功的登录。

0

pgbouncer.logDisconnections

记录断开连接及其原因。

0

pgbouncer.maxClientConn

可以连接到 PgBouncer 的最大客户端数(值越高 = 文件描述符越多)。

100

pgbouncer.metadataPoolSize

Metadata 连接池大小。

10

pgbouncer.metricsExporterSidecar.extraVolumeMounts

将额外的 volume 挂载到 PgBouncer Metrics Exporter 中。

[]

pgbouncer.metricsExporterSidecar.livenessProbe.initialDelaySeconds

Metrics Exporter 存活探针初始延迟

10

pgbouncer.metricsExporterSidecar.livenessProbe.periodSeconds

Metrics Exporter 存活探针频率

10

pgbouncer.metricsExporterSidecar.livenessProbe.timeoutSeconds

Metrics Exporter 存活探针命令超时

1

pgbouncer.metricsExporterSidecar.readinessProbe.initialDelaySeconds

Metrics Exporter 就绪探针初始延迟

10

pgbouncer.metricsExporterSidecar.readinessProbe.periodSeconds

Metrics Exporter 就绪探针频率

10

pgbouncer.metricsExporterSidecar.readinessProbe.timeoutSeconds

Metrics Exporter 就绪探针命令超时

1

pgbouncer.metricsExporterSidecar.resources

PgBouncer metric exporter 的资源。

{}

示例

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

pgbouncer.metricsExporterSidecar.sslmode

metricsExporterSidecar 的 SSL 模式

disable

pgbouncer.metricsExporterSidecar.statsSecretKey

引用现有 Secrets 对象中 PGBouncer Metrics 连接 URI 的键。如果保留 null,默认为 connection

~

pgbouncer.metricsExporterSidecar.statsSecretName

包含 PgBouncer Metrics secrets 的现有 Secrets 对象名称。

~

pgbouncer.nodeSelector

为 PgBouncer pod 选择特定节点。

{}

pgbouncer.podAnnotations

为 PgBouncer Pod 添加注解。

{}

pgbouncer.podDisruptionBudget.config.maxUnavailable

PgBouncer 最大不可用 pod 数。

1

pgbouncer.podDisruptionBudget.config.minAvailable

PgBouncer 最小可用 pod 数。

1

pgbouncer.podDisruptionBudget.enabled

启用 PodDistributionBudget。

False

pgbouncer.priorityClassName

指定 PgBouncer pod 的优先级。

~

pgbouncer.replicas

Deployment 中运行的 PgBouncer 副本数。

1

pgbouncer.resources

PgBouncer pod 的资源。

{}

示例

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

pgbouncer.resultBackendPoolSize

Result backend 连接池大小。

5

pgbouncer.service.clusterIp

PgBouncer Service 的特定 ClusterIP。

~

pgbouncer.service.extraAnnotations

PgBouncer Service 的额外注解。

{}

pgbouncer.serviceAccount.annotations

添加到 worker Kubernetes ServiceAccount 的注解。

{}

pgbouncer.serviceAccount.automountServiceAccountToken

指定是否将 ServiceAccount 的 API 凭证挂载到 Pod 上

True

pgbouncer.serviceAccount.create

指定是否应该创建 ServiceAccount。

True

pgbouncer.serviceAccount.name

要使用的 ServiceAccount 名称。如果未设置且 create 为 true,则使用 release 名称生成名称。

~

pgbouncer.ssl.ca

服务器端的证书颁发机构

~

pgbouncer.ssl.cert

服务器端的服务器证书

~

pgbouncer.ssl.key

用于与服务器进行身份验证的私钥

~

pgbouncer.sslmode

PgBouncer 的 SSL 模式。

prefer

pgbouncer.tolerations

为 PgBouncer pod 指定 Tolerations。

[]

pgbouncer.topologySpreadConstraints

为 PgBouncer pod 指定拓扑分布约束。

[]

pgbouncer.uid

PgBouncer 运行用户参数。

65534

pgbouncer.verbose

增加 PgBouncer 详细程度。

0

API Server

参数

描述

默认值

apiServer.affinity

为 API server pod 指定调度约束。

参见 values.yaml

apiServer.allowPodLogReading

允许 API server 读取 k8s pod 日志。当你没有外部日志存储时很有用。

True

apiServer.annotations

添加到 API server deployment 的注解

{}

apiServer.args

运行 Airflow API server 时使用的 args(模板化)。

['bash', '-c', 'exec airflow api-server']

apiServer.command

运行 Airflow API server 时使用的 command(模板化)。

~

apiServer.configMapAnnotations

应用于 API server configmap 的额外注解。

{}

apiServer.defaultUser.email

默认用户电子邮件地址。

admin@example.com

apiServer.defaultUser.firstName

默认用户名字。

admin

apiServer.defaultUser.lastName

默认用户姓氏。

user

apiServer.defaultUser.password

默认用户密码。

admin

apiServer.defaultUser.role

默认用户角色。

Admin

apiServer.defaultUser.username

默认用户名。

admin

apiServer.env

为 API server 添加额外的环境变量。

[]

apiServer.extraContainers

在 API server 中启动额外的容器。

[]

apiServer.extraInitContainers

为 API server 添加额外的 init 容器。

[]

apiServer.extraVolumeMounts

将额外的 volume 挂载到 API server 中。

[]

apiServer.extraVolumes

将额外的 volume 挂载到 API server 中。

[]

apiServer.hostAliases

API server pod 的 HostAliases。

[]

示例

hostAliases:
- hostnames:
  - foo.local
  ip: 127.0.0.1
hostAliases:
- hostnames:
  - foo.remote
  ip: 10.1.2.3

apiServer.labels

添加到 API server 对象和 pod 的标签。

{}

apiServer.livenessProbe.failureThreshold

API server 存活探针失败阈值。

5

apiServer.livenessProbe.initialDelaySeconds

API server 存活探针初始延迟。

15

apiServer.livenessProbe.periodSeconds

API server 存活探针周期(秒)。

10

apiServer.livenessProbe.scheme

API server 存活探针方案。

HTTP

apiServer.livenessProbe.timeoutSeconds

API server 存活探针超时(秒)。

5

apiServer.networkPolicy.ingress.from

API server NetworkPolicy ingress 的对等方。

[]

apiServer.networkPolicy.ingress.ports

API server NetworkPolicy ingress 的端口(如果设置了 from)。

[{'port': '{{ .Values.ports.apiServer }}'}]

示例

ports:
- port: 8080

apiServer.nodeSelector

为 API server pod 选择特定节点。

{}

apiServer.podAnnotations

添加到 API server pod 的注解。

{}

apiServer.podDisruptionBudget.config.maxUnavailable

API server 最大不可用 pod 数。

1

apiServer.podDisruptionBudget.config.minAvailable

API server 最小可用 pod 数。

1

apiServer.podDisruptionBudget.enabled

启用 pod disruption budget。

False

apiServer.priorityClassName

为 API server pod 指定优先级。

~

apiServer.readinessProbe.failureThreshold

API server 就绪探针失败阈值。

5

apiServer.readinessProbe.initialDelaySeconds

API server 就绪探针初始延迟。

15

apiServer.readinessProbe.periodSeconds

API server 就绪探针周期(秒)。

10

apiServer.readinessProbe.scheme

API server 就绪探针方案。

HTTP

apiServer.readinessProbe.timeoutSeconds

API server 就绪探针超时(秒)。

5

apiServer.replicas

应该运行多少个 Airflow API server 副本。

1

apiServer.resources

API server pod 的资源。

{}

示例

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

apiServer.service.annotations

API server Service 的注解。

{}

apiServer.service.loadBalancerIP

API server Service 的 loadBalancerIP。

~

apiServer.service.loadBalancerSourceRanges

API server Service 的 loadBalancerSourceRanges

[]

示例

loadBalancerSourceRanges:
- 10.123.0.0/16

apiServer.service.ports

API server Service 的端口。

[{'name': 'api-server', 'port': '{{ .Values.ports.apiServer }}'}]

示例

ports:
- name: api-server
  port: 8080
  targetPort: api-server
ports:
- name: only_sidecar
  port: 9080
  targetPort: 8888

apiServer.service.type

API server Service 类型。

ClusterIP

apiServer.serviceAccount.annotations

添加到 API server Kubernetes ServiceAccount 的注解。

{}

apiServer.serviceAccount.automountServiceAccountToken

指定是否将 ServiceAccount 的 API 凭证挂载到 Pod 上

True

apiServer.serviceAccount.create

指定是否应该创建 ServiceAccount。

True

apiServer.serviceAccount.name

要使用的 ServiceAccount 名称。如果未设置且 create 为 true,则使用 release 名称生成名称。

~

apiServer.startupProbe.failureThreshold

API server 启动探针失败阈值。

6

apiServer.startupProbe.initialDelaySeconds

API server 启动探针初始延迟(秒)。

0

apiServer.startupProbe.periodSeconds

API server 启动探针周期(秒)。

10

apiServer.startupProbe.scheme

API server 启动探针方案。

HTTP

apiServer.startupProbe.timeoutSeconds

API server 启动探针超时(秒)。

20

apiServer.strategy

指定替换旧 Pods 为新 Pods 的策略。

~

apiServer.tolerations

为 API server pod 指定 Tolerations。

[]

apiServer.waitForMigrations.enabled

启用 wait-for-airflow-migrations init 容器。

True

apiServer.waitForMigrations.env

为 wait-for-airflow-migrations init 容器添加额外的环境变量。

[]

调度器

参数

描述

默认值

scheduler.affinity

为调度器 pod 指定调度约束。

参见 values.yaml

scheduler.annotations

添加到调度器 deployment 的注解

{}

scheduler.args

运行 Airflow 调度器时使用的 args(模板化)。

['bash', '-c', 'exec airflow scheduler']

scheduler.command

运行 Airflow 调度器时使用的 command(模板化)。

~

scheduler.enabled

启用调度器

True

scheduler.env

为调度器添加额外的环境变量。

[]

scheduler.extraContainers

在调度器中启动额外的容器(模板化)。

[]

scheduler.extraInitContainers

为调度器添加额外的 init 容器(模板化)。

[]

scheduler.extraVolumeMounts

将额外的 volume 挂载到调度器中。

[]

scheduler.extraVolumes

将额外的 volume 挂载到调度器中。

[]

scheduler.hostAliases

调度器 pod 的 HostAliases。

[]

示例

hostAliases:
- hostnames:
  - foo.local
  ip: 127.0.0.1
hostAliases:
- hostnames:
  - foo.remote
  ip: 10.1.2.3

scheduler.labels

添加到调度器对象和 pod 的标签。

{}

scheduler.livenessProbe.failureThreshold

探针在成功后被认为失败所需的最小连续失败次数。最小值为 1。

5

scheduler.livenessProbe.initialDelaySeconds

容器启动后到存活探针启动前的秒数。

10

scheduler.livenessProbe.periodSeconds

执行探针的频率(秒)。最小值为 1。

60

scheduler.livenessProbe.timeoutSeconds

探针超时前的秒数。最小值为 1 秒。

20

scheduler.nodeSelector

为调度器 pod 选择特定节点。

{}

scheduler.podAnnotations

添加到调度器 pod 的注解。

{}

scheduler.podDisruptionBudget.config.maxUnavailable

调度器最大不可用 pod 数。

1

scheduler.podDisruptionBudget.config.minAvailable

调度器最小可用 pod 数。

1

scheduler.podDisruptionBudget.enabled

启用 pod disruption budget。

False

scheduler.priorityClassName

~

scheduler.replicas

Airflow 2.0 允许用户运行多个调度器。此功能仅推荐用于 MySQL 8+ 和 PostgreSQL。

1

scheduler.resources

调度器 pod 的资源。

{}

示例

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

scheduler.safeToEvict

此设置告诉 Kubernetes 在需要缩减节点时可以驱逐。

True

scheduler.securityContext

调度器 pod 的安全上下文(已弃用,请改用 securityContexts)。如果未设置,将使用 securityContext 中的值。

{}

示例

securityContext:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

scheduler.serviceAccount.annotations

添加到调度器 Kubernetes ServiceAccount 的注解。

{}

scheduler.serviceAccount.automountServiceAccountToken

指定是否将 ServiceAccount 的 API 凭证挂载到 Pod 上

True

scheduler.serviceAccount.create

指定是否应该创建 ServiceAccount。

True

scheduler.serviceAccount.name

要使用的 ServiceAccount 名称。如果未设置且 create 为 true,则使用 release 名称生成名称。

~

scheduler.startupProbe.failureThreshold

探针在成功后被认为失败所需的最小连续失败次数。最小值为 1。

6

scheduler.startupProbe.initialDelaySeconds

容器启动后到启动探针启动前的秒数。

0

scheduler.startupProbe.periodSeconds

执行探针的频率(秒)。最小值为 1。

10

scheduler.startupProbe.timeoutSeconds

探针超时前的秒数。最小值为 1 秒。

20

scheduler.strategy

作为 Deployment 部署时(不使用 LocalExecutor 和 workers.persistence 时)替换旧 Pods 为新 Pods 的策略。

~

scheduler.terminationGracePeriodSeconds

Kubernetes 发送 SIGTERM 后,调度器完成的优雅终止期。

10

scheduler.tolerations

为调度器 pod 指定 Tolerations。

[]

scheduler.topologySpreadConstraints

为调度器 pod 指定拓扑分布约束。

[]

scheduler.updateStrategy

作为 StatefulSet 部署时(使用 LocalExecutor 和 workers.persistence 时)替换旧 Pods 为新 Pods 的策略。

~

scheduler.waitForMigrations.enabled

启用 wait-for-airflow-migrations init 容器。

True

scheduler.waitForMigrations.env

为 wait-for-airflow-migrations init 容器添加额外的环境变量。

[]

Webserver

参数

描述

默认值

webserver.affinity

为 webserver pod 指定调度约束。

参见 values.yaml

webserver.allowPodLogReading

允许 webserver 读取 k8s pod 日志。当你没有外部日志存储时很有用。

True

webserver.annotations

添加到 webserver deployment 的注解

{}

webserver.args

运行 Airflow webserver 时使用的 args(模板化)。

['bash', '-c', 'exec airflow webserver']

webserver.command

运行 Airflow webserver 时使用的 command(模板化)。

~

webserver.configMapAnnotations

应用于 webserver configmap 的额外注解。

{}

webserver.defaultUser.email

默认用户电子邮件地址。

admin@example.com

webserver.defaultUser.firstName

默认用户名字。

admin

webserver.defaultUser.lastName

默认用户姓氏。

user

webserver.defaultUser.password

默认用户密码。

admin

webserver.defaultUser.role

默认用户角色。

Admin

webserver.defaultUser.username

默认用户名。

admin

webserver.enabled

启用 webserver

True

webserver.env

为 webserver 添加额外的环境变量。

[]

webserver.extraContainers

在 webserver 中启动额外的容器(模板化)。

[]

webserver.extraInitContainers

为 webserver 添加额外的 init 容器(模板化)。

[]

webserver.extraNetworkPolicies

根据需要添加额外的 NetworkPolicies(已弃用 - 已更名为 webserver.networkPolicy.ingress.from)。

[]

webserver.extraVolumeMounts

将额外的 volume 挂载到 webserver 中。

[]

webserver.extraVolumes

将额外的 volume 挂载到 webserver 中。

[]

webserver.hostAliases

webserver pod 的 HostAliases。

[]

示例

hostAliases:
- hostnames:
  - foo.local
  ip: 127.0.0.1
hostAliases:
- hostnames:
  - foo.remote
  ip: 10.1.2.3

webserver.hpa.behavior

HorizontalPodAutoscalerBehavior 配置目标的伸缩行为。

{}

webserver.hpa.enabled

允许 HPA 自动伸缩

False

webserver.hpa.maxReplicaCount

HPA 创建的最大 webserver 数量。

5

webserver.hpa.metrics

用于计算所需副本数量的规格。

[{'type': 'Resource', 'resource': {'name': 'cpu', 'target': {'type': 'Utilization', 'averageUtilization': 80}}}]

webserver.hpa.minReplicaCount

HPA 创建的最小 webserver 数量。

1

webserver.labels

添加到 webserver 对象和 pod 的标签。

{}

webserver.livenessProbe.failureThreshold

Webserver 存活探针失败阈值。

5

webserver.livenessProbe.initialDelaySeconds

Webserver 存活探针初始延迟。

15

webserver.livenessProbe.periodSeconds

Webserver 存活探针周期(秒)。

10

webserver.livenessProbe.scheme

Webserver 存活探针方案。

HTTP

webserver.livenessProbe.timeoutSeconds

Webserver 存活探针超时(秒)。

5

webserver.networkPolicy.ingress.from

webserver NetworkPolicy ingress 的对等方。

[]

webserver.networkPolicy.ingress.ports

webserver NetworkPolicy ingress 的端口(如果设置了 from)。

[{'port': '{{ .Values.ports.airflowUI }}'}]

示例

ports:
- port: 8070

webserver.nodeSelector

为 webserver pod 选择特定节点。

{}

webserver.podAnnotations

要添加到 webserver pod 的注解。

{}

webserver.podDisruptionBudget.config.maxUnavailable

webserver 的最大不可用 pod 数。

1

webserver.podDisruptionBudget.config.minAvailable

webserver 的最小可用 pod 数。

1

webserver.podDisruptionBudget.enabled

启用 pod disruption budget。

False

webserver.priorityClassName

指定 webserver pod 的优先级。

~

webserver.readinessProbe.failureThreshold

Webserver 就绪探针失败阈值。

5

webserver.readinessProbe.initialDelaySeconds

Webserver 就绪探针初始延迟。

15

webserver.readinessProbe.periodSeconds

Webserver 就绪探针周期(秒)。

10

webserver.readinessProbe.scheme

Webserver 就绪探针方案。

HTTP

webserver.readinessProbe.timeoutSeconds

Webserver 就绪探针超时(秒)。

5

webserver.replicas

应运行的 Airflow webserver 副本数量。

1

webserver.resources

webserver pod 的资源。

{}

示例

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

webserver.securityContext

webserver 作业 pod 的安全上下文(已弃用,请改用 securityContexts)。如果未设置,将使用 securityContext 的值。

{}

示例

securityContext:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

webserver.service.annotations

webserver Service 的注解。

{}

webserver.service.loadBalancerIP

Webserver Service 的 loadBalancerIP。

~

webserver.service.loadBalancerSourceRanges

Webserver Service 的 loadBalancerSourceRanges

[]

示例

loadBalancerSourceRanges:
- 10.123.0.0/16

webserver.service.ports

webserver Service 的端口。

[{'name': 'airflow-ui', 'port': '{{ .Values.ports.airflowUI }}'}]

示例

ports:
- name: airflow-ui
  port: 80
  targetPort: airflow-ui
ports:
- name: only_sidecar
  port: 80
  targetPort: 8888

webserver.service.type

Webserver Service 类型。

ClusterIP

webserver.serviceAccount.annotations

要添加到 webserver Kubernetes ServiceAccount 的注解。

{}

webserver.serviceAccount.automountServiceAccountToken

指定是否将 ServiceAccount 的 API 凭证挂载到 Pod 上

True

webserver.serviceAccount.create

指定是否应该创建 ServiceAccount。

True

webserver.serviceAccount.name

要使用的 ServiceAccount 名称。如果未设置且 create 为 true,则使用 release 名称生成名称。

~

webserver.startupProbe.failureThreshold

Webserver 启动探针失败阈值。

6

webserver.startupProbe.initialDelaySeconds

Webserver 启动探针初始延迟(秒)。

0

webserver.startupProbe.periodSeconds

Webserver 启动探针周期(秒)。

10

webserver.startupProbe.scheme

Webserver 启动探针方案。

HTTP

webserver.startupProbe.timeoutSeconds

Webserver 启动探针超时(秒)。

20

webserver.strategy

指定替换旧 Pods 为新 Pods 的策略。

~

webserver.terminationGracePeriodSeconds

在 Kubernetes 发送 SIGTERM 后 webserver 完成工作的宽限期。

30

webserver.tolerations

为 webserver pod 指定容忍度。

[]

webserver.waitForMigrations.enabled

启用 wait-for-airflow-migrations init 容器。

True

webserver.waitForMigrations.env

为 wait-for-airflow-migrations init 容器添加额外的环境变量。

[]

Worker 进程

参数

描述

默认值

workers.affinity

为 worker pod 指定调度约束。

参见 values.yaml

workers.annotations

要添加到 worker 部署的注解。

{}

workers.args

运行 Airflow worker 时使用的 Args(模板化)。

['bash', '-c', 'exec \\\nairflow {{ semverCompare ">=2.0.0" .Values.airflowVersion | ternary "celery worker" "worker" }}']

workers.command

运行 Airflow worker 时使用的 Command(模板化)。

~

workers.env

向 worker 添加额外的环境变量。

[]

workers.extraContainers

向 worker 中启动额外的容器(模板化)。注意:如果在 KubernetesExecutor 中使用,你需要负责在主容器完成后通知 sidecar 退出,以便 Airflow 可以继续 worker 关闭过程!

[]

workers.extraInitContainers

向 worker 中添加额外的 init 容器(模板化)。

[]

workers.extraPorts

在 worker 容器上暴露额外的端口。

[]

workers.extraVolumeMounts

向 worker 中挂载额外的卷。

[]

workers.extraVolumes

向 worker 中挂载额外的卷。

[]

workers.hostAliases

为 worker 指定 HostAliases。

[]

示例

hostAliases:
- hostnames:
  - test.hostname.one
  ip: 127.0.0.2
hostAliases:
- hostnames:
  - test.hostname.two
  ip: 127.0.0.3

workers.hpa.behavior

HorizontalPodAutoscalerBehavior 配置目标的伸缩行为。

{}

workers.hpa.enabled

允许 HPA 自动扩缩容(KEDA 必须禁用)。

False

workers.hpa.maxReplicaCount

HPA 创建的最大 worker 数量。

5

workers.hpa.metrics

用于计算所需副本数量的规格。

[{'type': 'Resource', 'resource': {'name': 'cpu', 'target': {'type': 'Utilization', 'averageUtilization': 80}}}]

workers.hpa.minReplicaCount

HPA 创建的最小 worker 数量。

0

workers.keda.advanced

高级 KEDA 配置。

{}

workers.keda.advanced.horizontalPodAutoscalerConfig

HorizontalPodAutoscalerConfig 指定水平扩缩容配置。

{}

workers.keda.advanced.horizontalPodAutoscalerConfig.behavior

HorizontalPodAutoscalerBehavior 配置目标的伸缩行为。

{}

workers.keda.cooldownPeriod

KEDA 在扩缩容到零之前等待的秒数。

30

workers.keda.enabled

允许 KEDA 自动扩缩容。

False

workers.keda.maxReplicaCount

KEDA 创建的最大 worker 数量。

10

workers.keda.minReplicaCount

KEDA 创建的最小 worker 数量。

0

workers.keda.namespaceLabels

用于 PgBouncer NetworkPolicy 中 namespace 的 matchLabels 的标签。

{}

workers.keda.pollingInterval

KEDA 轮询 Airflow DB 以报告新的扩缩容请求到 HPA 的频率。

5

workers.keda.query

用于 KEDA 自动扩缩容的查询。必须返回一个整数。

SELECT ceil(COUNT(*)::decimal / {{ .Values.config.celery.worker_concurrency }}) FROM task_instance WHERE (state='running' OR state='queued') {{- if or (contains "CeleryKubernetesExecutor" .Values.executor) (contains "KubernetesExecutor" .Values.executor) }} AND queue != '{{ .Values.config.celery_kubernetes_executor.kubernetes_queue }}' {{- end }}

workers.keda.usePgbouncer

当启用时,是否使用 PGBouncer 连接数据库。如果 PGBouncer 未启用,此配置将被忽略。

True

workers.kerberosInitContainer.enabled

为 worker 启用 Kerberos init 容器。

False

workers.kerberosInitContainer.resources

worker Kerberos init 容器的资源。

{}

示例

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

workers.kerberosSidecar.enabled

为 worker 启用 Kerberos sidecar。

False

workers.kerberosSidecar.resources

worker Kerberos sidecar 的资源。

{}

示例

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

workers.labels

要添加到 worker 对象和 pod 的标签。

{}

workers.livenessProbe.enabled

为 Celery worker 启用存活探针。

True

workers.livenessProbe.failureThreshold

探针在成功后被认为失败所需的最小连续失败次数。最小值为 1。

5

workers.livenessProbe.initialDelaySeconds

容器启动后到存活探针启动前的秒数。

10

workers.livenessProbe.periodSeconds

执行探针的频率(秒)。最小值为 1。

60

workers.livenessProbe.timeoutSeconds

探针超时前的秒数。最小值为 1 秒。

20

workers.nodeSelector

为 worker pod 选择特定节点。

{}

workers.persistence.annotations

要添加到 worker 卷的注解。

{}

workers.persistence.enabled

启用持久卷。

True

workers.persistence.fixPermissions

执行 init 容器来更改日志目录的所有权。目前仅在 kind 中需要,由于使用了 local-path provisioner。

False

workers.persistence.size

worker StatefulSet 的卷大小。

100Gi

workers.persistence.storageClassName

如果使用自定义 StorageClass,在此处传递所有 StatefulSet 的名称引用(模板化)。

~

workers.podAnnotations

要添加到 worker pod 的注解。

{}

workers.podManagementPolicy

指定 worker 内 pod 的管理策略。仅适用于 StatefulSet。

~

workers.priorityClassName

指定 worker pod 的优先级。

~

workers.replicas

StatefulSet 中 Airflow Celery worker 的数量。

1

workers.resources

worker 的资源。

{}

示例

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

workers.runtimeClassName

指定 worker pod 的运行时。

~

workers.safeToEvict

此设置告知 Kubernetes 在需要缩减节点时可以驱逐此 pod。

False

workers.securityContext

worker pod 的安全上下文(已弃用,请改用 securityContexts)。如果未设置,将使用 securityContext 的值。

{}

示例

securityContext:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

workers.serviceAccount.annotations

添加到 worker Kubernetes ServiceAccount 的注解。

{}

workers.serviceAccount.automountServiceAccountToken

指定是否将 ServiceAccount 的 API 凭证挂载到 Pod 上

True

workers.serviceAccount.create

指定是否应该创建 ServiceAccount。

True

workers.serviceAccount.name

要使用的 ServiceAccount 名称。如果未设置且 create 为 true,则使用 release 名称生成名称。

~

workers.strategy

指定在部署为 Deployment 时用于替换旧 Pod 的策略。

{'rollingUpdate': {'maxSurge': '100%', 'maxUnavailable': '50%'}}

workers.terminationGracePeriodSeconds

在 Kubernetes 发送 SIGTERM 后任务完成的宽限期。

600

workers.tolerations

为 worker pod 指定容忍度。

[]

workers.topologySpreadConstraints

为 worker pod 指定拓扑分散约束。

[]

workers.updateStrategy

指定在部署为 StatefulSet 时用于替换旧 Pod 的策略。

~

workers.volumeClaimTemplates

为 worker 指定额外的卷声明模板。

[]

示例

volumeClaimTemplates:
- accessModes:
  - ReadWriteOnce
  name: data-volume-1
  resources:
    requests:
      storage: 10Gi
  storageClassName: storage-class-1
volumeClaimTemplates:
- accessModes:
  - ReadWriteOnce
  name: data-volume-2
  resources:
    requests:
      storage: 20Gi
  storageClassName: storage-class-2

workers.waitForMigrations.enabled

启用 wait-for-airflow-migrations init 容器。

True

workers.waitForMigrations.env

为 wait-for-airflow-migrations init 容器添加额外的环境变量。

[]

Triggerer

参数

描述

默认值

triggerer.affinity

为 triggerer pod 指定调度约束。

参见 values.yaml

triggerer.annotations

要添加到 triggerer 部署的注解。

{}

triggerer.args

运行 Airflow triggerer 时使用的 Args(模板化)。

['bash', '-c', 'exec airflow triggerer']

triggerer.command

运行 Airflow triggerer 时使用的 Command(模板化)。

~

triggerer.enabled

启用 triggerer。

True

triggerer.env

向 triggerer 添加额外的环境变量。

[]

triggerer.extraContainers

向 triggerer 中启动额外的容器(模板化)。

[]

triggerer.extraInitContainers

向 triggerer 中添加额外的 init 容器(模板化)。

[]

triggerer.extraVolumeMounts

向 triggerer 中挂载额外的卷。

[]

triggerer.extraVolumes

向 triggerer 中挂载额外的卷。

[]

triggerer.hostAliases

triggerer pod 的 HostAliases。

[]

示例

hostAliases:
- hostnames:
  - foo.local
  ip: 127.0.0.1
hostAliases:
- hostnames:
  - foo.remote
  ip: 10.1.2.3

triggerer.keda.advanced

高级 KEDA 配置。

{}

triggerer.keda.advanced.horizontalPodAutoscalerConfig

HorizontalPodAutoscalerConfig 指定水平扩缩容配置。

{}

triggerer.keda.advanced.horizontalPodAutoscalerConfig.behavior

HorizontalPodAutoscalerBehavior 配置目标的伸缩行为。

{}

triggerer.keda.cooldownPeriod

KEDA 在扩缩容到零之前等待的秒数。

30

triggerer.keda.enabled

允许 KEDA 自动扩缩容。

False

triggerer.keda.maxReplicaCount

KEDA 创建的最大 triggerer 数量。

10

triggerer.keda.minReplicaCount

KEDA 创建的最小 triggerer 数量。

0

triggerer.keda.namespaceLabels

用于 PgBouncer NetworkPolicy 中 namespace 的 matchLabels 的标签。

{}

triggerer.keda.pollingInterval

KEDA 轮询 Airflow DB 以报告新的扩缩容请求到 HPA 的频率。

5

triggerer.keda.query

用于 KEDA 自动扩缩容的查询。必须返回一个整数。

SELECT ceil(COUNT(*)::decimal / {{ include "triggerer.capacity" . }}) FROM trigger

triggerer.keda.usePgbouncer

当启用时,是否使用 PGBouncer 连接数据库。如果 PGBouncer 未启用,此配置将被忽略。

False

triggerer.labels

要添加到 triggerer 对象和 pod 的标签。

{}

triggerer.livenessProbe.failureThreshold

探针在成功后被认为失败所需的最小连续失败次数。最小值为 1。

5

triggerer.livenessProbe.initialDelaySeconds

容器启动后到存活探针启动前的秒数。

10

triggerer.livenessProbe.periodSeconds

执行探针的频率(秒)。最小值为 1。

60

triggerer.livenessProbe.timeoutSeconds

探针超时前的秒数。最小值为 1 秒。

20

triggerer.nodeSelector

为 triggerer pod 选择特定节点。

{}

triggerer.persistence.annotations

要添加到 triggerer 卷的注解。

{}

triggerer.persistence.enabled

启用持久卷。

True

triggerer.persistence.fixPermissions

执行 init 容器来更改日志目录的所有权。目前仅在 kind 中需要,由于使用了 local-path provisioner。

False

triggerer.persistence.size

triggerer StatefulSet 的卷大小。

100Gi

triggerer.persistence.storageClassName

如果使用自定义 StorageClass,在此处传递所有 StatefulSet 的名称引用(模板化)。

~

triggerer.podAnnotations

要添加到 triggerer pod 的注解。

{}

triggerer.priorityClassName

指定 triggerer pod 的优先级。

~

triggerer.replicas

要运行的 triggerer 数量。

1

triggerer.resources

triggerer pod 的资源。

{}

示例

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

triggerer.safeToEvict

此设置告诉 Kubernetes 在需要缩减节点时可以驱逐。

True

triggerer.securityContext

triggerer pod 的安全上下文(已弃用,请改用 securityContexts)。如果未设置,将使用 securityContext 的值。

{}

示例

securityContext:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

triggerer.serviceAccount.annotations

要添加到 triggerer Kubernetes ServiceAccount 的注解。

{}

triggerer.serviceAccount.automountServiceAccountToken

指定是否将 ServiceAccount 的 API 凭证挂载到 Pod 上

True

triggerer.serviceAccount.create

指定是否应该创建 ServiceAccount。

True

triggerer.serviceAccount.name

要使用的 ServiceAccount 名称。如果未设置且 create 为 true,则使用 release 名称生成名称。

~

triggerer.strategy

指定在部署为 Deployment 时用于替换旧 Pod 的策略。

{'rollingUpdate': {'maxSurge': '100%', 'maxUnavailable': '50%'}}

triggerer.terminationGracePeriodSeconds

在 Kubernetes 发送 SIGTERM 后任务完成的宽限期。

60

triggerer.tolerations

为 triggerer pod 指定容忍度。

[]

triggerer.topologySpreadConstraints

为 triggerer pod 指定拓扑分散约束。

[]

triggerer.updateStrategy

指定在部署为 StatefulSet 时用于替换旧 Pod 的策略。

~

triggerer.waitForMigrations.enabled

启用 wait-for-airflow-migrations init 容器。

True

triggerer.waitForMigrations.env

为 wait-for-airflow-migrations init 容器添加额外的环境变量。

[]

DagProcessor

参数

描述

默认值

dagProcessor.affinity

为 dag processor pod 指定调度约束。

参见 values.yaml

dagProcessor.annotations

要添加到 dag processor 部署的注解。

{}

dagProcessor.args

运行 Airflow dag processor 时使用的 Args(模板化)。

['bash', '-c', 'exec airflow dag-processor']

dagProcessor.command

运行 Airflow dag processor 时使用的 Command(模板化)。

~

dagProcessor.enabled

启用独立的 dag processor(需要 Airflow 2.3.0+)。

~

dagProcessor.env

向 dag processor 添加额外的环境变量。

[]

dagProcessor.extraContainers

向 dag processor 中启动额外的容器(模板化)。

[]

dagProcessor.extraInitContainers

向 dag processor 中添加额外的 init 容器(模板化)。

[]

dagProcessor.extraVolumeMounts

向 dag processor 中挂载额外的卷。

[]

dagProcessor.extraVolumes

向 dag processor 中挂载额外的卷。

[]

dagProcessor.livenessProbe.failureThreshold

探针在成功后被认为失败所需的最小连续失败次数。最小值为 1。

5

dagProcessor.livenessProbe.initialDelaySeconds

容器启动后到存活探针启动前的秒数。

10

dagProcessor.livenessProbe.periodSeconds

执行探针的频率(秒)。最小值为 1。

60

dagProcessor.livenessProbe.timeoutSeconds

探针超时前的秒数。最小值为 1 秒。

20

dagProcessor.nodeSelector

为 dag processor pod 选择特定节点。

{}

dagProcessor.podAnnotations

要添加到 dag processor pod 的注解。

{}

dagProcessor.priorityClassName

指定 dag processor pod 的优先级。

~

dagProcessor.replicas

要运行的 dag processor 数量。

1

dagProcessor.resources

dag processor pod 的资源。

{}

示例

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

dagProcessor.safeToEvict

此设置告诉 Kubernetes 在需要缩减节点时可以驱逐。

True

dagProcessor.securityContext

dag processor pod 的安全上下文(已弃用,请改用 securityContexts)。如果未设置,将使用 securityContext 的值。

{}

示例

securityContext:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

dagProcessor.serviceAccount.annotations

要添加到 dag processor Kubernetes ServiceAccount 的注解。

{}

dagProcessor.serviceAccount.automountServiceAccountToken

指定是否将 ServiceAccount 的 API 凭证挂载到 Pod 上

True

dagProcessor.serviceAccount.create

指定是否应该创建 ServiceAccount。

True

dagProcessor.serviceAccount.name

要使用的 ServiceAccount 名称。如果未设置且 create 为 true,则使用 release 名称生成名称。

~

dagProcessor.strategy

指定在部署为 Deployment 时用于替换旧 Pod 的策略。

{'rollingUpdate': {'maxSurge': '100%', 'maxUnavailable': '50%'}}

dagProcessor.terminationGracePeriodSeconds

在 Kubernetes 发送 SIGTERM 后任务完成的宽限期。

60

dagProcessor.tolerations

为 dag processor pod 指定容忍度。

[]

dagProcessor.topologySpreadConstraints

为 dag processor pod 指定拓扑分散约束。

[]

dagProcessor.waitForMigrations.enabled

启用 wait-for-airflow-migrations init 容器。

True

dagProcessor.waitForMigrations.env

为 wait-for-airflow-migrations init 容器添加额外的环境变量。

[]

Flower

参数

描述

默认值

flower.affinity

为 Flower pod 指定调度约束。

{}

flower.annotations

要添加到 flower 部署的注解。

{}

flower.args

运行 flower 时使用的 Args(模板化)。

['bash', '-c', 'exec \\\nairflow {{ semverCompare ">=2.0.0" .Values.airflowVersion | ternary "celery flower" "flower" }}']

flower.command

运行 flower 时使用的 Command(模板化)。

~

flower.enabled

启用 Flower。

False

flower.env

向 flower 添加额外的环境变量。

[]

flower.extraContainers

向 flower pod 中启动额外的容器。

[]

flower.extraNetworkPolicies

根据需要添加额外的 NetworkPolicies(已弃用 - 已重命名为 flower.networkPolicy.ingress.from)。

[]

flower.extraVolumeMounts

向 flower pod 中挂载额外的卷。

[]

flower.extraVolumes

向 flower pod 中挂载额外的卷。

[]

flower.labels

要添加到 flower 对象和 pod 的标签。

{}

flower.livenessProbe.failureThreshold

Flower 存活探针失败阈值。

10

flower.livenessProbe.initialDelaySeconds

Flower 存活探针初始延迟。

10

flower.livenessProbe.periodSeconds

Flower 存活探针周期(秒)。

5

flower.livenessProbe.timeoutSeconds

Flower 存活探针超时(秒)。

5

flower.networkPolicy.ingress.from

flower NetworkPolicy ingress 的对等方。

[]

flower.networkPolicy.ingress.ports

flower NetworkPolicy ingress 的端口(如果设置了 from)。

[{'port': '{{ .Values.ports.flowerUI }}'}]

示例

ports:
- port: 5565

flower.nodeSelector

为 Flower pod 选择特定节点。

{}

flower.password

用于访问 Flower 的密码。

~

flower.podAnnotations

要添加到 Flower pod 的注解。

{}

flower.priorityClassName

指定 Flower pod 的优先级。

~

flower.readinessProbe.failureThreshold

Flower 就绪探针失败阈值。

10

flower.readinessProbe.initialDelaySeconds

Flower 就绪探针初始延迟。

10

flower.readinessProbe.periodSeconds

Flower 就绪探针周期(秒)。

5

flower.readinessProbe.timeoutSeconds

Flower 就绪探针超时(秒)。

5

flower.resources

Flower pod 的资源。

{}

示例

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

flower.secretName

包含用户和密码对的 Secret。

~

flower.securityContext

flower pod 的安全上下文(已弃用,请改用 securityContexts)。如果未设置,将使用 securityContext 的值。

{}

示例

securityContext:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

flower.service.annotations

flower Service 的注解。

{}

flower.service.loadBalancerIP

Flower Service 的 loadBalancerIP。

~

flower.service.loadBalancerSourceRanges

Flower Service 的 loadBalancerSourceRanges

[]

示例

loadBalancerSourceRanges:
- 10.123.0.0/16

flower.service.ports

flower Service 的端口。

[{'name': 'flower-ui', 'port': '{{ .Values.ports.flowerUI }}'}]

示例

ports:
- name: flower-ui
  port: 8080
  targetPort: flower-ui

flower.service.type

Flower Service 类型。

ClusterIP

flower.serviceAccount.annotations

添加到 worker Kubernetes ServiceAccount 的注解。

{}

flower.serviceAccount.automountServiceAccountToken

指定是否将 ServiceAccount 的 API 凭证挂载到 Pod 上

True

flower.serviceAccount.create

指定是否应该创建 ServiceAccount。

True

flower.serviceAccount.name

要使用的 ServiceAccount 名称。如果未设置且 create 为 true,则使用 release 名称生成名称。

~

flower.startupProbe.failureThreshold

Flower 启动探针失败阈值。

6

flower.startupProbe.initialDelaySeconds

Flower 启动探针初始延迟(秒)。

0

flower.startupProbe.periodSeconds

Flower 启动探针周期(秒)。

10

flower.startupProbe.timeoutSeconds

Flower 启动探针超时(秒)。

20

flower.tolerations

为 Flower pod 指定容忍度。

[]

flower.topologySpreadConstraints

为 Flower pod 指定拓扑分散约束。

[]

flower.username

用于访问 Flower 的用户名。

~

Redis

参数

描述

默认值

data.brokerUrl

直接连接到 Redis broker 的 URL(当使用外部 Redis 实例时)(只能在安装期间设置,不能在升级期间设置)。

~

data.brokerUrlSecretName

Redis broker URL Secret。

~

redis.affinity

为 Redis pod 指定调度约束。

{}

redis.annotations

Redis 的注解。

{}

redis.emptyDirConfig

Redis empty dir 卷的配置。

~

redis.enabled

启用 chart 配置的 Redis(您也可以使用 data.brokerUrldata.brokerUrlSecretName 使用外部 Redis 实例)。

True

redis.nodeSelector

为 Redis pod 选择特定节点。

{}

redis.password

如果设置了密码,则创建包含该密码的 Secret;否则在安装时生成一个新密码(只能在安装期间设置,不能在升级期间设置)。

~

redis.passwordSecretName

Redis 密码 Secret。

~

redis.persistence.annotations

要添加到 redis 卷的注解。

{}

redis.persistence.enabled

启用持久卷。

True

redis.persistence.existingClaim

要使用的现有 PVC 名称。

~

redis.persistence.size

Redis StatefulSet 的卷大小。

1Gi

redis.persistence.storageClassName

如果使用自定义 StorageClass,在此处传递所有 StatefulSet 的名称引用(模板化)。

~

redis.podAnnotations

要添加到 redis pod 的注解。

{}

redis.priorityClassName

指定 redis pod 的优先级。

~

redis.resources

Redis pod 的资源。

{}

示例

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

redis.safeToEvict

此设置告诉 Kubernetes 在需要缩减节点时可以驱逐。

True

redis.securityContext

清理作业 pod 的安全上下文(已弃用,请改用 securityContexts)。如果未设置,将使用 securityContext 的值。

{}

示例

securityContext:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

redis.service.clusterIP

如果使用 ClusterIP 服务类型,可以指定自定义 IP 地址。

~

redis.service.nodePort

如果使用 NodePort 服务类型,可以指定自定义节点端口。

~

redis.service.type

Service 类型。

ClusterIP

redis.serviceAccount.annotations

添加到 worker Kubernetes ServiceAccount 的注解。

{}

redis.serviceAccount.automountServiceAccountToken

指定是否将 ServiceAccount 的 API 凭证挂载到 Pod 上

True

redis.serviceAccount.create

指定是否应该创建 ServiceAccount。

True

redis.serviceAccount.name

要使用的 ServiceAccount 名称。如果未设置且 create 为 true,则使用 release 名称生成名称。

~

redis.terminationGracePeriodSeconds

在 Kubernetes 发送 SIGTERM 后 Redis 退出的宽限期。

600

redis.tolerations

为 Redis pod 指定容忍度。

[]

redis.topologySpreadConstraints

为 Redis pod 指定拓扑分散约束。

[]

redis.uid

Redis 运行用户参数。

0

StatsD

参数

描述

默认值

statsd.affinity

为 StatsD pod 指定调度约束。

{}

statsd.annotations

要添加到 StatsD 部署的注解。

{}

statsd.args

运行 statsd-exporter 时使用的 Args(模板化)。

['--statsd.mapping-config=/etc/statsd-exporter/mappings.yml']

statsd.configMapAnnotations

要应用于 statsd configmap 的额外注解。

{}

statsd.enabled

启用 StatsD。

True

statsd.env

向 statsd 容器添加额外的环境变量。

[]

statsd.extraMappings

StatsD exporter 的额外映射。如果设置,将合并默认映射和额外映射,默认映射优先级更高。因此,如果您想更改某些默认映射,请使用 overrideMappings

[]

statsd.extraNetworkPolicies

根据需要添加额外的 NetworkPolicies。

[]

statsd.nodeSelector

为 StatsD pod 选择特定节点。

{}

statsd.overrideMappings

覆盖 StatsD exporter 的映射。如果设置,将忽略默认和 extraMappings 中的设置项。因此,如果您使用它,请确保所有映射项都包含在其中。

[]

statsd.podAnnotations

要添加到 StatsD pod 的注解。

{}

statsd.priorityClassName

指定 StatsD pod 的优先级。

~

statsd.resources

StatsD pod 的资源。

{}

示例

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

statsd.securityContext

StatsD pod 的安全上下文(已弃用,请改用 securityContexts)。

{}

示例

securityContext:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

statsd.service.extraAnnotations

StatsD Service 的额外注解。

{}

statsd.serviceAccount.annotations

要添加到 StatsD Kubernetes ServiceAccount 的注解。

{}

statsd.serviceAccount.automountServiceAccountToken

指定是否将 ServiceAccount 的 API 凭证挂载到 Pod 上

True

statsd.serviceAccount.create

指定是否应该创建 ServiceAccount。

True

statsd.serviceAccount.name

要使用的 ServiceAccount 名称。如果未设置且 create 为 true,则使用 release 名称生成名称。

~

statsd.terminationGracePeriodSeconds

在 Kubernetes 发送 SIGTERM 后 statsd 完成工作的宽限期。

30

statsd.tolerations

为 StatsD pod 指定容忍度。

[]

statsd.topologySpreadConstraints

为 StatsD pod 指定拓扑分散约束。

[]

statsd.uid

StatsD 运行用户参数。

65534

作业

参数

描述

默认值

cleanup.affinity

为清理 pod 指定调度约束。

{}

cleanup.args

运行清理 CronJob 时使用的 Args(模板化)。

['bash', '-c', 'exec airflow kubernetes cleanup-pods --namespace={{ .Release.Namespace }}']

cleanup.command

运行清理 CronJob 时使用的 Command(模板化)。

~

cleanup.enabled

启用清理。

False

cleanup.env

向清理作业添加额外的环境变量。

[]

cleanup.jobAnnotations

要添加到清理 CronJob 的注解。

{}

cleanup.labels

要添加到清理 pod 的标签。

{}

cleanup.nodeSelector

为清理 pod 选择特定节点。

{}

cleanup.podAnnotations

要添加到清理 pod 的注解。

{}

cleanup.priorityClassName

指定清理 pod 的优先级。

~

cleanup.resources

清理 pod 的资源。

{}

示例

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

cleanup.schedule

清理调度(模板化)。

*/15 * * * *

cleanup.securityContext

清理作业 pod 的安全上下文(已弃用,请改用 securityContexts)。如果未设置,将使用 securityContext 的值。

{}

示例

securityContext:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

cleanup.serviceAccount.annotations

要添加到清理 CronJob Kubernetes ServiceAccount 的注解。

{}

cleanup.serviceAccount.automountServiceAccountToken

指定是否将 ServiceAccount 的 API 凭证挂载到 Pod 上

True

cleanup.serviceAccount.create

指定是否应该创建 ServiceAccount。

True

cleanup.serviceAccount.name

要使用的 ServiceAccount 名称。如果未设置且 create 为 true,则使用 release 名称生成名称。

~

cleanup.tolerations

为清理 pod 指定容忍度。

[]

cleanup.topologySpreadConstraints

为清理 pod 指定拓扑分散约束。

[]

createUserJob.affinity

为创建用户作业 pod 指定调度约束。

{}

createUserJob.annotations

要添加到创建用户作业 pod 的注解。

{}

createUserJob.applyCustomEnv

指定是否要对此作业应用额外配置的环境变量。

True

createUserJob.args

运行创建用户作业时使用的 Args(模板化)。

['bash', '-c', 'exec \\\nairflow {{ semverCompare ">=2.0.0" .Values.airflowVersion | ternary "users create" "create_user" }} "$@"', '--', '-r', '{{ .Values.webserver.defaultUser.role }}', '-u', '{{ .Values.webserver.defaultUser.username }}', '-e', '{{ .Values.webserver.defaultUser.email }}', '-f', '{{ .Values.webserver.defaultUser.firstName }}', '-l', '{{ .Values.webserver.defaultUser.lastName }}', '-p', '{{ .Values.webserver.defaultUser.password }}']

createUserJob.command

运行创建用户作业时使用的 Command(模板化)。

~

createUserJob.env

向创建用户作业 pod 添加额外的环境变量。

[]

createUserJob.extraContainers

为创建用户作业 pod 启动额外的容器。

[]

createUserJob.extraInitContainers

向创建用户作业 pod 中添加额外的 init 容器(模板化)。

[]

createUserJob.extraVolumeMounts

向创建用户作业中挂载额外的卷。

[]

createUserJob.extraVolumes

向创建用户作业中挂载额外的卷。

[]

createUserJob.jobAnnotations

要添加到创建用户作业的注解。

{}

createUserJob.labels

要添加到创建用户作业对象和 pod 的标签。

{}

createUserJob.nodeSelector

为创建用户作业 pod 选择特定节点。

{}

createUserJob.priorityClassName

指定创建用户作业 pod 的优先级。

~

createUserJob.resources

创建用户作业 pod 的资源。

{}

示例

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

createUserJob.securityContext

创建用户作业 pod 的安全上下文(已弃用,请改用 securityContexts)。如果未设置,将使用 securityContext 的值。

{}

示例

securityContext:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

createUserJob.serviceAccount.annotations

要添加到创建用户作业 Kubernetes ServiceAccount 的注解。

{}

createUserJob.serviceAccount.automountServiceAccountToken

指定是否将 ServiceAccount 的 API 凭证挂载到 Pod 上

True

createUserJob.serviceAccount.create

指定是否应该创建 ServiceAccount。

True

createUserJob.serviceAccount.name

要使用的 ServiceAccount 名称。如果未设置且 create 为 true,则使用 release 名称生成名称。

~

createUserJob.tolerations

为创建用户作业 pod 指定容忍度。

[]

createUserJob.topologySpreadConstraints

为创建用户作业 pod 指定拓扑分散约束。

[]

createUserJob.ttlSecondsAfterFinished

限制作业对象执行完成后的生命周期(秒)。

300

createUserJob.useHelmHooks

指定是否使用默认的 Helm Hook 注解。

True

migrateDatabaseJob.affinity

为数据库迁移作业 pod 指定调度约束。

{}

migrateDatabaseJob.annotations

要添加到数据库迁移作业 pod 的注解。

{}

migrateDatabaseJob.applyCustomEnv

指定是否要对此作业应用额外配置的环境变量。

True

migrateDatabaseJob.args

运行数据库迁移作业时使用的 Args(模板化)。

['bash', '-c', 'exec \\\nairflow {{ semverCompare ">=2.7.0" .Values.airflowVersion | ternary "db migrate" (semverCompare ">=2.0.0" .Values.airflowVersion | ternary "db upgrade" "upgradedb") }}']

migrateDatabaseJob.command

运行数据库迁移作业时使用的 Command(模板化)。

~

migrateDatabaseJob.enabled

启用数据库迁移作业。

True

migrateDatabaseJob.env

向数据库迁移作业添加额外的环境变量。

[]

migrateDatabaseJob.extraContainers

为数据库迁移作业 pod 启动额外的容器。

[]

migrateDatabaseJob.extraInitContainers

向数据库迁移作业中添加额外的 init 容器(模板化)。

[]

migrateDatabaseJob.extraVolumeMounts

向数据库迁移作业中挂载额外的卷。

[]

migrateDatabaseJob.extraVolumes

向数据库迁移作业中挂载额外的卷。

[]

migrateDatabaseJob.jobAnnotations

要添加到数据库迁移作业的注解。

{}

migrateDatabaseJob.labels

要添加到数据库迁移作业对象和 pod 的标签。

{}

migrateDatabaseJob.nodeSelector

为数据库迁移作业 pod 选择特定节点。

{}

migrateDatabaseJob.priorityClassName

指定数据库迁移作业 pod 的优先级。

~

migrateDatabaseJob.resources

数据库迁移作业 pod 的资源。

{}

示例

resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

migrateDatabaseJob.securityContext

迁移数据库作业 Pod 的安全上下文(已弃用,请改用 securityContexts)。如果未设置,将使用 securityContext 中的值。

{}

示例

securityContext:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

migrateDatabaseJob.serviceAccount.annotations

添加到迁移数据库作业 Kubernetes ServiceAccount 的注解。

{}

migrateDatabaseJob.serviceAccount.automountServiceAccountToken

指定是否将 ServiceAccount 的 API 凭证挂载到 Pod 上

True

migrateDatabaseJob.serviceAccount.create

指定是否应该创建 ServiceAccount。

True

migrateDatabaseJob.serviceAccount.name

要使用的 ServiceAccount 名称。如果未设置且 create 为 true,则使用 release 名称生成名称。

~

migrateDatabaseJob.tolerations

指定用于迁移数据库作业 Pod 的容忍度。

[]

migrateDatabaseJob.topologySpreadConstraints

指定用于迁移数据库作业 Pod 的拓扑分布约束。

[]

migrateDatabaseJob.ttlSecondsAfterFinished

限制作业对象执行完成后的生命周期(秒)。

300

migrateDatabaseJob.useHelmHooks

指定是否使用默认的 Helm Hook 注解。

True

Kubernetes

参数

描述

默认值

affinity

指定用于所有 Pod 的调度约束。

{}

airflowConfigAnnotations

应用于主 Airflow ConfigMap 的额外注解。

{}

airflowPodAnnotations

应用于所有 Airflow Pod 的额外注解。

{}

apiServer.containerLifecycleHooks

用于 API Server 的容器生命周期钩子定义。如果未设置,将使用全局 containerLifecycleHooks 中的值。

{}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

apiServer.securityContexts.container

用于 API Server 的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

apiServer.securityContexts.pod

用于 API Server 的 Pod 安全上下文定义。

{}

示例

pod:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

apiServer.topologySpreadConstraints

指定用于 API Server Pod 的拓扑分布约束。

[]

apiServer.waitForMigrations.securityContexts.container

用于等待迁移的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

cleanup.containerLifecycleHooks

用于清理的容器生命周期钩子定义。如果未设置,将使用全局 containerLifecycleHooks 中的值。

{}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

cleanup.securityContexts.container

用于清理的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

cleanup.securityContexts.pod

用于清理的 Pod 安全上下文定义。

{}

示例

pod:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

containerLifecycleHooks

默认容器生命周期钩子定义。当未为特定容器定义 containerLifecycleHooks 时,将使用此参数中的值。

{}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

createUserJob.containerLifecycleHooks

用于创建用户作业的容器生命周期钩子定义。如果未设置,将使用全局 containerLifecycleHooks 中的值。

{}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

createUserJob.securityContexts.container

用于创建用户作业的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

createUserJob.securityContexts.pod

用于创建用户作业的 Pod 安全上下文定义。

{}

示例

pod:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

dagProcessor.containerLifecycleHooks

用于 DAG 处理器的容器生命周期钩子定义。如果未设置,将使用全局 containerLifecycleHooks 中的值。

{}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

dagProcessor.securityContexts.container

用于 DAG 处理器的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

dagProcessor.securityContexts.pod

用于 DAG 处理器的 Pod 安全上下文定义。

{}

示例

pod:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

dagProcessor.waitForMigrations.securityContexts.container

用于等待迁移的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

dags.gitSync.containerLifecycleHooks

用于 git 同步 Sidecar 的容器生命周期钩子定义。如果未设置,将使用全局 containerLifecycleHooks 中的值。

{}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

dags.gitSync.securityContexts.container

用于 git 同步 Sidecar 的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

extraConfigMaps

将由 chart 管理的额外 ConfigMap。

{}

示例

extraConfigMaps:
  '{{ .Release.Name }}-airflow-variables':
    data: |-
      AIRFLOW_VAR_HELLO_MESSAGE: 'Hi!'
      AIRFLOW_VAR_KUBERNETES_NAMESPACE: '{{ .Release.Namespace }}'

extraSecrets

将由 chart 管理的额外 secret。

{}

示例

extraSecrets:
  '{{ .Release.Name }}-airflow-connections':
    data: |-
      AIRFLOW_CONN_GCP: 'base64_encoded_gcp_conn_string'
      AIRFLOW_CONN_AWS: 'base64_encoded_aws_conn_string'
    stringData: 'AIRFLOW_CONN_OTHER: ''other_conn'''

flower.containerLifecycleHooks

用于网络策略的容器生命周期钩子定义。如果未设置,将使用全局 containerLifecycleHooks 中的值。

{}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

flower.securityContexts.container

用于网络策略的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

flower.securityContexts.pod

用于网络策略的 Pod 安全上下文定义。

{}

示例

pod:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

labels

为此 chart 中定义的所有对象和 Pod 添加通用标签。

{}

limits

定义用于命名空间中的 Pod 和容器的默认/最大/最小值。

[]

migrateDatabaseJob.containerLifecycleHooks

用于迁移数据库作业的容器生命周期钩子定义。如果未设置,将使用全局 containerLifecycleHooks 中的值。

{}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

migrateDatabaseJob.securityContexts.container

用于迁移数据库作业的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

migrateDatabaseJob.securityContexts.pod

用于迁移数据库作业的 Pod 安全上下文定义。

{}

示例

pod:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

networkPolicies.enabled

启用网络策略。

False

nodeSelector

为所有 Pod 选择特定节点。

{}

pgbouncer.containerLifecycleHooks

用于 PgBouncer 的容器生命周期钩子定义。如果未设置,将使用全局 containerLifecycleHooks 中的值。

{'preStop': {'exec': {'command': ['/bin/sh', '-c', 'killall -INT pgbouncer && sleep 120']}}}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

pgbouncer.metricsExporterSidecar.containerLifecycleHooks

用于指标导出器 Sidecar 的容器生命周期钩子定义。如果未设置,将使用全局 containerLifecycleHooks 中的值。

{}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

pgbouncer.metricsExporterSidecar.securityContexts.container

用于指标导出器 Sidecar 的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

pgbouncer.securityContexts.container

用于 PgBouncer 的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

pgbouncer.securityContexts.pod

用于 PgBouncer 的 Pod 安全上下文定义。

{}

示例

pod:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 65534

priorityClasses

由 helm chart 创建的优先级类

[]

示例

priorityClasses:
- name: class1
  preemptionPolicy: PreemptLowerPriority
  value: 10000
priorityClasses:
- name: class2
  preemptionPolicy: Never
  value: 100000

quotas

为命名空间定义任何资源配额。

{}

rbac.create

指定是否应创建 RBAC 资源。

True

rbac.createSCCRoleBinding

指定是否应创建 SCC RoleBinding 资源(参考 生产指南)。

False

redis.containerLifecycleHooks

用于 redis 的容器生命周期钩子定义。如果未设置,将使用全局 containerLifecycleHooks 中的值。

{}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

redis.securityContexts.container

用于 redis 的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

redis.securityContexts.pod

用于 redis 的 Pod 安全上下文定义。

{}

示例

pod:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 999

registry.connection

连接到私有仓库的凭据,这些凭据将被 Base64 编码并存储在一个 secret 中(将传递给 imagePullSecrets)。

{}

示例

connection:
  email: '...'
  host: '...'
  pass: '...'
  user: '...'

registry.connection.email

电子邮件地址

""

registry.connection.host

仓库服务器 URL(例如,DockerHub 使用 https://index.docker.io/v1/

""

registry.connection.pass

密码

""

registry.connection.user

用户名

""

registry.secretName

包含用于连接私有仓库的 Base64 编码凭据的 Kubernetes secret 名称(将传递给 imagePullSecrets)。

~

scheduler.containerLifecycleHooks

用于调度器的容器生命周期钩子定义。如果未设置,将使用全局 containerLifecycleHooks 中的值。

{}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

scheduler.securityContexts.container

用于调度器的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

scheduler.securityContexts.pod

用于调度器的 Pod 安全上下文定义。

{}

示例

pod:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

scheduler.waitForMigrations.securityContexts.container

用于等待迁移的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

securityContext

默认 Pod 安全上下文定义(已弃用,请改用 securityContexts)。当未为特定 Pod 定义 securityContext 时,将使用此参数中的值

{}

示例

securityContext:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

securityContexts.container

默认容器安全上下文定义。当未为特定容器定义 securityContexts 时,将使用此参数中的值

{}

示例

container:
  allowPrivilegeEscalation: false

securityContexts.pod

默认 Pod 安全上下文定义。当未为特定 Pod 定义 securityContexts 时,将使用此参数中的值。

{}

示例

pod:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

statsd.containerLifecycleHooks

用于 statsd 的容器生命周期钩子定义。如果未设置,将使用全局 containerLifecycleHooks 中的值。

{}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

statsd.securityContexts.container

用于 statsd 的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

statsd.securityContexts.pod

用于 statsd 的 Pod 安全上下文定义。

{}

示例

pod:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

tolerations

指定用于所有 Pod 的容忍度。

[]

topologySpreadConstraints

指定用于所有 Pod 的拓扑分布约束。

[]

triggerer.containerLifecycleHooks

用于 triggerer 的容器生命周期钩子定义。如果未设置,将使用全局 containerLifecycleHooks 中的值。

{}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

triggerer.securityContexts.container

用于 triggerer 的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

triggerer.securityContexts.pod

用于 triggerer 的 Pod 安全上下文定义。

{}

示例

pod:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

triggerer.waitForMigrations.securityContexts.container

用于等待迁移的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

webserver.containerLifecycleHooks

用于 Webserver 的容器生命周期钩子定义。如果未设置,将使用全局 containerLifecycleHooks 中的值。

{}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

webserver.securityContexts.container

用于 Webserver 的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

webserver.securityContexts.pod

用于 Webserver 的 Pod 安全上下文定义。

{}

示例

pod:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

webserver.topologySpreadConstraints

指定用于 Webserver Pod 的拓扑分布约束。

[]

webserver.waitForMigrations.securityContexts.container

用于等待迁移的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

workers.containerLifecycleHooks

用于 Worker 的容器生命周期钩子定义。如果未设置,将使用全局 containerLifecycleHooks 中的值。

{}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

workers.kerberosInitContainer.containerLifecycleHooks

用于 kerberos init 容器的容器生命周期钩子定义。如果未设置,将使用全局 containerLifecycleHooks 中的值。

{}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

workers.kerberosInitContainer.securityContexts.container

用于 kerberos init 容器的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

workers.kerberosSidecar.containerLifecycleHooks

用于 kerberos Sidecar 的容器生命周期钩子定义。如果未设置,将使用全局 containerLifecycleHooks 中的值。

{}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

workers.kerberosSidecar.securityContexts.container

用于 kerberos Sidecar 的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

workers.persistence.containerLifecycleHooks

用于持久化的容器生命周期钩子定义。如果未设置,将使用全局 containerLifecycleHooks 中的值。

{}

示例

containerLifecycleHooks:
  postStart:
    exec:
      command:
      - /bin/sh
      - -c
      - echo postStart handler > /usr/share/message
  preStop:
    exec:
      command:
      - /bin/sh
      - -c
      - echo preStop handler > /usr/share/message

workers.persistence.securityContexts.container

用于持久化的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

workers.securityContexts.container

用于 Worker 的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

workers.securityContexts.pod

用于 Worker 的 Pod 安全上下文定义。

{}

示例

pod:
  fsGroup: 0
  runAsGroup: 0
  runAsUser: 50000

workers.waitForMigrations.securityContexts.container

用于等待迁移的容器安全上下文定义。

{}

示例

container:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL

Ingress

参数

描述

默认值

ingress.enabled

启用所有 ingress 资源(已弃用 - 请使用 ingress.web.enabled 和 ingress.flower.enabled)。

~

ingress.flower.annotations

用于 flower Ingress 的注解。

{}

ingress.flower.enabled

启用 flower ingress 资源。

False

ingress.flower.host

flower Ingress 的主机名(已弃用 - 重命名为 ingress.flower.hosts)。

""

ingress.flower.hosts

用于 flower Ingress 的主机名或 hosts 配置。

[]

ingress.flower.ingressClassName

用于 flower Ingress 的 Ingress Class。

""

ingress.flower.path

用于 flower Ingress 的路径。

/

ingress.flower.pathType

用于 flower Ingress 的 pathType(Kubernetes 1.19 及以上版本必需)。

ImplementationSpecific

ingress.flower.tls.enabled

为 flower Ingress 启用 TLS 终止。

False

ingress.flower.tls.secretName

包含 TLS 私钥和证书的预创建 Secret 的名称。

""

ingress.pgbouncer.annotations

用于 PgBouncer Ingress 的注解。

{}

ingress.pgbouncer.enabled

启用 PgBouncer ingress 资源。

False

ingress.pgbouncer.host

用于 PgBouncer Ingress 的主机名(已弃用 - 重命名为 ingress.pgbouncer.hosts)。

""

ingress.pgbouncer.hosts

用于 PgBouncer Ingress 的主机名或 hosts 配置。

[]

ingress.pgbouncer.ingressClassName

用于 PgBouncer Ingress 的 Ingress Class。

""

ingress.pgbouncer.path

用于 PgBouncer Ingress 的路径。

/metrics

ingress.pgbouncer.pathType

用于 PgBouncer Ingress 的 pathType(Kubernetes 1.19 及以上版本必需)。

ImplementationSpecific

ingress.statsd.annotations

用于 statsd Ingress 的注解。

{}

ingress.statsd.enabled

启用 statsd ingress 资源。

False

ingress.statsd.host

用于 statsd Ingress 的主机名(已弃用 - 重命名为 ingress.statsd.hosts)。

""

ingress.statsd.hosts

用于 statsd Ingress 的主机名或 hosts 配置。

[]

ingress.statsd.ingressClassName

用于 statsd Ingress 的 Ingress Class。

""

ingress.statsd.path

用于 statsd Ingress 的路径。

/metrics

ingress.statsd.pathType

用于 statsd Ingress 的 pathType(Kubernetes 1.19 及以上版本必需)。

ImplementationSpecific

ingress.web.annotations

用于 web Ingress 的注解。

{}

ingress.web.enabled

启用 web ingress 资源。

False

ingress.web.host

用于 web Ingress 的主机名(已弃用 - 重命名为 ingress.web.hosts)。

""

ingress.web.hosts

用于 web Ingress 的主机名或 hosts 配置。

[]

ingress.web.ingressClassName

用于 web Ingress 的 Ingress Class。

""

ingress.web.path

用于 web Ingress 的路径。

/

ingress.web.pathType

用于 web Ingress 的 pathType(Kubernetes 1.19 及以上版本必需)。

ImplementationSpecific

ingress.web.precedingPaths

在默认路径之前添加到 web Ingress 的 HTTP 路径。

[]

ingress.web.succeedingPaths

在默认路径之后添加到 web Ingress 的 HTTP 路径。

[]

ingress.web.tls.enabled

为 web Ingress 启用 TLS 终止。

False

ingress.web.tls.secretName

包含 TLS 私钥和证书的预创建 Secret 的名称。

""

Kerberos

参数

描述

默认值

kerberos.ccacheFileName

kerberos 凭据缓存文件的名称。

cache

kerberos.ccacheMountPath

挂载用于 kerberos 凭据缓存的共享卷的路径。

/var/kerberos-ccache

kerberos.config

krb5.conf 的内容。

参见 values.yaml

kerberos.configPath

挂载 krb5.conf kerberos 配置文件的路径。

/etc/krb5.conf

kerberos.enabled

启用 kerberos。

False

kerberos.keytabBase64Content

Kerberos keytab 的 base64 编码内容。

~

kerberos.keytabPath

在 kerberos Sidecar 中挂载用于刷新凭据的 keytab 的路径。

/etc/airflow.keytab

kerberos.principal

在刷新 kerberos 凭据时要使用的 principal。

airflow@FOO.COM

kerberos.reinitFrequency

airflow kerberos 重新初始化凭据缓存的频率(分钟)。

3600

使用 --set key=value[,key=value] 参数指定每个参数到 helm install。例如,

helm install my-release apache-airflow/airflow \
  --set executor=CeleryExecutor \
  --set enablePodLaunching=false .

此条目有帮助吗?