apache-airflow-providers-cncf-kubernetes

更新日誌

10.4.3

Bug 修復

  • 移除 CLI 命令中的 'subdir' 引數 (#49317)

雜項

  • 使用 contextlib.suppress(exception) 替代 try-except-pass 並新增 SIM105 ruff 規則 (#49251)

  • 移除多餘的 else (#49199)

  • 移除 k8s provider 中未使用的 db 方法 (#49186)

10.4.2

雜項

  • airflow.sdk 匯入 '@task' (#48896)

  • 更新 ECS executor 以支援 Task SDK (#48513)

10.4.1

Bug 修復

  • 處理 pod_manager.get_container_status 中缺失的 container_statuses (#47936)

雜項

  • 從基礎 executor 中移除 change_sensor_mode_to_reschedule (#48649)

  • 無需專門為 KE 排除 executor_config (#48826)

10.4.0

新特性

  • KubernetesPodOperator: base_container_name 新增到模板化欄位中 (#47864)

Bug 修復

  • cncf.kubernetes: 使基礎容器狀態檢查輪詢間隔可配置 (#47774)

  • 切換到停用 stdin 的非互動模式 (#47568)

  • 'KubernetesPodTrigger' 中重試 k8s API 請求 (#47187)

雜項

  • 移除用於獲取非同步 hook 的額外方法 (#47313)

10.3.1

雜項

  • 移除 google-re2 作為依賴項 (#47493)

  • AIP-72: 使用 task sdk 時,為 K8sExecutor 移植 executor_config (#46926)

  • 更新 KPO 文件字串中的模板化欄位 + 用語 (#46970)

  • flit 升級到 3.11.0 (#46938)

10.3.0

注意

此版本沒有程式碼更改。釋出此版本是因為之前版本因打包問題而被撤回。

10.2.0

新特性

  • KubernetesPodOperator 新的 callback 並允許使用多個 callback (#44357)

Bug 修復

  • (fix): 如果傳遞給 executor,則使用 pod_template_file 覆蓋渲染 pod 規範 (#46374)

  • fix: kpo 非同步 kube_config_path (#45571)

  • 允許在 spark kubernetes 驅動配置中傳遞空標籤 (#45864)

  • fix: spark operator 標籤 (#45353)

  • 在待處理的 k8s pod 被刪除時允許內部重試 (#45184)

  • fix: 在作業完成後正確關閉 xcom (#45455)

  • 修復 kubernetes executor watcher kube_client_request_args 陰影問題 (#45528)

雜項

  • 修復 @task.kubernetes 文件字串中錯誤的 operator 名稱 (#46873)

  • AIP-83 修正案:在 logical date None 時新增生成 run_id 的邏輯 (#46616)

  • 移除被忽略的 'pod_generator_deprecated.py'  (#46587)

  • 使 '@task.kubernetes' pod 命名更具意義 (#46535)

  • chore(kubernetes): 減少冗餘程式碼 (#46574)

  • TaskSDK 執行時中新增動態任務對映 (#46032)

  • 擴充套件 KPO 模板欄位,修復 Spark k8s operator 測試 (#46268)

  • CeleryExecutor 切換為使用 TaskSDK 進行執行 (#46265)

  • Pod*Exceptions 移動到單獨的模組 (#45759)

  • Context 型別提示新增其他例項 (#45657)

  • AIP-72: SDK 中為 Context 字典提供更好的型別提示支援  (#45583)

  • AIP-72: KubernetesExecutor 切換為使用 taskSDK 進行執行 (#46860)

10.1.0

注意

根據 Apache Airflow provider 支援策略 中的說明,此版本的 provider 僅適用於 Airflow 2.9+。

新特性

  • KubernetesPodOperator 中為 init container 新增日誌記錄支援 (#42498) (#43853)

  • 實現 KubernetesInstallKueueOperator + (#44568)

  • 支援對 KubernetesPodOperator 的日誌行進行分組 (#44428)

Bug 修復

  • 對比 k8s executor 時使用別名而非完整的 ExecutorName repr (#44967)

  • 修復失敗的 KubernetesExecutor (#44931)

雜項

  • 移除對 AIRFLOW_V_2_9_PLUS 的引用 (#44987)

  • providers 中支援的最低 Airflow 版本提升至 Airflow 2.9.0 (#44956)

  • providers 中檢查 Airflow 版本的一致性方法 (#44686)

  • 修復 yoda-conditions (#44466)

10.0.1

Bug 修復

  • 透過從 k8s job client 方法 'delete_namespaced_job' 呼叫中移除意外的 'job' 引數來修復 KubernetesJobOperator.on_kill() (#44131)

  • 當任務卡在 queued 狀態時重新排隊 (#43520)

雜項

  • 在整個 codebase 中將 execution_date 重新命名為 logical_date (#43902)

10.0.0

重大變更

警告

所有已棄用的類、引數和功能已從 Kubernetes provider 包中移除。引入了以下重大變更:

  • 輔助函式
    • kubernetes_helper_functions.py 中移除 add_pod_suffix 方法。請改用 add_unique_suffix

    • PodGenerator 中移除 make_unique_pod_id 方法。請改用 kubernetes_helper_functions 中的 add_unique_suffix

    • kubernetes_helper_functions.py 中移除 create_pod_id 方法。請改用 create_unique_id

    • PodGenerator 中移除 gen_pod 方法。

    • PodGenerator 中移除 add_xcom_sidecar 方法。請改用 airflow.providers.cncf.kubernetes.utils.xcom_sidecar.add_xcom_sidecar

    • 移除在 PodGeneratorfrom_obj 函式中使用字典作為 executor_config 的選項。請改用帶有“pod_override”鍵的 kubernetes.client.models.V1Pod 類。

    • PodGenerator 中移除 from_legacy_obj 方法。

    • 移除 airflow.providers.cncf.kubernetes.pod_launcher_deprecated 模組。請改用 airflow.providers.cncf.kubernetes.utils.pod_manager

  • Operator
    • 移除 airflow.providers.cncf.kubernetes.operators.kubernetes_pod。請改用 airflow.providers.cncf.kubernetes.operators.pod

    • KubernetesPodOperator 中移除 is_delete_operator_pod 引數。請改用 on_finish_action

    • KubernetesPodOperator 中移除 progress_callback 引數。請改用 callbacks

    • KubernetesPodOperator 中移除 execute_complete 方法。請改用 trigger_reentry

    • SparkKubernetesOperator 中移除 xcom_push 引數。請改用 do_xcom_push

  • Trigger
    • KubernetesPodTrigger 中移除 should_delete_pod 引數。請改用 on_finish_action

  • 工具類
    • PodManager 中移除 progress_callback 引數。

    • PodManager 中移除 follow_container_logs 方法。請改用 fetch_container_logs

警告

@task.kubernetesnamespace 的預設值設定為 None,以便在 in_cluster 為 True 時使用叢集名稱空間。使用此裝飾器時務必指定名稱空間。要保留以前的行為,請設定 namespace="default"

  • 移除 cncf.kubernetes 中的棄用項 (#43689)

  • 'task.kubernetes' 'namespace' 的預設值更改為 None (#43402)

Bug 修復

  • SparkKubernetesOperator 新增 random_name_suffix (#43847)

  • 在未知錯誤情況下終止 kubernetes watch (#43645)

  • 更新 'find_pod' 函式的 'namespace' 優先順序 (#43762)

雜項

  • AIP-72: 移除 DAG pickling (#43667)

9.0.1

Bug 修復

  • (fix): kubernetes executor 中重新排程其他 executor HybridExecutor 任務 (#43003)

  • (fix): trigger_reentry 時使用例項的 base_container_name 來獲取日誌 (#42960)

雜項

  • kubernetes_conn_id 新增到模板化欄位 (#42786)

  • 允許在 KPO 中進行 node_selector 模板化 (#43051)

  • Kubernetes Python SDK 的最大版本提升到 31.0.0 (#42907)

9.0.0

重大變更

警告

在從 Airflow 1 升級到 2 期間,透過 execution_date 識別 pod 的支援已被移除。這可能導致為最初由 Airflow 1 啟動的任務啟動重複的 pod,但只有一個任務 pod 會成功。

  • kubernetes executor cleanup_stuck_queued_tasks 最佳化 (#41220)

Bug 修復

  • 所有 executor 都應繼承自 BaseExecutor (#41904)

  • 修復在獲取日誌時 pod 失敗的情況下標記為成功的問題 (#42815)

  • 修復 SparkKubernetesOperator spark 名稱 (#42427)

  • 如果憑據重新整理, KubernetesPodOperator 不會停止 (#42361)

  • 重構了 'await_xcom_sidecar_container_start' 方法 (#42504)

  • KubernetesHook kube_config extra 可以接受字典 (#41413)

雜項

  • 核心和 providers 放棄對 python3.8 的支援 (#42766)

  • k8s executor pod selector 中移除 airflow_version (#42751)

8.4.2

雜項

  • 移除棄用的配置 (#42129)

  • 更新 AsyncKubernetesHook 中的 docstring (#41929)

  • Kubernetes Provider 中移除對 Airflow 2.7 的支援 (#41746)

  • providers 中移除棄用的 soft_fail (#41710)

8.4.1

Bug 修復

  • fix: 修復當 watcher 收到 reason ProviderFailed 的事件時, 'KubernetesExecutor' 導致任務失敗的問題 (#41186)

  • fix: 修復 KubernetesJobOperator 'do_xcom_push' 'get_logs' 功能 (#40814)

  • fix: 修復當 '_is_in_cluster' 設定為 False 時, 'KubernetesHook' 載入配置檔案的問題 (#41464)

  • fix: 'CeleryKubernetesExecutor' 'LocalKubernetesExecutor' 中缺失 'slots_occupied' (#41602)

8.4.0

注意

根據 Apache Airflow provider 支援策略 中的說明,此版本的 provider 僅適用於 Airflow 2.8+。

雜項

  • providers 中支援的最低 Airflow 版本提升至 Airflow 2.8.0 (#41396)

  • docstring 中正確描述行為 (#41458)

  • 移除棄用的 SubDags (#41390)

  • 重新排序 'SparkKubernetesOperator' docstring (#41372)

8.3.4

Bug 修復

  • kube/config 檔案的內容作為字典傳遞給 triggerer (#41178)

  • 修復 kubernetes executor 中令人困惑的日誌訊息 (#41035)

  • 修復收養已完成 pod ApiException 的處理問題 (#41109)

8.3.3

Bug 修復

  • 解決使用 task decorator 和匯入的 typing 元素時 KPO 任務失敗的問題 (#40642)

雜項

8.3.2

Bug 修復

  • 修復由於叢集中已完成 pod 過多導致 Scheduler 重啟的問題 (#40183)

雜項

  • 將最低支援的 kubernetes lib 版本提升到 kubernetes 29.0.0 (#40253)

8.3.1

Bug 修復

  • 修復 KubernetesPodTrigger 因超時導致正在執行的 pod 失敗的問題 (#40019)

  • token 過期時重新整理 KubernetesPodOperator 的屬性,包括在記錄日誌時 (#39789)

  • 修復同步模式下 reattach_on_restart 引數的問題 (#39329)

  • 避免在 kubernetes executor 重試時重置已收養的任務例項 (#39406)

雜項

  • pod pending 事件包含 fatal reason (#39924)

8.3.0

新特性

  • k8s executor 監視 pod 事件時新增超時 (#39551)

  • KubernetesCreateResourceOperator KubernetesJobOperator 新增重試邏輯 (#39201)

Bug 修復

  • 修復 'cncf.kubernetes' provider 中的棄用呼叫 (#39381)

  • 處理 pod 成功完成時獲取日誌的異常 (#39296)

  • 修復 read_namespaced_pod_log 呼叫中錯誤的引數 (#39874)

雜項

  • Kubernetes cli 移動到 provider (#39587)

  • 移除 2.7.0 compat 程式碼 - 它現在是最小 Airflow 版本 (#39591)

  • 簡化 'airflow_version' 匯入 (#39497)

  • KubernetesPodOperator._write_logs 中用 client.read_namespaced_pod_log 替換 pod_manager.read_pod_logs (#39112)

  • KPO 中新增警告訊息,警告一秒間隔日誌重複的問題 (#39861)

8.2.0

注意

此 provider 版本僅適用於 Airflow 2.7+ 版本,如 Apache Airflow provider 支援策略 中所述。

新特性

  • KPO trigger 中新增缺失的資訊性日誌,直到容器完成 (#37546)

Bug 修復

  • 修復 k8s pod operator 的模板化環境變數 (#39139)

  • 修復使用 initContainers 時的 SparkKubernetesOperator 問題 (#38119)

  • KubernetesPodOperator k8s token 過期而失敗時重新整理屬性 (#39325)

其他

  • provider 中的最小 Airflow 版本提升至 Airflow 2.7.0 (#39240)

  • 移除 cncf provider 中不必要的驗證。 (#39238)

  • 將棄用的 pod_generator 中的 airflow 匯入移至本地 (#39062)

  • KPO xcom sidecar PodDefault 用法 (#38951)

8.1.1

Bug 修復

  • 避免 KPO 記錄空行 (#38247)

8.1.0

新特性

  • KPO 在終止步驟中新增跟蹤日誌 (#38081)

  • 新增 GKECreateCustomResourceOperator GKEDeleteCustomResourceOperator operator (#37616)

  • KubernetesJobOperator 實現可延遲模式 (#38251)

  • 建立 KubernetesPatchJobOperator operator (#38146)

  • KubernetesDeleteJobOperator 實現 delete_on_status 引數 (#38458)

  • GKEStartJobOperator 實現可延遲模式 (#38454)

  • 在啟動時檢查 pod 時使用 startup_check_interval_seconds 代替 poll_interval (#38075)

  • KubernetesJobOperator 實現 wait_until_job_complete 引數 (#37998)

Bug 修復

  • 使用 SIGINT 訊號編號代替訊號名稱 (#37905)

  • 修復 spark operator driver 檢索日誌的問題 (#38106)

  • 修復自定義 launcher 的動態分配規範處理問題 (#38223)

  • 修復 SparkKubernetesOperator.application_file 是模板化檔案的情況 (#38035)

  • fix: 減少 pod 事件的不相關錯誤日誌。 (#37944)

其他

  • 新增 GKEListJobsOperator GKEDescribeJobOperator (#37598)

  • 移除了 provider k8s pod.py 中用於命名 pod 的棄用函式的用法。  (#38638)

  • 建立 DeleteKubernetesJobOperator GKEDeleteJobOperator operator (#37793)

  • 重構 GKE hooks (#38404)

8.0.1

Bug 修復

  • worker pod 出現致命容器狀態時立即使任務失敗 (#37670)

  • pod 建立失敗的情況下跳過 pod 清理 (#37671)

其他

  • 避免使用不推薦的日誌記錄用法 (#37792)

  • executor 文件遷移到相應的 provider (#37728)

8.0.0

破壞性變更

在出現 Kube API 超出配額錯誤的情況下,我們引入了 task_publish_max_retries 標誌來控制重新排隊任務的行為。預設行為已從無限次重試更改為 0。預設行為是不重試 (task_publish_max_retries==0)。要設定為無限次重試,請設定 task_publish_max_retries=-1。要設定為固定次數重試,請將 task_publish_max_retries 設定為任何正整數。

  • Fix: pod 啟動錯誤的情況下,任務會永久卡在排隊狀態 (#36882)

新特性

  • KubernetesPodOperator 中新增 logging_interval 以定期記錄容器日誌 (#37279)

  • 建立 GKEStartJobOperator KubernetesJobOperator (#36847)

Bug 修復

  • 修復 python_kubernetes_script 偶爾出現的 attr-undefined (#37318)

  • 修復 deferrable 任務帶 do_xcom_push KPO 掛起的問題 (#37300)

  • 修復 'SparkKubernetesOperator.template_body' 的渲染問題 (#37271)

  • 修復 'KubernetesPodOperator' '__init__' 中模板欄位的賦值問題 (#37010)

  • KPO 保持 execute_complete trigger run 方法的向後相容性 (#37454)

  • 修復 KPO 任務在 pod 未能在指定超時時間內啟動時掛起的問題 (#37514)

  • 修復 KPO 過早退出時的 KeyError (#37508)

其他

  • feat: 將所有類、函式、方法的棄用標記切換為裝飾器 (#36876)

  • Kubernetes 版本升級 (#37040)

  • 新增 GKEStartKueueInsideClusterOperator (#37072)

  • Kubernetes ApiException 狀態碼轉換為字串,以確保其被正確檢查 (#37405)

7.14.0

新特性

  • 新增 SparkKubernetesOperator crd 實現 (#22253)

  • KubernetesPodOperator 中對 configmaps 提供模板欄位支援 (#36922)

  • KubernetesPodOperator 建立通用的回撥類 (#35714)

Bug 修復

  • fix: 避免在 KubernetesPodOperator 已被標記為失敗後重試 (#36749)

  • 修復 provider warnings.warn stacklevel (#36831)

  • 增加 read_pod_logs 中的 tenacity 等待時間 (#36955)

  • 36888-修復 7.14.0rc1 中的 k8 configmap 問題 (#37001)

其他

  • 更改 kube_config 的欄位型別 (#36752)

  • 更改 CNCF provider docstring 中的措辭 (#36547)

  • 新增對 Pendulum 3 的支援 (#36281)

7.13.0

新特性

  • 允許更改 'KubernetesResourceBaseOperator' 中的 'config_file' (#36397)

其他

  • 在更改 KubernetesPodOperator 引數時新增關於更新 stub 檔案的提醒 (#36434)

  • 如果未設定 skip_on_exit_code ,則不在 KubernetesPodOperator 中獲取 pod 狀態 (#36355)

  • 移除 k8s pod operator 中棄用的輸入引數 (#36433)

  • 提升最小 airflow 版本到 2.6.0 後,從 Kubernetes decorator 中刪除 get_python_source (#36426)

  • 移除 K8S pod operator 模組中重複的方法,並從 helper 函式匯入它們 (#36427)

7.12.0

新特性

  • KPO 日誌獲取呼叫新增 _request_timeout (#36297)

  • 'KubernetesPodOperator' 新增 'pod_template_dict' 欄位 (#33174)

  • KubernetesPodTrigger: TriggerEvent 中新增異常堆疊跟蹤 (#35716)

  • 使 pod_name 長度等於 HOST_NAME_MAX (#36332)

  • KubernetesPodTrigger hook 移至 cached property (#36290)

Bug 修復

  • Kubernetes executor 執行槽洩露修復 (#36240)

  • 在子類中遵循 BaseHook 連線欄位方法的簽名 (#36086)

  • list pods 效能最佳化 (#36092)

7.11.0

注意

此 provider 版本僅適用於 Airflow 2.6+ 版本,如 Apache Airflow provider 支援策略 中所述。

Bug 修復

  • fix: KPO env_vars 的型別問題 (#36048)

  • 當狀態為 None 時,停止將其轉換為 TaskInstanceState (#35891)

  • Feature: SparkKubernetesOperator application_file 中傳遞字典配置 (#35848)

其他

  • provider 中的最小 Airflow 版本提升至 Airflow 2.6.0 (#36017)

7.10.0

新特性

  • KubernetesPodOperator 中新增 annotations 欄位  (#35641)

  • KubernetesResourceBaseOperator 新增 custom_resource_definition (#35600)

Bug 修復

  • Revert 移除 PodLoggingStatus 物件 #35422 (#35822)

  • 修復 K8S executor 使用 pod_override_object 覆蓋配置的問題 (#35185)

  • 修復並重新應用 provider 文件的模板 (#35686)

其他

  • 移除 KPO 日誌記錄中無關的程式碼片段 (#35416)

  • 移除 'KubernetesResourceBaseOperator' docstring 中不存在的引數

  • KubernetesExecutor 可觀測性改進 (#35579)

7.9.0

新特性

  • 新增 provider 文件符合預期的驗證 (#35424)

  • startup_check_interval_seconds 新增到 PodManager await_pod_start (#34231)

Bug 修復

  • 移除 KPO 重試中的 before_log ,並在中斷時新增 traceback (#35423)

  • 移除 KPO 日誌內部函式 consume_logs 上的 tenancity (#35504)

其他

  • 簡化 KPO 多容器日誌協調邏輯 (#35450)

  • 移除 PodLoggingStatus 物件 (#35422)

  • 改進 clear_not_launched_queued_tasks 呼叫持續時間 (#34985)

  • 對空 xcom 結果 sentinel 使用常量 (#35451)

7.8.0

新特性

  • 新增到 KubernetesOperator V1VolumeMount 的渲染,包括 sub_path (#35129)

  • feat: KubernetesPodOperator pod spec 中新增 hostAliases (#35063)

Bug 修復

  • AsyncKubernetesHook 中的阻塞 IO 替換為非同步 IO (#35162)

  • 合併 KubernetesPodTrigger 中警告的 stacklevel (#35079)

7.7.0

注意

此 provider 版本僅適用於 Airflow 2.5+ 版本,如 Apache Airflow provider 支援策略 中所述。

Bug 修復

  • 修復解析 KubernetesPodOperator 多行日誌的問題 (#34412)

  • 修復 KubernetesPodTrigger 啟動超時問題 (#34579)

  • 修復在 istio-sidecar 移除後 Pod 未被移除的問題  (#34500)

  • 透過重用 PodLogsConsumer 移除重複日誌 (#34127)

其他

  • 提升 provider 的最小 airflow 版本 (#34728)

  • 棄用警告級別設定為 stacklevel 2 (#34530)

  • provider 中使用 'airflow.exceptions.AirflowException' (#34511)

7.6.0

新特性

  • 'KubernetesPodOperator' 新增 'progress_callback' 引數 (#34153)

Bug 修復

  • Pod*Exceptions 的定義移至 pod_generator (#34346)

  • 'KubernetesPodOperator' 延遲前推送到 xcom (#34209)

其他

  • 重構: 合併 provider 中的 import textwrap (#34220)

7.5.1

Bug 修復

  • fix(providers/spark-kubernetes): 在丟擲異常時遵循 soft_fail 引數 (#34167)

  • SparkKubernetesSensor 中對 hook 使用 'cached_property' (#34106)

  • SparkKubernetesOperator 中對 hook 使用 cached property (#34130)

其他

  • 合併 provider 中相似的 if 邏輯 (#33987)

  • 移除 provider 中無用的字串連線 (#33968)

  • 重構 provider 中不必要的跳轉  (#33833)

  • provider 中查詢正值時,將 loop 替換為 any (#33984)

  • kubernetes provider 中,當可能時,將 try 移到迴圈外 (#33977)

  • Airflow provider 中的序列連線替換為解包 (#33933)

  • provider 中,當 key 未使用時,將 dict.items 替換為 values (#33939)

  • 重構: 合併 import datetime (#34110)

7.5.0

新特性

  • 新增 istio 測試,使用 curl /quitquitquit 退出 sidecar ,以及其他一些...  (#33306)

  • 'KubernetesPodOperator' 新增 'active_deadline_seconds' 引數 (#33379)

  • 使 cluster_context 模板化 (#33604)

Bug 修復

  • 修復 KubernetesPodOperator 在中斷時日誌重複的問題 (#33500)

  • 修復 2.7.0 db 遷移 job 錯誤 (#33652)

  • 在決定是否跳過時,檢查容器狀態而不是 last_state (#33702)

  • 修復 kill istio proxy 邏輯 (#33779)

其他

  • 引入類常量使 worker pod 日誌行可配置 (#33378)

  • KPO SCC 物件新增型別 (#33381)

  • 重構: 移除無用的 str() 呼叫 (#33629)

  • 重構: 改進重複項檢測和列表排序 (#33675)

  • Sqlalchemy 查詢重構為 2.0 風格 (第 7 部分) (#32883)

  • 合併 itertools 的匯入和用法 (#33479)

  • 簡化其他 provider len() 的條件 (#33569)

  • datetime 匯入 utc 並標準化其匯入 (#33450)

  • 始終使用 'typing_extensions' 中的 'Literal' (#33794)

  • provider 中使用字面量 dict 代替呼叫 dict() (#33761)

  • 透過將 cncf.kubernetes provider 中的一些模組匯入移至型別檢查塊中來改進模組匯入 (#33781)

7.4.2

其他

  • cncf.kubernetes celery provider 新增缺失的 re2 依賴 (#33237)

  • 使 'OnFinishAction' 列舉繼承自 str ,以支援將其傳遞給 'KubernetesPodOperatpor' (#33228)

  • 重構: 簡化 providers/cncf 中的程式碼 (#33230)

  • Airflow executors 中將 State 替換為 TaskInstanceState (#32627)

7.4.1

Bug 修復

  • 修復讀取其他容器日誌時等待基礎容器的問題 (#33127)

  • Fix: 'xcom_sidecar' 的可配置 Docker 映象 (#32858)

  • 修復 'KubernetesPodOperator' 子類預設的 container_logs (#33090)

  • 考慮 處理 Pod 查詢 過程 時使用 自定義 Pod 標籤 'KubernetesPodOperator' (#33057)

其他

  • 執行器 CLI 命令 新增 文件 生成 (#33081)

7.4.0

注意

此提供程式版本是第一個將 Kubernetes Executor 和 Local Kubernetes Executor 從核心 apache-airflow 包遷移到 cncf.kubernetes 提供程式包的版本。

新特性

  • 所有 k8S 移至 cncf.kubernetes 提供程式 (#32767)

  • [AIP-51] 執行器 提供的 CLI 命令 (#29055)

  • 'KubernetesPodOperator' 新增 'termination_message_policy' 引數 (#32885)

其他

  • SparkK8SOp 中,當監視器 資源 版本 太舊時,更新 該版本 (#32768)

  • 提供程式 模組 文件字串 新增 棄用 資訊 (#32536)

  • 執行器 CLI 提供中, 引發 原始 匯入 錯誤 (#32931)

7.3.0

新特性

  • KubernetesOperatorPod 中的 所有 容器 記錄 日誌 (#31663)

Bug 修復

  • 透過在 清理 之前 等待 Pod 'execute_complete' 終止,修復 非同步 KPO (#32467)

7.2.0

新特性

  • 'KubernetesPodOperator' 新增 'on_finish_action' (#30718)

Bug 修復

  • 修復 KubernetesPodOperator 驗證 xcom json 並新增 重試 (#32113)

  • 修復 'KubernetesPodTrigger' 等待 策略 (#31348)

  • 修復 spark-kubernetes-operator 相容性 (#31798)

其他

  • 新增 default_deferrable 配置 (#31712)

7.1.0

注意

此版本放棄了對 Python 3.7 的支援

新特性

  • KubernetesResourceOperator - KubernetesDeleteResourceOperator KubernetesCreateResourceOperator (#29930)

  • 迴圈中 事件被 yield 時新增 一個 return 以停止 執行 (#31985)

  • 任務失敗 的情況下, 新增 停用 記錄 Pod 模板 的可能性 (#31595)

Bug 修復

  • triggers 類中 yield 後移除 return 語句 (#31703)

  • 修復 AWS 系統測試的 Fargate 日誌記錄 (#31622)

其他

  • 移除 Python 3.7 的支援 (#30963)

7.0.0

注意

Apache Airflow 提供程式支援策略 中所述,此提供程式版本僅適用於 Airflow 2.4+。

重大更改

注意

當 Kubernetes 連線中未定義名稱空間時返回 None

  • KubernetesHook 中移除 已棄用的 功能 (#31402)

新特性

注意

如果未定義 kubernetes_default 連線,則 KubernetesHook / KubernetesPodOperator 將表現得如同提供了 conn_id=None。這應該會更容易緩解 6.0.0 中引入的重大更改。

  • 即使缺少 預設 連線, K8s hook 也應 能正常 工作 (#31187)

  • 新增 協議 以定義 KubernetesPodOperator 依賴的 方法 (#31298)

Bug 修復

  • 修復 kubernetes 任務 裝飾器 pickle 錯誤 (#31110)

其他

  • 提高 提供程式中 最低 Airflow 版本 (#30917)

  • xcom 結果 檔案 日誌 訊息 更具體 (#31228)

  • KubernetesPodOperator 新增 選項 (#30992)

  • 延遲的 'KubernetesPodOperator' 中,新增 從連線讀取 K8S 配置檔案的 缺失部分 (#29498) 

6.1.0

新特性

  • 'DockerOperator' 'KubernetesPodOperator' 跳過 邏輯中,新增 多個 退出碼 處理 (#30769)

  • KubernetesPodOperator 任務 返回 提供的 退出碼時 跳過 該任務 (#29000)

6.0.0

重大更改

KubernetesPodOperator 中預設使用 kubernetes_default 連線。

  • KubernetesPodOperator 使用 預設 連線 ID (#28848)

新特性

  • 允許 XCOM 容器 設定 限制 (#28125)

5.3.0

新特性

  • 增強 spark_k8s_operator (#29977)

Bug 修復

  • 修復 'get_logs=False' 時, KubernetesPodOperator xcom push 的問題 (#29052)

  • 修復了 掛起的 KubernetesPodOperator (#28336)

其他

  • 使 cncf 提供程式 檔名 AIP-21 對齊 (#29905)

  • 所有 taskflow 裝飾器 中移除 “樣板程式碼” (#30118)

  • 確保 setup/teardown 先前裝飾過的 函式上 工作 (#30216)

5.2.2

Bug 修復

  • 透過將 條件語句 更改為 map,改進了 'KubernetesPodOperator._render_nested_template_fields' (#29760)

5.2.1

Bug 修復

  • 修復 @task.kubernetes 以接收 輸入 和傳送 輸出 (#28942)

5.2.0

新特性

  • ''KubernetesPodOperator'' 新增 可延遲模式 (#29017)

  • 允許 K8s Pod Operator 設定 基礎 容器 名稱 (#28808)

Bug 修復

  • KPO 標記為 checked 時,僅修補 單個 標籤 (#29279)

5.1.1

Bug 修復

  • 修復 不正確的 'await_container_completion' (#28771)

5.1.0

新特性

  • 新增 Flink on K8s Operator (#28512) 

  • KPO 新增 與卷相關的 巢狀 模板 欄位 (#27719)

  • 允許 k8s executor / KPO 使用 更長的 Pod 名稱 (#27736)

  • k8s 執行中,為 Pod 日誌 讀取 使用 標籤 代替 Pod 名稱 (#28546)

Bug 修復

  • Pod 不成功時,修補 “checked” (#27845)

  • k8s executor Pod 名稱 保持在 63 個字元 以內 (#28237)

其他

  • 提供程式中 移除 過時的 compat 匯入/程式碼 (#28507)

  • 重組 文件 (#27235) 

5.0.0

注意

Apache Airflow 提供程式支援策略 中所述,此提供程式版本僅適用於 Airflow 2.3+。

重大更改

以前,KubernetesPodOperator 依賴核心 Airflow 配置(即 kubernetes executor 的設定)來生成客戶端時使用某些設定。此項考慮在 4.1.0 中已棄用,現已移除。如果您以前依賴 Airflow 配置,並且希望客戶端生成具有非預設配置,您將需要在 Airflow 連線中定義您的配置,並將 KPO 設定為使用該連線。有關定義 kubernetes Airflow 連線的詳細資訊,請參閱 kubernetes 提供程式文件。

放棄支援在 KubernetesPodOperator 中以字典形式提供 resource。您應該使用 container_resourcesV1ResourceRequirements

KubernetesPodOperator 中的引數 node_selectors 已被移除;請改用 node_selector

KubernetesPodOperator 的以下後向相容模組已被移除,您現在必須使用 kubernetes 庫中相應的物件

  • airflow.kubernetes.backcompat.pod

  • airflow.kubernetes.backcompat.pod_runtime_info_env

  • airflow.kubernetes.backcompat.volume

  • airflow.kubernetes.backcompat.volume_mount

  • 移除 KPO 已棄用的 後向相容 物件 (#27518)

  • 移除 KPO node_selectors 引數的 支援 (#27515)

  • 移除 k8s hook 未使用的 後向相容 方法 (#27490)

  • 放棄 支援 ''KubernetesPodOperator'' 中以 字典形式 提供 ''resource'' (#27197)

  • 不考慮 KPO airflow core 配置 (#26849)

其他

  • 所有 提供程式 最低 airflow 版本 移至 2.3.0 (#27196)

  • log.exception log.error 更經濟的 地方使用 log.exception (#27517)

新特性

KubernetesPodOperator 引數 name 現在是可選的。以前,當不提供 Pod 模板或完整的 Pod 規範時,name 是 KubernetesPodOperator 的必需引數。現在,如果未提供 name,將使用 task_id

KubernetesPodOperator 引數 namespace 現在是可選的。如果未透過 KPO 引數、Pod 模板檔案或完整的 Pod 規範提供,我們將檢查 airflow 連線,然後,如果在 k8s pod 中,嘗試從容器推斷名稱空間,最後將使用 default 名稱空間。

當使用型別為 kubernetes 的 Airflow 連線時,如果在環境變數或 secrets 後端中定義連線,不再需要為“extra”欄位加上 extra__kubernetes__ 字首。如果 extra 包含重複欄位(一個帶字首,一個不帶),則將使用沒有字首的那個。

  • k8s hook extra 中移除 extra__kubernetes__ 字首 (#27021)

  • container_resources 新增為 KubernetesPodOperator 可模板化的 (#27457)

  • SparkKubernetesSensor 新增 container_name 選項 (#26560)

  • 允許 KPO 中配置 xcom sidecar 容器 映象 (#26766)

  • 改進 task_id Pod 名稱的 轉換 (#27524)

  • 使 KubernetesPodOperator 中的 Pod 名稱 可選 (#27120)

  • 使 KPO 名稱空間 可選 (#27116)

  • @task.kubernetes 裝飾器 啟用 env_vars 欄位的 模板 渲染 (#27433)

Bug 修復

  • 修復 KubernetesHook 屬性不存在時 失敗的 問題 (#25787)

  • 修復 kubernetes hooks 日誌 訊息 (#26999)

  • KPO 應該 使用 hook get namespace 方法 來獲取 名稱空間 (#27516)

新的棄用

  • KubernetesHook.get_namespace 中,如果定義了連線但未設定名稱空間,我們

    當前返回 ‘default’;此行為已棄用 (#27202)。在下一個版本中,我們將返回 None

  • 棄用 PodManager 中使用 core get_kube_client (#26848)

4.4.0

新特性

  • feat(KubernetesPodOperator): 新增 container_security_context 的支援 (#25530)

  • 新增 @task.kubernetes taskflow 裝飾器 (#25663)

  • 美化 列印 KubernetesPodOperator 渲染的 模板 env_vars (#25850)

Bug 修復

  • 只需要 一個項時, 避免 計算 所有 元素 (#26377)

  • sidecar 執行 之前,等待 xcom sidecar 容器 啟動 (#25055)

4.3.0

新特性

  • 使用 ParamSpec 改進 taskflow 型別 提示 (#25173)

Bug 修復

  • 修復 xcom_sidecar 卡住 問題 (#24993)

4.2.0

新特性

  • KPO Pod 新增 'airflow_kpo_in_cluster' 標籤 (#24658)

  • KubernetesPodOperator 中,使用 找到的 Pod 進行 刪除 (#22092)

Bug 修復

  • 還原 "修復 await_container_completion 條件 (#23883)" (#24474)

  • 更新 提供程式 以使用 functools compat 對於 ''cached_property'' (#24582)

其他

  • Kub op 中的 'resources' 引數 重新命名為 k8s_resources (#24673)

4.1.0

新特性

  • 以前,KubernetesPodOperator 依賴核心 Airflow 配置(特別是 kubernetes executor 的設定)來生成客戶端時使用某些設定。現在 KubernetesPodOperator 使用 KubernetesHook,並且對核心 k8s 設定的考慮已正式棄用。

  • 如果您使用 Airflow 配置設定(例如,與運算子引數相對)來配置 kubernetes 客戶端,則在下一個主要版本之前,您將需要新增一個 Airflow 連線,並將您的 KPO 任務設定為使用該連線。

  • KubernetesPodOperator 中使用 KubernetesHook 建立 api client (#20578)

  • [特性] KPO 使用 K8S hook (#22086)

  • KubernetesHook KubernetesPodOperator 新增 引數 文件 (#23955) (#24054)

Bug 修復

  • KPO Pod 修補為 “checked” 時,使用 “remote” Pod (#23676)

  • KPO _suppress 函式中 不使用 root logger (#23835)

  • 修復 await_container_completion 條件 (#23883)

其他

  • Cncf.Kubernetes 示例 DAG 遷移到 新設計 #22441 (#24132)

  • 清理 日誌 呼叫中 f-strings (#23597)

4.0.2

Bug 修復

  • 修復: 解析 日誌時 出現 異常 #20966 (#23301)

  • 修復了 Kubernetes Operator 大容量 xcom 內容 缺陷 (#23490) 

  • 澄清 'reattach_on_restart' 行為 (#23377)

4.0.1

Bug 修復

  • airflow 異常中 新增 k8s 容器的 錯誤 訊息 (#22871)

  • KubernetesHook 應在 未另行配置時優先嚐試 incluster (#23126)

  • KubernetesPodOperator 應始終 patch "already checked" (#22734)

  • SparkKubernetesOperator 中刪除舊的 Spark Application (#21092)

  • 清理重複程式碼,現在 k8s provider 要求 2.3.0+ (#22845)

  • 修復 ''KubernetesPodOperator'' 'KubernetesExecutor'' 2.3.0 上的問題 (#23371)

  • 修復 KPO 中使用連字元而不是點的問題 (#22982)

  • 修復 main 分支中新的 MyPy 錯誤 (#22884)

4.0.0

不相容變更

版本 4.0.0 的 provider 僅適用於 Airflow 2.3+。如果您想使用 provider 4.* 系列中的功能或修復,請將 Airflow 升級到 2.3 版本。

不相容的主要原因是使用了最新的 Kubernetes Libraries。cncf.kubernetes provider 需要比 Airflow 2.1 和 2.2 用於 Kubernetes Executor 的庫版本更新,這使得該 provider 與這些 Airflow 版本不相容。

新功能

  • 僅在 ''DEBUG'' 級別記錄 KPO 日誌讀取中斷的 traceback (#22595)

  • 更新我們處理執行器繫結依賴項的方法 (#22573)

  • KPO pod_manager 中可選地不跟蹤日誌 (#22412)

Bug 修復

  • 停止在從 kubernetes 客戶端接收到空日誌時崩潰 (#22566)

3.1.2 (YANKED)

警告

此版本已被 yanked,原因為: Airflow 2.1、2.2 上安裝允許安裝不受支援的 kubernetes > 11.0.0

Bug 修復

  • 修復為所有 providers 錯誤新增的 install_requires (#22382)

  • 修復 "run_id" k8s elasticsearch 上與 Airflow 2.1 的相容性問題 (#22385)

雜項

  • 移除用於 K8s 令牌重新整理的 RefreshConfiguration 變通方法 (#20759)

3.1.1 (YANKED)

警告

此版本已被 yanked,原因為: Airflow 2.1、2.2 上安裝允許安裝不受支援的 kubernetes > 11.0.0

雜項

  • PyPI 中新增 Trove 分類器 (Framework :: Apache Airflow :: Provider)

3.1.0 (YANKED)

警告

此版本已被 yanked,原因為: Airflow 2.1、2.2 上安裝允許安裝不受支援的 kubernetes > 11.0.0

新功能

  • 為對映的 KubernetesPodOperator 新增 map_index 標籤 (#21916)

  • KubernetesPodOperator 標籤從 execution_date 改為 run_id (#21960)

雜項

  • 支援 Python 3.10

  • 修復 Kubernetes 示例中錯誤的 operator 大小寫問題 (#21898)

  • KPO docstring 中移除 types (#21826)

3.0.2 (YANKED)

警告

此版本已被 yanked,原因為: Airflow 2.1、2.2 上安裝允許安裝不受支援的 kubernetes > 11.0.0

Bug 修復

  • cncf 新增遺漏的 deprecations (#20031)

3.0.1 (YANKED)

警告

此版本已被 yanked,原因為: Airflow 2.1、2.2 上安裝允許安裝不受支援的 kubernetes > 11.0.0

雜項

  • 更新 Kubernetes 庫版本 (#18797)

3.0.0

不相容變更

  • 引數 is_delete_operator_pod 預設值更改為 True (#20575)

  • 簡化 KubernetesPodOperator (#19572)

  • pod_mutation_hook 呼叫從 PodManager 移至 KubernetesPodOperator (#20596)

  • ''PodLauncher'' 重新命名為 ''PodManager'' (#20576)

引數 is_delete_operator_pod 的新預設值

之前,引數 is_delete_operator_pod 的預設值為 False,這意味著任務執行後,其 pod 不會被 operator 刪除,並無限期地留在叢集中。在此版本中,我們將預設值更改為 True

關於 KubernetesPodOperator 和 PodLauncher 更改的說明

警告

KubernetesPodOperatorPodLauncher 中的許多方法已被重新命名。如果您曾對 KubernetesPodOperator 進行子類化,則需要更新您的子類以反映新的結構。此外,PodStatus 列舉已重新命名為 PodPhase

概覽

一般來說,如果您沒有對 KubernetesPodOperator 進行子類化,並且沒有直接使用 PodLauncher 類,那麼您無需擔心此更改。但是,如果您曾對 KubernetesPodOperator 進行子類化,以下是本版本更改的一些說明。

重構的主要目標之一是清晰地分離“獲取或建立 pod”和“等待 pod 完成”階段。以前,“等待 pod 完成”邏輯的呼叫方式取決於 operator 是“附加到現有 pod”(例如,在 worker 失敗後)還是“建立新 pod”,這導致了一些程式碼重複和邏輯巢狀。透過此重構,我們將“獲取或建立”步驟封裝到方法 KubernetesPodOperator.get_or_create_pod 中,並將監控和 XCom 邏輯提升到 execute 的頂層,因為對於“附加”pod 和“新”pod 而言,這部分邏輯是相同的。

KubernetesPodOperator.get_or_create_pod 首先嚐試使用任務例項特有的標籤查詢現有 pod(參見 KubernetesPodOperator.find_pod)。如果不存在,它會 建立 一個 pod <~.PodManager.create_pod>

執行的“等待”部分有三個元件。第一步是等待 pod 離開 Pending 階段(~.KubernetesPodOperator.await_pod_start)。接下來,如果配置為跟蹤,operator 將跟蹤基礎容器日誌並將這些日誌轉發到任務 logger,直到 base 容器完成。如果未配置為收集日誌,operator 將轉而執行 KubernetesPodOperator.await_container_completion。無論哪種方式,我們都必須在收集 xcom 之前等待容器完成。在(可選地)從基礎容器中提取 xcom 值後,我們 等待 pod 完成 <~.PodManager.await_pod_completion>

以前,根據 pod 是“重新附加到”(例如,在 worker 失敗後)還是全新建立的,等待邏輯可能發生在 handle_pod_overlapcreate_new_pod_for_operator 中。

在 pod 終止後,我們根據 pod 是否成功終止執行不同的清理任務。

如果 pod 未成功 終止,我們嘗試記錄 pod 事件(PodLauncher.read_pod_events>)。此外,如果任務配置為在終止後刪除 pod,我們會應用一個標籤(KubernetesPodOperator.patch_already_checked>),表明 pod 失敗,並且在重試時不應“重新附加”。如果任務配置為刪除其 pod,我們會刪除它(KubernetesPodOperator.process_pod_deletion>)。最後,我們會引發一個 AirflowException 以使任務例項失敗。

如果 pod 成功終止,我們會刪除 pod(KubernetesPodOperator.process_pod_deletion>)(如果配置為刪除 pod)並推送 XCom(如果配置為推送 XCom)。

方法重新命名、重構和刪除的詳細資訊

KubernetesPodOperator

  • 方法 create_pod_launcher 被轉換為快取屬性 pod_manager

  • k8s CoreV1Api 客戶端的構建現在封裝在快取屬性 client

  • 搜尋現有 pod(例如,在 airflow worker 失敗後)的邏輯從 execute 中移出,並移至方法 find_pod 中。

  • 方法 handle_pod_overlap 已被移除。以前,它會監控一個“找到的”pod 直到完成。透過此更改,pod 監控(和日誌跟蹤)直接從 execute 中協調,無論是“找到的”pod 還是“新”pod,邏輯都是相同的。參見方法 await_pod_start, follow_container_logs, await_container_completionawait_pod_completion

  • 方法 create_pod_request_obj 已重新命名為 build_pod_request_obj。它現在接受引數 context 以新增 TI 特定的 pod 標籤;以前它們是在返回後新增的。

  • 方法 create_labels_for_pod 已重新命名為 _get_ti_pod_labels。此方法不返回所有標籤,而只返回 TI 特定的標籤。我們還添加了引數 include_try_number 以控制此標籤的包含,而不是以後可能將其過濾掉。

  • 方法 _get_pod_identifying_label_string 已重新命名為 _build_find_pod_label_selector

  • 方法 _try_numbers_match 已被移除。

  • 方法 create_new_pod_for_operator 已被移除。以前它會修改 self.pod 上的標籤,啟動 pod,監控 pod 直到完成等。現在此邏輯部分由 get_or_create_pod 處理,必要時將建立新 pod。監控等現在直接從 execute 中協調。再次參見對方法 await_pod_start, follow_container_logs, await_container_completionawait_pod_completion 的呼叫。

在類 PodManager (原 PodLauncher) 中

  • 方法 start_pod 已被移除並拆分為兩個方法:create_podawait_pod_start

  • 方法 monitor_pod 已被移除並拆分為方法 follow_container_logs, await_container_completion, await_pod_completion

  • 方法 pod_not_started, pod_is_running, process_status, 和 _task_status 已被移除。這些方法由於將 pod phase 對映到任務例項狀態的方式而需要;但我們不再進行這種對映,而是直接處理 pod 階段而無需轉換。

  • 方法 _extract_xcom 已重新命名為 extract_xcom

  • 方法 read_pod_logs 現在接受 kwarg container_name

pod_manager.py (原 pod_launcher.py) 中的其他更改

  • pod_launcher.PodLauncher 重新命名為 pod_manager.PodManager

  • 類列舉 PodStatus 重新命名為 PodPhase,並且值不再是小寫。

  • airflow.settings.pod_mutation_hook 不再在 cncf.kubernetes.utils.pod_manager.PodManager.run_pod_async 中呼叫。對於 KubernetesPodOperator,修改現在發生在 build_pod_request_obj 中。

  • 引數 is_delete_operator_pod 的預設值更改為 True,以便任務完成後刪除 pod,而不是使其累積。實踐中,似乎更常見的是僅出於除錯目的暫時停用 pod 刪除,因此刪除 pod 是更合理的預設值。

新功能

  • KubernetesHook 新增引數 config, in_cluster, cluster_context (#19695)

  • KubernetesPodOperator 實現 dry_run (#20573)

  • 澄清 K8s providers ''build_pod_request_obj'' 的文件字串 (#20574)

Bug 修復

  • 修復 Volume/VolumeMount KPO DeprecationWarning (#19726)

2.2.0

新功能

  • KPO 中新增 namespace 作為模板欄位。 (#19718)

  • 將名稱隨機化與名稱 kwarg 解耦 (#19398)

Bug 修復

  • 在過濾前檢查 event.status.container_statuses (#19713)

  • KubernetesHook 中將 'extra' 引數合併到 None (#19694)

  • KubernetesPodOperator 中更改為正確的型別 (#19459)

2.1.0

新功能

  • PodLauncher 新增更多型別提示 (#18928)

  • PodLauncher 超時錯誤新增更多資訊 (#17953)

2.0.3

Bug 修復

  • 修復 KubernetesPodOperator 在不刪除 pod 時的重新附加問題 (#18070)

  • 使 Kubernetes job 描述適合在一條日誌行中顯示 (#18377)

  • 如果讀取日誌失敗,不要使 KubernetesPodOperator 任務失敗 (#17649)

2.0.2

Bug 修復

  • 修復使用 XCom ''KubernetesPodOperator'' 的問題 (#17760)

  • providers manager 中延遲匯入 Hooks (#17682)

2.0.1

新功能

  • 啟用在 Kubernetes Pod Operator 中使用自定義 pod launcher (#16945)

Bug 修復

  • BugFix: template_field 中使用 'json' 字串導致 K8s Operators 出現問題 (#16930)

2.0.0

不相容變更

  • 自動應用 apply_default 裝飾器 (#15667)

警告

由於移除了 apply_default 裝飾器,此版本的 provider 要求 Airflow 2.1.0+。如果您的 Airflow 版本 < 2.1.0,並且您想安裝此 provider 版本,請首先將 Airflow 升級到至少 2.1.0 版本。否則,您的 Airflow 包版本將自動升級,您將需要手動執行 airflow upgrade db 以完成遷移。

新功能

  • 'KubernetesPodOperator' 新增 'pod-template-file' jinja 模板支援 (#15942)

  • KubernetesPodOperator pod 名稱儲存到 xcom (#15755)

Bug 修復

  • Bug 修復 由於空的 Affinity K8S 物件導致 Pod-Template Affinity 被忽略 (#15787)

  • Bug 修復 Pod Template File Values 被忽略 (#16095)

  • 修復在 KPO 中解析錯誤日誌的問題 (#15638)

  • 修復當 'is_delete_operator_pod=True' KubernetesPodOperator 最終狀態呼叫不成功的問題 (#15490)

1.2.0

新功能

  • 要求 KubernetesPodOperator 使用 'name' (#15373)

  • KPO node_selectors 警告更改為正確的 deprecationwarning (#15507)

Bug 修復

  • 修復使用 XCom KubernetesPodOperator 時的超時問題 (#15388)

  • 修復 ''KubernetesPodOperator'' 建立的 pod 上的標籤問題 (#15492)

1.1.0

新功能

  • Kubernetes pod_launcher core airflow 分離 (#15165)

  • Spark operators 新增指定 api group version 的能力 (#14898)

  • 使用可用的 libyaml C 庫。 (#14577)

1.0.2

Bug 修復

  • 允許在使用 pod_template 時在 KubernetesPodOperator 中覆蓋 pod 名稱。 (#14186)

  • 允許 KPO 使用者 *實際* 模板化環境變數 (#14083)

1.0.1

更新了文件和 readme 檔案。

Bug 修復

  • 正確地在 KubernetesPodOperator 中傳遞 image_pull_policy (#13289)

1.0.0

provider 的初始版本。

此條目有幫助嗎?