管理日誌

關於管理您的 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 worker 日誌持久性

如果您使用 CeleryExecutor,worker 預設會將日誌持久化到使用 volumeClaimTemplate 建立的磁碟區宣告。

您可以修改範本

helm upgrade --install airflow apache-airflow/airflow \
  --set executor=CeleryExecutor \
  --set workers.persistence.size=10Gi

請注意,使用此選項僅持久化任務日誌,與啟用日誌持久性時不同,後者也會持久化排程器日誌。

日誌持久性已啟用

此選項將佈建一個存取模式為 ReadWriteManyPersistentVolumeClaim。 然後,Airflow 的每個組件都將記錄到同一個磁碟區。

並非所有磁碟區外掛程式都支援 ReadWriteMany 存取模式。 有關詳細資訊,請參閱 Persistent Volume Access Modes

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 image entrypoint documentation 中找到。

Elasticsearch

如果您的叢集將日誌轉發到 Elasticsearch,您可以配置 Airflow 以從中檢索任務日誌。 有關更多詳細資訊,請參閱 Elasticsearch providers guide

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.

這個條目有幫助嗎?