配置参考

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

注意

从 Airflow 2.7.0 开始,嵌入在提供程序包中的配置开始被使用。以前,配置是在 Airflow 核心包中描述和配置的 - 因此,如果您使用的是 2.7.0 以下的 Airflow,请查看 Airflow 文档以获取 Airflow 核心版本中可用的配置选项列表。

注意

有关更多信息,请参阅 设置配置选项

[kubernetes_executor]

api_client_retry_configuration

用于覆盖 kubernetes API 客户端中使用的默认 urllib3 重试的关键字参数

类型

字符串

默认值

''

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__API_CLIENT_RETRY_CONFIGURATION

示例

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

cluster_context

当使用 in_cluster=False 运行时,更改 Kubernetes 客户端的默认 cluster_context 或 config_file 选项。将这些留空以使用默认行为,如 kubectl 所示。

类型

字符串

默认值

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__CLUSTER_CONTEXT

config_file

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

类型

字符串

默认值

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__CONFIG_FILE

delete_option_kwargs

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

类型

字符串

默认值

''

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__DELETE_OPTION_KWARGS

示例

{"grace_period_seconds": 10}

delete_worker_pods

如果为 True,则所有工作 pod 将在终止时被删除

类型

字符串

默认值

True

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__DELETE_WORKER_PODS

delete_worker_pods_on_failure

如果为 False(并且 delete_worker_pods 为 True),则失败的工作 pod 将不会被删除,以便用户可以对其进行调查。这仅阻止删除工作器本身失败的工作 pod,而不是运行失败的任务失败时。

类型

字符串

默认值

False

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__DELETE_WORKER_PODS_ON_FAILURE

enable_tcp_keepalive

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

类型

布尔值

默认值

True

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__ENABLE_TCP_KEEPALIVE

in_cluster

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

类型

字符串

默认值

True

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__IN_CLUSTER

kube_client_request_args

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

类型

字符串

默认值

''

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__KUBE_CLIENT_REQUEST_ARGS

logs_task_metadata

用于控制添加到 kubernetes 执行器日志中的信息的标志,以便更好地进行跟踪

类型

布尔值

默认值

False

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__LOGS_TASK_METADATA

multi_namespace_mode

允许用户在多个命名空间中启动 pod。将需要为调度程序创建集群角色,或使用 multi_namespace_mode_namespace_list 配置。

类型

布尔值

默认值

False

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__MULTI_NAMESPACE_MODE

multi_namespace_mode_namespace_list

如果 multi_namespace_mode 为 True,而调度程序没有集群角色,则提供调度程序将在其中调度作业的命名空间列表。调度程序需要在这些命名空间中具有必要的权限。

类型

字符串

默认值

''

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__MULTI_NAMESPACE_MODE_NAMESPACE_LIST

namespace

应该在其中创建 airflow 工作器的 Kubernetes 命名空间。默认为 default

类型

字符串

默认值

default

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__NAMESPACE

pod_template_file

构成 KubernetesExecutor 工作器基础的 YAML pod 文件的路径。

另请参阅

pod_template_file

类型

字符串

默认值

''

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__POD_TEMPLATE_FILE

ssl_ca_cert

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

类型

字符串

默认值

''

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__SSL_CA_CERT

task_publish_max_retries

当由于 Kube API 超出配额错误而导致任务排队到 kubernetes 调度程序失败时,在放弃并将任务标记为失败之前,最大重试次数。-1 表示无限次。

类型

整数

默认值

0

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__TASK_PUBLISH_MAX_RETRIES

tcp_keep_cnt

启用 enable_tcp_keepalive 选项后,如果 Kubernetes API 没有响应 keepalive 探测,TCP 将在连接被认为断开之前重新传输探测 tcp_keep_cnt 次

类型

整数

默认值

6

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__TCP_KEEP_CNT

tcp_keep_idle

启用 enable_tcp_keepalive 选项后,TCP 将探测空闲 tcp_keep_idle 秒的连接。

类型

整数

默认值

120

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__TCP_KEEP_IDLE

tcp_keep_intvl

启用 enable_tcp_keepalive 选项后,如果 Kubernetes API 没有响应 keepalive 探测,TCP 将在 tcp_keep_intvl 秒后重新传输探测。

类型

整数

默认值

30

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__TCP_KEEP_INTVL

verify_ssl

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

类型

布尔值

默认值

True

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__VERIFY_SSL

worker_container_repository

要运行的工作器的 Kubernetes 镜像存储库

类型

字符串

默认值

''

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__WORKER_CONTAINER_REPOSITORY

worker_container_tag

要运行的工作器的 Kubernetes 镜像标签

类型

字符串

默认值

''

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__WORKER_CONTAINER_TAG

worker_pod_pending_fatal_container_state_reasons

8.1.0 版中的新功能。

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

类型

字符串

默认值

CreateContainerConfigError,ErrImagePull,CreateContainerError,ImageInspectError, InvalidImageName

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__WORKER_POD_PENDING_FATAL_CONTAINER_STATE_REASONS

worker_pods_creation_batch_size

每个调度程序循环创建的 Kubernetes 工作 pod 调用次数。请注意,当前默认值“1”在每次心跳时只会启动一个 pod。强烈建议用户增加此数字以匹配其 kubernetes 集群的容忍度,以获得更好的性能。

类型

字符串

默认值

1

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__WORKER_PODS_CREATION_BATCH_SIZE

worker_pods_queued_check_interval

每隔多少秒检查一次任务实例是否卡在“排队”状态而没有 pod

类型

整数

默认值

60

环境变量

AIRFLOW__KUBERNETES_EXECUTOR__WORKER_PODS_QUEUED_CHECK_INTERVAL

worker_pods_pending_timeout(已弃用)

自 2.6.0 版起已弃用: 该选项已移至 scheduler.task_queued_timeout

worker_pods_pending_timeout_check_interval(已弃用)

自 2.6.0 版起已弃用: 该选项已移至 scheduler.task_queued_timeout_check_interval

[本地 Kubernetes 执行器]

本节仅适用于在上述 [core] 部分中使用 LocalKubernetesExecutor 的情况。

kubernetes_queue

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

类型

字符串

默认值

kubernetes

环境变量

AIRFLOW__LOCAL_KUBERNETES_EXECUTOR__KUBERNETES_QUEUE

此条目对您有帮助吗?