本文详解如何消除 airflow cli 运行时出现的 kubernetes 配置项弃用警告(deprecationwarning),核心是将 airflow.cfg 中已迁移的配置节从 `[kubernetes]` 正确更新为 `[kubernetes_executor]`。
Airflow 自 2.0 版本起逐步重构 Kubernetes 相关配置结构,原属于 [kubernetes] 配置节下的 namespace 等关键参数(如 namespace、worker_container_repository、worker_container_tag 等)已被正式迁移至独立的 [kubernetes_executor] 节。若 airflow.cfg 中仍保留旧配置节,Airflow 会在启动或执行 CLI 命令(如 airflow info、airflow db migrate)时触发如下警告:
DeprecationWarning: The namespace option in [kubernetes] has been moved to the namespace option in [kubernetes_executor] - the old setting has been used, but please update your config.
该警告虽不影响功能运行,但会干扰日志可读性,并可能在后续版本中升级为错误。
✅ 解决步骤如下:
定位并打开 airflow.cfg 文件
通常位于 $AIRFLOW_HOME/airflow.cfg(默认为 ~/airflow/airflow.cfg)。可通过以下命令确认路径:
airflow config get-value core airflow_home
查找并迁移配置节
使用文本编辑器搜索 [kubernetes] 配置节(常见于文件约第 1086 行附近),将其整体重命名为 [kubernetes_executor]。例如:
❌ 旧配置(触发警告):
[kubernetes] namespace = default worker_container_repository = apache/airflow worker_container_tag = 2.9.0
✅ 新配置(推荐写法):
[kubernetes_executor] namespace = default worker_container_repository = apache/airflow worker_container_tag = 2.9.0
删除或注释旧节(重要!)
若同时存在 [kubernetes] 和 [kubernetes_executor] 两个节,Airflow 会优先读取旧节并继续报警告。请确保旧 [kubernetes] 节完全移除或注释掉(如加 # 前缀),避免冲
突。
验证修复效果
重启 Airflow(如需)后执行任意 CLI 命令,警告应不再出现:
airflow info | head -n 10
⚠️ 注意事项:
完成上述迁移后,DeprecationWarning 将彻底消失,配置更符合当前版本规范,也为未来升级铺平道路。