【发布时间】:2021-12-18 20:36:11
【问题描述】:
我有一个 Google Cloud Composer 1 环境 (Airflow 2.1.2),我想在其中运行一个使用 KubernetesPodOperator 的 Airflow DAG。
Cloud Composer makes available 给所有 DAG 一个共享文件目录,用于存储应用程序数据。目录中的文件驻留在 Composer 管理的 Google Cloud Storage 存储桶中。 Composer 使用 FUSE 将目录映射到其所有 Airflow 工作 pod 上的路径 /home/airflow/gcs/data。
在我的 DAG 中,我像这样运行几个 Kubernetes pod:
from airflow.contrib.operators import kubernetes_pod_operator
# ...
splitter = kubernetes_pod_operator.KubernetesPodOperator(
task_id='splitter',
name='splitter',
namespace='default',
image='europe-west1-docker.pkg.dev/redacted/splitter:2.3',
cmds=["dotnet", "splitter.dll"],
)
我运行的所有 pod 中的应用程序代码都需要读取和写入 /home/airflow/gcs/data 目录。但是当我运行 DAG 时,我的应用程序代码无法访问该目录。这可能是因为 Composer 已将目录映射到工作 pod,但没有将此礼貌扩展到我的 pod。
我需要做什么才能让我的 pod 对 /home/airflow/gcs/data 目录进行读写访问?
【问题讨论】:
标签: kubernetes google-cloud-platform airflow google-cloud-composer