gpt4 book ai didi

Kubernetes 持久卷访问模式 : ReadWriteOnce vs ReadOnlyMany vs ReadWriteMany

转载 作者:行者123 更新时间:2023-12-01 07:50:13 24 4
gpt4 key购买 nike

据这位官方document , Kubernetes Persistent Volumes 支持三种访问模式。

  • ReadOnlyMany
  • ReadWriteOnce
  • ReadWriteMany

  • 文档中对它们的给定定义非常高级。如果有人可以更详细地解释它们以及我们应该使用一个与另一个的不同用例的一些示例,那就太好了。

    最佳答案

    您应该使用 ReadWriteX当您计划拥有需要写入卷的 Pod,而不仅仅是从卷中读取数据时。

    您应该使用 XMany当您希望 Pod 能够在这些工作负载在 Kubernetes 集群中的不同节点上运行时访问给定的卷。这些 Pod 可能是属于一个 Deployment 的多个副本,也可能是完全不同的 Pod。在许多情况下,需要在不同节点上运行 Pod,例如,如果您有多个 Pod 副本用于单个 Deployment,那么即使其中一个节点发生故障,让它们在不同节点上运行也有助于确保一定程度的持续可用性或正在更新。

    如果你不使用 XMany ,但是您确实有多个 Pod 需要访问给定的卷,这将迫使 Kubernetes 安排所有这些 Pod 在该卷首先挂载到的任何节点上运行,如果这样的 pod 太多,这可能会使该节点过载,并且如上一段所述,可能会影响其 Pod 需要访问该卷的 Deployment 的可用性。

    所以把所有这些放在一起:

  • 如果您需要写入卷,并且您可能有多个 Pod 需要写入卷,您希望将这些 Pod 灵活调度到不同的节点,ReadWriteMany是给定 K8s 集群的卷插件的选项,请使用 ReadWriteMany .
  • 如果您需要写入该卷,但您不要求多个 pod 应该能够写入该卷,或者 ReadWriteMany根本不适合您,请使用 ReadWriteOnce .
  • 如果您只需要从卷中读取,并且您可能有多个 Pod 需要从卷中读取,您希望将这些 Pod 灵活地调度到不同的节点,ReadOnlyMany是给定 K8s 集群的卷插件的选项,请使用 ReadOnlyMany .
  • 如果您只需要从卷中读取,但您不需要多个 pod 应该能够从中读取,或者 ReadOnlyMany根本不适合您,请使用 ReadWriteOnce .在这种情况下,您希望卷是只读的,但卷插件的限制迫使您选择 ReadWriteOnce (没有 ReadOnlyOnce 选项)。作为一个好的做法,请考虑 containers.volumeMounts.readOnly设置为 true在您的 Pod 规范中,用于与打算只读的卷相对应的卷挂载。
  • 关于Kubernetes 持久卷访问模式 : ReadWriteOnce vs ReadOnlyMany vs ReadWriteMany,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57798267/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com