配置参考

此页面包含 apache-airflow-providers-cncf-kubernetes 提供的所有可用 Airflow 配置列表,这些配置可以在 airflow.cfg 文件中或使用环境变量进行设置。

注意

Provider 中嵌入的配置自 Airflow 2.7.0 版本开始使用。之前,配置是在 Airflow 核心包中描述和配置的——因此,如果您使用的是低于 2.7.0 的 Airflow 版本,请查阅 Airflow 文档,了解 Airflow 核心包中提供的可用配置选项列表。

注意

更多信息请参见 设置配置选项

[kubernetes_executor]

api_client_retry_configuration

Kwargs,用于覆盖 kubernetes API 客户端中使用的默认 urllib3 Retry

类型:

string

默认值:

''

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__API_CLIENT_RETRY_CONFIGURATION

示例:

{ "total": 3, "backoff_factor": 0.5 }

cluster_context

in_cluster=False 时,更改 Kubernetes 客户端的默认 cluster_contextconfig_file 选项。留空可使用 kubectl 的默认行为。

类型:

string

默认值:

None

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__CLUSTER_CONTEXT

config_file

in_cluster 设置为 False 时使用的 kubernetes 配置文件路径

类型:

string

默认值:

None

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__CONFIG_FILE

delete_option_kwargs

使用 Kubernetes Executor 时,传递给 kubernetes 客户端 core_v1_api 方法 delete_namespaced_pod 的可选关键字参数。这应该是一个对象,可以包含此处 https://github.com/kubernetes-client/python/blob/41f11a09995efcd0142e25946adc7591431bfb2f/kubernetes/client/models/v1_delete_options.py#L19 定义的 v1DeleteOptions 类中列出的任何选项。

类型:

string

默认值:

''

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__DELETE_OPTION_KWARGS

示例:

{"grace_period_seconds": 10}

delete_worker_pods

如果为 True,则所有 worker pod 在终止时都会被删除

类型:

string

默认值:

True

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__DELETE_WORKER_PODS

delete_worker_pods_on_failure

如果为 False(且 delete_worker_pods 为 True),失败的 worker pod 将不会被删除,以便用户可以调查它们。这仅阻止删除 worker 本身失败的 pod,而不是其运行的任务失败的 pod。

类型:

string

默认值:

False

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__DELETE_WORKER_PODS_ON_FAILURE

enable_tcp_keepalive

启用 TCP keepalive 机制。这可以防止空闲连接在云负载均衡器或防火墙等服务上超时时,Kubernetes API 请求无限期挂起。

类型:

boolean

默认值:

True

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__ENABLE_TCP_KEEPALIVE

in_cluster

使用 kubernetes 提供给 pod 的 service account 连接到 kubernetes 集群。它适用于期望在运行于 kubernetes 上的 pod 内运行的客户端。如果在非 kubernetes 环境中的进程中调用,它将引发异常。

类型:

string

默认值:

True

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__IN_CLUSTER

kube_client_request_args

从 Kubernetes Executor 调用 kubernetes 客户端 core_v1_api 方法时传递的关键字参数,以单行格式化的 JSON 字典字符串提供。所有 core_v1_apis 支持的参数列表类似,因此所有 api 使用一个 config 变量。参见:https://raw.githubusercontent.com/kubernetes-client/python/41f11a09995efcd0142e25946adc7591431bfb2f/kubernetes/client/api/core_v1_api.py

类型:

string

默认值:

''

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__KUBE_CLIENT_REQUEST_ARGS

logs_task_metadata

用于控制添加到 kubernetes executor 日志中的信息以便更好地追踪的标志

类型:

boolean

默认值:

False

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__LOGS_TASK_METADATA

multi_namespace_mode

允许用户在多个命名空间中启动 pod。这将需要为 scheduler 创建 cluster-role,或者使用 multi_namespace_mode_namespace_list 配置。

类型:

boolean

默认值:

False

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__MULTI_NAMESPACE_MODE

multi_namespace_mode_namespace_list

