管理日誌¶
在管理 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.