組態參考

此頁面包含 apache-airflow-providers-cncf-kubernetes 提供者的所有可用 Airflow 組態列表,這些組態可以在 airflow.cfg 檔案中設定或使用環境變數設定。

注意

從 Airflow 2.7.0 開始,提供者套件中嵌入的組態開始被使用。 之前,組態是在 Airflow 核心套件中描述和設定的 - 因此,如果您使用的 Airflow 版本低於 2.7.0,請查看 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 執行時,將預設 cluster_context 或 config_file 選項變更為 Kubernetes 用戶端。 留白以使用預設行為,例如 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,所有 worker pod 將在終止時刪除

類型

字串

預設

True

環境變數

AIRFLOW__KUBERNETES_EXECUTOR__DELETE_WORKER_PODS

delete_worker_pods_on_failure

如果為 False(且 delete_worker_pods 為 True),則不會刪除失敗的 worker pod,以便使用者可以調查它們。 這僅阻止移除 worker 本身失敗的 worker pod,而不是它執行的任務失敗時的 worker 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

命名空間

應該在其中建立 Airflow Worker 的 Kubernetes 命名空間。 預設為 default

類型

字串

預設

default

環境變數

AIRFLOW__KUBERNETES_EXECUTOR__NAMESPACE

pod_template_file

構成 KubernetesExecutor Worker 基礎的 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

將任務排隊到 Kubernetes 排程器的最大重試次數,當由於 Kube API 超出配額錯誤而失敗時,在放棄並將任務標記為失敗之前。 -1 表示無限次數。

類型

整數

預設

0

環境變數

AIRFLOW__KUBERNETES_EXECUTOR__TASK_PUBLISH_MAX_RETRIES

tcp_keep_cnt

當啟用 enable_tcp_keepalive 選項時,如果 Kubernetes API 沒有回應 keepalive 探測,則 TCP 會重新傳輸探測 tcp_keep_cnt number 次數,然後才將連線視為已中斷。

類型

整數

預設

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

Worker 執行的 Kubernetes 映像檔儲存庫

類型

字串

預設

''

環境變數

AIRFLOW__KUBERNETES_EXECUTOR__WORKER_CONTAINER_REPOSITORY

worker_container_tag

Worker 執行的 Kubernetes 映像檔標籤

類型

字串

預設

''

環境變數

AIRFLOW__KUBERNETES_EXECUTOR__WORKER_CONTAINER_TAG

worker_pod_pending_fatal_container_state_reasons

8.1.0 版本新增。

如果 worker pod 由於嚴重容器狀態原因而處於待定狀態,則在 delete_worker_pods 為 True 且 delete_worker_pods_on_failure 為 True 的情況下,使任務失敗並刪除 worker pod。

類型

字串

預設

CreateContainerConfigError,ErrImagePull,CreateContainerError,ImageInspectError, InvalidImageName

環境變數

AIRFLOW__KUBERNETES_EXECUTOR__WORKER_POD_PENDING_FATAL_CONTAINER_STATE_REASONS

worker_pods_creation_batch_size

每個排程器迴圈的 Kubernetes Worker 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

[local_kubernetes_executor]

本節僅適用於您在上面的 [core] 區段中使用 LocalKubernetesExecutor 的情況

kubernetes_queue

定義在使用 LocalKubernetesExecutor 時何時將任務傳送到 KubernetesExecutor。 當任務的佇列是 kubernetes_queue 的值(預設為 kubernetes)時,任務會透過 KubernetesExecutor 執行,否則透過 LocalExecutor 執行

類型

字串

預設

kubernetes

環境變數

AIRFLOW__LOCAL_KUBERNETES_EXECUTOR__KUBERNETES_QUEUE

這個條目有幫助嗎?