管理日志¶
在管理 Airflow 日志方面,您有多种选择。
无持久化¶
使用此选项,Airflow 将在本地记录到每个 pod。因此,日志仅在 pod 的生命周期内可用。
helm upgrade --install airflow apache-airflow/airflow \
--set logs.persistence.enabled=false
# --set workers.persistence.enabled=false (also needed if using ``CeleryExecutor``)
Celery 工作节点日志持久化¶
如果您正在使用 CeleryExecutor
,默认情况下,工作节点会将日志持久化到一个使用 volumeClaimTemplate
创建的卷声明中。
您可以修改该模板
helm upgrade --install airflow apache-airflow/airflow \
--set executor=CeleryExecutor \
--set workers.persistence.size=10Gi
请注意,使用此选项只会持久化任务日志,而启用日志持久化时还会持久化调度程序日志。
启用日志持久化¶
此选项将使用 ReadWriteMany
的访问模式配置 PersistentVolumeClaim
。然后,Airflow 的每个组件都将记录到同一卷上。
并非所有卷插件都支持 ReadWriteMany
访问模式。有关详细信息,请参阅持久卷访问模式。
helm upgrade --install airflow apache-airflow/airflow \
--set logs.persistence.enabled=true
# you can also override the other persistence
# by setting the logs.persistence.* values
# Please refer to values.yaml for details
外部提供的 PVC¶
在这种方法中,Airflow 将记录到现有的 ReadWriteMany
PVC。您将卷声明的名称传递给 Chart。
helm upgrade --install airflow apache-airflow/airflow \
--set logs.persistence.enabled=true \
--set logs.persistence.existingClaim=my-volume-claim
请注意,该卷需要可由 Airflow 用户写入。最简单的方法是确保 GID 0
具有写入权限。有关详细信息,请参阅Docker 镜像入口点文档。
Elasticsearch¶
如果您的集群将日志转发到 Elasticsearch,您可以配置 Airflow 以从中检索任务日志。有关详细信息,请参阅Elasticsearch 提供程序指南。
helm upgrade --install airflow apache-airflow/airflow \
--set elasticsearch.enabled=true \
--set elasticsearch.secretName=my-es-secret
# Other choices exist. Please refer to values.yaml for details.