You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Helm升级Airflow时Worker崩溃:Postgres域名解析临时失败

解决方案

1. 修正Dockerfile语法错误

你的Dockerfile存在路径书写错误,导致插件目录复制异常,破坏了Airflow默认配置:

FROM apache/airflow:2.3.0-python3.7
COPY ./dags/ /opt/airflow/dags/
COPY ./plugins/ /opt/airflow/plugins/  # 移除了多余的"docker push"
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt  # 添加--no-cache-dir优化镜像体积
EXPOSE 5555

2. 重新构建并加载镜像

docker build -f base.dockerfile --pull --tag lqc-airflow:0.0.2 .
minikube image load lqc-airflow:0.0.2

3. 更新Helm部署

helm upgrade $RELEASE_NAME apache-airflow/airflow --namespace $NAMESPACE --set images.airflow.repository=lqc-airflow --set images.airflow.tag=0.0.2

问题根源

错误的COPY命令将docker push作为目标路径的一部分,导致Airflow worker的内部配置文件被篡改,使得Celery无法读取Helm注入的正确数据库连接配置,转而使用默认的postgres主机名,引发DNS解析失败。官方镜像运行时会通过Helm注入的环境变量覆盖默认配置,你的错误操作破坏了这一机制。

验证步骤(可选)

修复后可进入worker Pod检查数据库连接配置:

kubectl exec -it airflow-worker-0 -n $NAMESPACE -- env | grep AIRFLOW__DATABASE__SQL_ALCHEMY_CONN

正常输出应包含正确的Postgres服务地址,格式类似:
AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=postgresql+psycopg2://airflow:airflow@<RELEASE_NAME>-postgres:5432/airflow

内容的提问来源于stack exchange,提问作者khanna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 02:10:51