【问题标题】:Kubernetes on GKE how to write data on PVC with readonlymany modeGKE 上的 Kubernetes 如何使用 readonlymany 模式在 PVC 上写入数据
【发布时间】:2019-06-23 04:42:00
【问题描述】:

由于我想与多个 pod 共享我的 PVC,我在 GKE 上创建了一个具有 Readonlymany 模式的 PVC。现在如何将数据放在所有其他 pod 都可以使用的磁盘上。在文档中它说 GKE 只支持 Readwriteonce 和 Readonlymany。那么如何将我的只读数据放到其他 pod 可以使用的磁盘上

【问题讨论】:

    标签: kubernetes google-kubernetes-engine


    【解决方案1】:

    您需要以另一种方式为磁盘播种数据 - 在将其挂载到 Pod 之前。

    更多地了解您要解决的问题会有所帮助。如果您确实需要从多个来源写入,那么使用 Filestore (NFS) 可能会解决这个问题:https://cloud.google.com/community/tutorials/gke-filestore-dynamic-provisioning

    【讨论】:

    • 已经通过cloud.google.com/kubernetes-engine/docs/concepts/… 我的用例仅适用于ReadOnlyMany。假设 pod 中有一个网络服务器。它从 DocRoot 上的共享挂载中读取 Web 内容。但是如何更新 PVC 中的静态挂载。我需要经常更新它,并且不想在图像或 css 有更新时重新启动 pod。最初认为有一个 K8s 作业将写入 PVC,所有网络服务器将从 PVC 读取,但无法弄清楚如何实现相同
    • 听起来 PV 不适合这里:为什么不使用 Google Cloud Storage(对象存储)并从每个 pod 访问它?
    • 怎么样?不想使用 gcsfuse,我已经遇到了问题。这也只是用例之一。另一个用例是有一些配置文件对于所有 pod 都是相同的,并且在外部进行管理。我的应用程序在配置发生变化的地方动态加载。因此,在这种情况下,当我更改文件时,我想将其转储到所有 pod 都可以读取的共享位置。
    • 你应该把这个上下文放在你的问题中——否则很难缩小你的问题的范围。你不能直接用 PV 解决这个问题,所以你应该考虑在这些 Pod 中使用作为卷安装的 ConfigMap:kubernetes.io/docs/concepts/storage/volumes/#configmap - 然后你可以更新 ConfigMap,其中表示的文件将在所有关联的 Pod 中更新。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-15
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多