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

时间:2020-12-30 07:22:54

标签: kubernetes apache-nifi nfs kubernetes-statefulset

上下文

我们在 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 共享,但看起来像是一种解决方法。

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

1 个答案:

答案 0 :(得分:1)

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

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