配置参考¶
本页面包含 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 Retry 的 Kwargs
- 类型
字符串
- 默认
''
- 环境变量
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 Executor 日志中的信息以便更好地进行可追溯性的标志
- 类型
布尔值
- 默认
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¶
YAML pod 文件的路径,该文件构成了 KubernetesExecutor 工作程序的基础。
另请参阅
- 类型
字符串
- 默认
''
- 环境变量
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 的“queued”状态中卡住的任务实例的频率(以秒为单位)
- 类型
整数
- 默认
60
- 环境变量
AIRFLOW__KUBERNETES_EXECUTOR__WORKER_PODS_QUEUED_CHECK_INTERVAL
[local_kubernetes_executor]¶
仅当您在上面的 [core]
部分中使用 LocalKubernetesExecutor
时,此部分才适用
kubernetes_queue¶
当使用 LocalKubernetesExecutor
时,定义何时将任务发送到 KubernetesExecutor
。当任务的队列是 kubernetes_queue
的值(默认为 kubernetes
)时,该任务通过 KubernetesExecutor
执行,否则通过 LocalExecutor
执行
- 类型
字符串
- 默认
kubernetes
- 环境变量
AIRFLOW__LOCAL_KUBERNETES_EXECUTOR__KUBERNETES_QUEUE