gpt4 book ai didi

kubernetes - Airflow kubernetes pod 运算符(operator)和任务之间共享文件?

转载 作者:行者123 更新时间:2023-12-05 05:51:00 24 4
gpt4 key购买 nike

我有 3 个容器镜像可以运行我的工作负载。

(每个都希望这些文件在自己的文件系统中)

  1. 容器 1 生成 file_1
  2. 容器 2 使用 file_1 并生成 file_2
  3. 容器 3 消费 file_1 和 file_2 并生成 file_3

因此 Airflow 任务将是:

所以容器 1 >> 容器 2 >> 容器 3

我想将 KubernetesPodOperator 用于 Airflow ,以利用在 kubernetes 中运行的 Airflow 的自动缩放选项。但是由于 KubernetesPodOperator 为每个任务创建一个 pod,并且每个任务都是它们自己的任务,我该如何传递这些文件?

我可以修改每个容器中的源代码以了解像 s3 这样的中间位置来上传文件,但是有没有一种方法可以在不修改源工作人员的情况下内置 Airflow 方式来做到这一点?

最佳答案

您可以在 Airflow 中使用 S3 亚马逊运营商:https://airflow.apache.org/docs/apache-airflow-providers-amazon/stable/operators/s3.html

或者您编写自定义 boto3 代码,但是如果您不需要代码,您可以使用 NFS 或 EFS 服务。

阅读更多相关信息:https://medium.com/asl19-developers/create-readwritemany-persistentvolumeclaims-on-your-kubernetes-cluster-3a8db51f98e3

你想要缩放,所以在这种情况下你必须使用:RWX — ReadWriteMany

您还可以查看不同的 NFS 服务,例如:Minio , GlusterFS等,这将为您提供带有 ReadWriteMany 选项的 PVC。

文件将持久保存到由 NFS 管理的 PVC 磁盘中,或者如果使用 EFS 服务 AWS,所有 POD 都可以使用这些文件并访问它。

如果您使用的是 GCP GKE,请随时查看我的其他答案:How to create a dynamic persistent volume claim with ReadWriteMany access in GKE?

关于kubernetes - Airflow kubernetes pod 运算符(operator)和任务之间共享文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70442294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com