如果在 multi_namespace_mode 为 True 且 scheduler 没有 cluster-role 时,提供 scheduler 将调度作业的命名空间列表。Scheduler 需要在这些命名空间中拥有必要的权限。

类型:

string

默认值:

''

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__MULTI_NAMESPACE_MODE_NAMESPACE_LIST

namespace

创建 airflow worker 的 Kubernetes 命名空间。默认为 default

类型:

string

默认值:

default

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__NAMESPACE

pod_template_file

作为 KubernetesExecutor worker 基础的 YAML pod 文件路径。

另请参阅

pod_template_file

类型:

string

默认值:

''

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__POD_TEMPLATE_FILE

ssl_ca_cert

CA 证书的路径,Kubernetes 客户端将使用它来验证服务器的 SSL 证书。

类型:

string

默认值:

''

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__SSL_CA_CERT

task_publish_max_retries

由于 Kube API 超出配额错误而导致任务排队到 kubernetes scheduler 失败时的最大重试次数,直到放弃并将任务标记为失败。-1 表示无限次。

类型:

integer

默认值:

0

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__TASK_PUBLISH_MAX_RETRIES

tcp_keep_cnt

当启用 enable_tcp_keepalive 选项时,如果 Kubernetes API 未响应 keepalive 探测,TCP 将重传探测 tcp_keep_cnt 次,然后连接才被视为断开。

类型:

integer

默认值:

6

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__TCP_KEEP_CNT

tcp_keep_idle

当启用 enable_tcp_keepalive 选项时,如果连接空闲了 tcp_keep_idle 秒,TCP 将探测连接。

类型:

integer

默认值:

120

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__TCP_KEEP_IDLE

tcp_keep_intvl

当启用 enable_tcp_keepalive 选项时,如果 Kubernetes API 未响应 keepalive 探测,TCP 将在 tcp_keep_intvl 秒后重传探测。

类型:

integer

默认值:

30

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__TCP_KEEP_INTVL

verify_ssl

将其设置为 false 以跳过验证 Kubernetes python 客户端的 SSL 证书。

类型:

boolean

默认值:

True

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__VERIFY_SSL

worker_container_repository

Worker 运行的 Kubernetes 镜像仓库

类型:

string

默认值:

''

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__WORKER_CONTAINER_REPOSITORY

worker_container_tag

Worker 运行的 Kubernetes 镜像标签

类型:

string

默认值:

''

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__WORKER_CONTAINER_TAG

worker_pod_pending_fatal_container_state_reasons

新增于 8.1.0 版本。

如果 worker pod 由于致命的容器状态原因而处于 pending 状态,则使任务失败,并在 delete_worker_pods 为 True 且 delete_worker_pods_on_failure 为 True 时删除 worker pod。

类型:

string

默认值:

CreateContainerConfigError,ErrImagePull,CreateContainerError,ImageInspectError, InvalidImageName

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__WORKER_POD_PENDING_FATAL_CONTAINER_STATE_REASONS

worker_pods_creation_batch_size

每个 scheduler 循环创建 Kubernetes Worker Pod 的调用次数。请注意,当前默认值“1”意味着每个心跳仅启动一个 pod。强烈建议用户增加此数字以匹配其 kubernetes 集群的容忍度,从而获得更好的性能。

类型:

string

默认值:

1

环境变量:

AIRFLOW__KUBERNETES_EXECUTOR__WORKER_PODS_CREATION_BATCH_SIZE

[local_kubernetes_executor]

本节仅适用于您在上面的 [core] 部分使用了 LocalKubernetesExecutor

kubernetes_queue

定义使用 LocalKubernetesExecutor 时何时将任务发送到 KubernetesExecutor。当任务的队列是 kubernetes_queue 的值(默认为 kubernetes)时,任务通过 KubernetesExecutor 执行;否则通过 LocalExecutor 执行。

类型:

string

默认值:

kubernetes

环境变量:

AIRFLOW__LOCAL_KUBERNETES_EXECUTOR__KUBERNETES_QUEUE

此条目是否有帮助?