引數參考

下表列出了 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 .

此條目有幫助嗎?