組態參考¶
此頁面包含 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 檔案路徑。
另請參閱
- 類型
字串
- 預設
''
- 環境變數
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