繁体   English   中英

由于 403 错误,Airflow 无法从网络服务器访问日志

[英]Airflow can't reach logs from webserver due to 403 error

我将 Apache Airflow 用于日常 ETL 作业。 我使用提供的 Helm 图表将它安装在 Azure Kubernetes 服务中。 它已经运行了半年,但最近我无法访问网络服务器中的日志(这过去总是可以正常工作)。

我收到以下错误:

*** Log file does not exist: /opt/airflow/logs/dag_id=analytics_etl/run_id=manual__2022-09-26T09:25:50.010763+00:00/task_id=copy_device_table/attempt=18.log
*** Fetching from: http://airflow-worker-0.airflow-worker.default.svc.cluster.local:8793/dag_id=analytics_etl/run_id=manual__2022-09-26T09:25:50.010763+00:00/task_id=copy_device_table/attempt=18.log
*** !!!! Please make sure that all your Airflow components (e.g. schedulers, webservers and workers) have the same 'secret_key' configured in 'webserver' section and time is synchronized on all your machines (for example with ntpd) !!!!!
****** See more at https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#secret-key
****** Failed to fetch log file from worker. Client error '403 FORBIDDEN' for url 'http://airflow-worker-0.airflow-worker.default.svc.cluster.local:8793/dag_id=analytics_etl/run_id=manual__2022-09-26T09:25:50.010763+00:00/task_id=copy_device_table/attempt=18.log'
For more information check: https://httpstatuses.com/403

我尝试了什么:

  • 我已确保日志文件存在(我可以执行到airflow-worker-0 pod 并在命令行中在错误中指定的位置读取文件)。
  • 当我确定它仍然可以工作时,我已经将我的部署回滚到更早的提交,但这没有任何区别。
  • 我在values.yaml配置中使用了webserverSecretKeySecretName 我更改了该名称所指向的密码(删除它并创建了一个新密码,如下所述: https://airflow.apache.org/docs/helm-chart/stable/production-guide.html#webserver-secret -key )但它不起作用(没有区别,同样的错误)。
  • 我将配置更改为使用webserverSecretKey (纯文本),没有区别。

我的想法/观察:

  • 该错误表明日志文件不存在,但事实并非如此。 它可能只是无法访问它。
  • 所有 pod 的时间都是相同的(我仔细检查了执行它们并在命令行中输入date
  • 工作程序、调度程序和网络服务器中的网络服务器秘密是相同的(我通过执行它们并找到相应的环境变量来仔细检查)

有任何想法吗?

原来这是官方 Airflow Helm 图表的最新版本 (2.4.0) 的已知错误,此处报告: https://github.com/apache/airflow/discussions/26490

应该在版本 2.4.1 中解决,该版本应该在接下来的几天内可用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM