airflow.providers.cncf.kubernetes.triggers.pod
¶
模組內容¶
類別¶
可能的容器狀態。 |
|
KubernetesPodTrigger 在觸發器 worker 上運行以檢查 Pod 的狀態。 |
- class airflow.providers.cncf.kubernetes.triggers.pod.ContainerState[source]¶
-
可能的容器狀態。
參見 https://kubernetes.dev.org.tw/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase。
- class airflow.providers.cncf.kubernetes.triggers.pod.KubernetesPodTrigger(pod_name, pod_namespace, trigger_start_time, base_container_name, kubernetes_conn_id=None, poll_interval=2, cluster_context=None, config_dict=None, in_cluster=None, get_logs=True, startup_timeout=120, startup_check_interval=5, on_finish_action='delete_pod', last_log_time=None, logging_interval=None)[source]¶
繼承自:
airflow.triggers.base.BaseTrigger
KubernetesPodTrigger 在觸發器 worker 上運行以檢查 Pod 的狀態。
- 參數
pod_name (str) – Pod 的名稱。
pod_namespace (str) – Pod 的命名空間。
kubernetes_conn_id (str | None) – Kubernetes 集群的 kubernetes 連線 ID。
cluster_context (str | None) – 指向 Kubernetes 集群的 Context。
config_dict (dict | None) – kubeconfig 檔案內容,以 dict 格式呈現。
poll_interval (float) – 輪詢週期,以秒為單位,用於檢查狀態。
trigger_start_time (datetime.datetime) – 觸發器啟動時間,Datetime 格式。
in_cluster (bool | None) – 使用 in-cluster 設定執行 Kubernetes client。
get_logs (bool) – 取得容器的 stdout 作為任務日誌。
startup_timeout (int) – 啟動 Pod 的逾時時間,以秒為單位。
startup_check_interval (int) – 檢查 Pod 是否已啟動的間隔時間,以秒為單位。
on_finish_action (str) – 當 Pod 達到最終狀態或執行中斷時要執行的動作。如果為 “delete_pod”,則無論其狀態如何都將刪除 Pod;如果為 “delete_succeeded_pod”,則僅刪除成功的 Pod。您可以設定為 “keep_pod” 以保留 Pod。
logging_interval (int | None) – 在將其返回給 operator 以列印最新日誌之前等待的秒數。如果為 None,將等待直到容器完成。
last_log_time (pendulum.DateTime | None) – 從何處恢復日誌