
本文详解如何消除 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
⚠️ 注意事项:
- 修改 airflow.cfg 后,需确保所有 Airflow 组件(Webserver、Scheduler、Workers)均使用更新后的配置;若使用容器部署,请同步更新配置挂载或环境变量注入逻辑。
- 若通过环境变量(如 AIRFLOW__KUBERNETES__NAMESPACE)设置参数,也需同步改为 AIRFLOW__KUBERNETES_EXECUTOR__NAMESPACE。
- 推荐参考 Airflow 官方配置文档 获取最新支持参数列表。
完成上述迁移后,DeprecationWarning 将彻底消失,配置更符合当前版本规范,也为未来升级铺平道路。










