【问题标题】:How to mount Kubernetes directory as some other directory?如何将 Kubernetes 目录挂载为其他目录?
【发布时间】:2021-04-25 02:40:24
【问题描述】:

我有一个想要复制到另一个环境的 Kubernetes 应用程序。 原应用使用容器目录/data/X,并与NFS服务器同步。

我有以下问题:

  • 我想在另一个环境中运行新应用,并且不能覆盖原始应用的 NFS 存储
  • 我需要在新应用的容器中创建 /data/X 目录,因为开发人员依赖容器内的这个目录 - 他们在那里安装软件并在其中创建文件

我的问题是:我是否可以选择在环境中的容器内创建目录 /data/Y 并让它充当文件夹 /data/X所以软件正确安装在容器中,文件被创建并且原始应用程序的 NFS 存储没有被覆盖?

【问题讨论】:

  • 您好,您能否发布您的DeploymentYAML 清单以供参考?如果我正确理解您的问题,我认为@danielorn 提供的答案是正确的。如果不是这种情况,您能否用更多细节编辑您的问题? NFS 服务器是否在您的新应用中发挥作用?

标签: kubernetes storage nfs


【解决方案1】:

您是否只希望/data/X 文件夹位于正在运行的容器内,而不是在这个新环境的 NFS 上?

如果是这样,您可以确保将 /data/X 文件夹创建为图像的一部分,例如将此行放入 Dockerfile

RUN mkdir -p /data/X

在原始环境中,您将 NFS 存储挂载到 /data/X。这将像 Linux 中的挂载一样,即它们会在本地文件系统上隐藏 /data/X 中的所有内容,并且您似乎正在读取/写入 NFS 共享。

在您创建的新环境中,您只需跳过在那里安装任何东西。开发者仍然可以像往常一样使用/data/X,但内容不会被持久化,也无法在容器之间共享

【讨论】:

    猜你喜欢
    • 2020-06-09
    • 2019-12-21
    • 2021-06-14
    • 2019-01-31
    • 2014-07-20
    • 1970-01-01
    • 2017-08-08
    • 2018-08-25
    • 1970-01-01
    相关资源
    最近更新 更多