1 回答
TA贡献2021条经验 获得超8个赞
所以我解决了这个问题,这要归功于我的另一个问题
这里的答案分为两部分:
/home/airflow/gcs是一个gcsfuse卷。将这个目录用于 DockerVolume 是行不通的(可以通过添加插件来工作,我丢失了这个链接:/)
我们想在气流工人中添加一个卷,我们可以通过更新 kubectl 配置来做到这一点:有关如何更新配置的信息,请参阅此问题。我们要添加一个主机路径:
containers:
...
securityContext:
privileged: true
runAsUser: 0
capabilities:
add:
- SYS_ADMIN
...
volumeMounts:
- mountPath: /etc/airflow/airflow_cfg
name: airflow-config
- mountPath: /home/airflow/gcs
name: gcsdir
- mountPath: /var/run/docker.sock
name: docker-host
- mountPath: /bin/docker
name: docker-app
- mountPath: /path/you/want/as/volume
name: mountname
...
volumes:
- configMap:
defaultMode: 420
name: airflow-configmap
name: airflow-config
- emptyDir: {}
name: gcsdir
- hostPath:
path: /path/you/want/as/volume
type: DirectoryOrCreate
name: mountname
- hostPath:
path: /var/run/docker.sock
type: ""
name: docker-host
- hostPath:
path: /usr/bin/docker
type: ""
name: docker-app
现在在 DAG 定义中我们可以使用 volume = {"/path/you/want/as/volume": {"bind": "/out/", "mode": "rw"}}
文件将存在于 POD 中,您可以使用另一个任务将它们上传到 gcs 存储桶左右。
希望它可以有所帮助:)
添加回答
举报