配置参考¶
此页面包含 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 文件的路径。
另请参阅
- 类型
字符串
- 默认值
''
- 环境变量
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