将共享文件夹挂载到 k8 中的所有状态完整集副本

问题描述

上下文

我们在 Kubernetes 中部署了一个 Apache Nifi 集群作为有状态集,并且卷声明模板用于 Nifi 存储库。

Nifi helm charts we are using

一个用例,文件处理由 Nifi 完成。因此,文件提要被放入共享文件夹中,nifi 将从共享文件夹中读取它。当存在多个 Nifi 节点时,所有三个节点都会从共享文件夹中读取。

在非 kubernetes 环境中,我们使用 NFS 文件共享。

在 AWS 中,我们使用 AWS S3 进行存储,而 Nifi 有处理器可以从 S3 中读取数据。

问题

Nifi 已部署为 statefulset,并为存储库使用卷声明模板。我们如何将这个 NFS 共享挂载到所有 nifi 副本。

或者换句话说,以一般的方式提出问题,

我们如何将单个 NFS 共享文件夹挂载到所有 statefulset 副本?

尝试过的解决方

我们尝试将单独的 pvc 声明文件链接到 nfs 共享,但看起来像是一种解决方法

有人可以帮忙吗?任何提示将不胜感激。

解决方法

像往常一样将其放入 pod 模板中。 NFS 是一种“ReadWriteMany”卷类型,因此您可以创建一个 PVC,然后同时在每个 pod 上使用它。您也可以直接在 pod 数据中配置 NFS 卷,但使用 PVC 可能更好。

听起来你所拥有的是正确的:)