Helm + Kubernetes 上传大文件 ~30-80 MB 到集群并将其挂载到 pods

Helm + Kubernetes upload large file ~30-80 MB to cluster and mount it to pods

我有 helm + kubernetes 设置。我需要在集群中存储大约 30-80 MB 的大文件并将其装载到 pods。我如何实现这一点,这样我就不会手动将文件上传到每个环境?

一种方法是使用 helm install+upgrade hook 和 init 容器。

  1. 设置 helm 安装挂钩以创建 kubernetes 作业,将文件下载到已安装的卷。
  2. pod 上的 init 容器将无限期地等待,直到下载完成。

您可以使用 NFS 共享常用文件。有很多方法可以将 NFS 与 K8s 一起使用,例如 one。如果您的集群由 AWS 等云提供商管理,您可以考虑兼容 NFS 的 EFS。云平台上的 NFS 兼容解决方案在今天非常普遍。这样您就不需要手动将文件上传到工作节点。您的 helm chart 将专注于创建必要的 PersistentVolumeClaim/PersistentVolume 和卷挂载以访问共享文件。