gpt4 book ai didi

storage - 处于 ReadOnlyMany 模式的持久卷上的容量参数的用途是什么?

转载 作者:行者123 更新时间:2023-12-01 03:14:31 28 4
gpt4 key购买 nike

在处理 ReadOnlyMany 存储时,我正在努力理解 PersistentVolume 上的容量参数的概念,以及 PersistentVolumeClaim 上的存储请求。如果存储以只读方式安装 - 容量/请求到底与什么有关?

IE。

spec:
storageClassName: manual
capacity:
storage: 50Gi
accessModes:
- ReadOnlyMany
hostPath:
path: "/foo/bar"


spec:
storageClassName: manual
accessModes:
- ReadOnlyMany
resources:
requests:
storage: 1Mi

最佳答案

持久卷 (PV) 是通常由管理员创建或由云提供商自动配置的对象。

你可以把它想象成放在 table 上的闪存驱动器,可供认领。

PersistentVolumeClaim (PVC) 是 PV 应遵守的最低规范。

继续闪存驱动器的类比,我们可以想象我们需要一个闪存驱动器:

  • red, (color=red) (严格条款)
  • 美国生产(manufactured=usa)(严格条款)
  • 最小容量为 2Gb(容量>=2gb)(我在这里输入“更多或相等”,因为这就是 kubernetes 按容量选择 PV 的方式)(不那么严格)

  • (解决方法:您可以将容量值放入标签并使用选择器仅过滤您想要的大小,而不是更少,而不是更多。我们现在跳过它)

    我们可以在 table 上找到两个闪存驱动器,它们是:
  • 红色,(完全匹配)(不关心其他颜色)
  • 美国制造(完全匹配)(不要在意中国或越南生产的)
  • 容量为 16 Gb 和 4 Gb

  • 只要我们只需要 2Gb,我们就采用 4Gb 容量的闪存驱动器,这更接近我们的需求。

    在您选择正确的“闪存驱动器”(将 PV 绑定(bind)到您的容器)后,您可以使用其全部容量(4Gb 可用),即使您的要求较小(2Gb 就足够了)。

    但是当你从 table 上拿走闪存驱动器时,没有其他人可以认领它(如果你拿走了最后一个)。在 Kubernetes 中,PV 和 PVC 是一对一绑定(bind)的。因此,如果您有一个 50Gb 的 PV 和两个 5GB 的 claim ,那么只有一个 claim 会得到满足。

    你可以想象 ReadOnlyMany ReadWriteOnce PV 中的模式是一堆具有相同数据的 CD 或 DVD 磁盘。你可以在上面写一些东西,然后任何人都可以读很多遍。 ReadWriteOnce PV 只能绑定(bind)到一个具有写访问权限的容器,但仍然可以绑定(bind)到许多具有只读访问权限的容器(从一堆中取出一个磁盘,还有更多)。

    在我们的例子中,按大小搜索信息没有多大意义,因此在 PVC 中,您可以使用任何小于 PV 预期的数字,并使用选择器、访问模式和存储类来准确找到您需要的内容。

    例如,您可以在后台创建具有 NFS 共享的 PV:
    apiVersion: v1  
    kind: PersistentVolume
    metadata:
    name: pv-with-data
    labels:
    version: stable
    capacity: 50Gi <-(workaround I’ve mentioned before)
    spec:
    capacity:
    storage: 50Gi
    accessModes:
    - ReadWriteOnce
    - ReadOnlyMany <- (yes, you can have several modes in PV specification)
    persistentVolumeReclaimPolicy: Retain
    nfs:
    path: /opt/export
    server: 10.10.0.10

    PVC 是这样的:
    apiVersion: v1  
    kind: PersistentVolumeClaim
    metadata:
    name: data-claim
    spec:
    accessModes:
    - ReadWriteOnce
    resources:
    requests:
    storage: 25Gi
    selector:
    matchLabels:
    version: "stable"
    matchExpressions:
    - key: capacity
    operator: In
    values: [25Gi, 50Gi]

    更多(无聊)信息可以在文档中找到:

    Volumes
    Persistent Volumes
    Storage Classes
    Dynamic Volume Provisioning
    Gigi Sayfan, Mastering Kubernetes

    关于storage - 处于 ReadOnlyMany 模式的持久卷上的容量参数的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49561968/

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