【问题标题】:Kubernetes shared File System across PodsKubernetes 跨 Pod 共享文件系统
【发布时间】:2020-11-20 22:39:17
【问题描述】:

一个我似乎找不到好的答案的问题,我很困惑,什么应该是一个简单的答案。我想你可以说我只见树木不见森林。

我有 N 个 Pod 需要访问相同的共享文件系统(包含 20Gig 的 pdf、HTML)只能读取。我不想将它复制到每个 Pod 并在 Docker 中创建一个 Volume。我该如何处理?我不认为这是一个有状态的应用程序,每个 pod 都有自己的更改数据。

  • 节点-0

    • 吊舱-0
      • Java 应用程序 - 需要读取共享文件系统的权限
  • 节点 1

    • 吊舱 1
      • Java 应用程序 - 需要读取共享文件系统的权限
  • 节点 2

    • 吊舱 2
      • Java 应用程序 - 需要读取共享文件系统的权限

【问题讨论】:

  • 您已经尝试过(或考虑过)哪些方法?您是否阅读过 Volumes 上的文档,尤其是卷类型列表?

标签: kubernetes


【解决方案1】:

这个问题非常开放。然而,最近经历了这个思考过程,我可以提出两个选择:

  1. hostPath:您在所有 Kubernetes 节点上将这些数据(可能来自 NFS 或其他一些)挂载到 /data(例如)。然后在 Pod 规范中,将hostPath 类型的卷附加到path: /data

  2. GlusterFS volume:这是我们最终选择的选项,以满足高可用性和速度要求。同一个 GlusterFS 卷(包含 PDF、数据等)可以附加到多个 Pod。

【讨论】:

    【解决方案2】:

    持久卷access mode 称为ReadOnlyMany。并非所有卷插件或 CSI 驱动程序都支持这种模式(linked docco 维护了一个支持表)。

    如果您在 EKS/AKS/GKE 上托管,它们都提供基于文件共享的服务,可以做到这一点。您可以在其他地方使用 NFS 服务器。

    【讨论】:

      猜你喜欢
      • 2022-12-19
      • 2013-01-25
      • 1970-01-01
      • 2020-09-15
      • 1970-01-01
      • 1970-01-01
      • 2014-12-31
      • 2021-12-24
      • 1970-01-01
      相关资源
      最近更新 更多