【问题标题】:How to share a single writable file between pods, in the same directory with a non-sharable file (writable configmap)如何在 pod 之间共享单个可写文件,与不可共享文件位于同一目录中(可写 configmap)
【发布时间】:2019-03-22 02:59:22
【问题描述】:

我正在尝试在我的 Kubernetes pod 中挂载一个共享的读/写文件。此文件在所有 pod 中必须相同。但是,在同一个目录中,我需要每个 pod 都有一个不同的只读文件。这就是为什么我不能在目录中挂载 PVC 并收工的原因。

知道如何将可共享的读/写文件放在与所有其他 pod 相同的目录中,但在该目录中有另一个文件,每个 pod 都不同吗?

这个想法简单来说是一个读/写配置映射,我知道它是不存在的。任何解决方法的想法?

【问题讨论】:

    标签: kubernetes persistent-storage configmap


    【解决方案1】:

    您可以考虑在包含只读和可写文件的文件夹中使用符号链接。让符号链接分别指向只读和可写文件的众所周知的位置。将 PVC 和 configmap 挂载到符号链接目标,这应该会给您所需的行为。

    希望这会有所帮助!

    【讨论】:

    • 我在我的生命周期 postStart 阶段运行 ln 命令。目标文件的初始值在链接目录中成功使用,但是一旦容器写入文件,更改就不会传播回目标。我尝试通过kubectl exec 运行ln 命令,这次更改传播。知道如何在容器中运行此命令而无需手动执行吗?
    【解决方案2】:

    在所有 pod 中需要相同的文件,我将放入 s3 amazon、dynamoDB 或 elasticCache 等文件存储中。取决于文件是否为文本。

    我将在本地存储的特定文件。如果 pod 死了,你需要坚持它吗?

    【讨论】:

    • 只读文件不需要持久化。它是特定于 pod 的,因此如果 pod 被终止并重新创建,新的 pod 将创建自己的。
    • 我担心需要相同的文件,手动同步它们看起来有些麻烦。我会让他们在中心位置。
    • 由于 pod 将写入这个可共享/相同的文件,因此在远程存储桶中同步它们似乎是一项复杂的工作。你有什么具体的结构吗?
    • 文件怎么样,是txt文件吗?或图像或什么?你要写多少次?
    • 这是一个 json 文件,假设每个 pod 都将像 {"x": 123, "y": 456} 这样的对象添加到共享 json 的列表中。
    猜你喜欢
    • 2016-05-26
    • 2018-02-02
    • 2012-07-02
    • 2022-12-19
    • 1970-01-01
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多