【问题标题】:What's a conceptual difference between PersistentVolume and PersistentVolumeClaim in kubernetes?Kubernetes 中 PersistentVolume 和 PersistentVolumeClaim 之间的概念区别是什么?
【发布时间】:2019-05-17 21:15:01
【问题描述】:

我知道 pvc 在 k8s 中可以用作卷。我知道如何创建它们以及如何使用它们,但我不明白为什么有两个,PV 和 PVC。

谁能告诉我 PV/PVC 区别背后的架构原因?它试图解决什么样的问题(或者这背后的历史是什么)?

【问题讨论】:

标签: kubernetes


【解决方案1】:

很容易被名字抛出,但kubernetes documentation does have an explanation of the difference

PersistentVolume (PV) 是集群中由管理员配置的一块存储。它是集群中的资源,就像节点是集群资源一样。 PV 是与 Volumes 类似的卷插件,但其生命周期独立于使用 PV 的任何单个 pod。

PersistentVolumeClaim (PVC) 是用户的存储请求。它类似于 pod。 Pod 消耗节点资源,PVC 消耗 PV 资源。 Pod 可以请求特定级别的资源(CPU 和内存)。声明可以请求特定的大小和访问模式(例如,可以安装一次读/写或多次只读)。

因此,PVC 将应用程序与特定存储分离。它允许应用程序说它需要一些满足某些要求的存储,而无需具体说明是哪一块存储。这也使得可以定义集群级别的规则来满足应用程序的存储要求。

【讨论】:

    【解决方案2】:

    尽管名称不同,但它们有两个不同的用途:存储抽象 (PV) 和此类存储请求 (PVC)。它们一起实现了关注点的清晰分离(使用我们的Kubernetes Cookbook 中的图来说明这一点):

    存储管理员专注于配置 PV(最好是通过定义存储类 dynamically),开发人员使用 PVC 获取 PV 并在 pod 中使用它。

    【讨论】:

      猜你喜欢
      • 2012-03-23
      • 2012-06-02
      • 2023-03-10
      • 2016-04-24
      • 1970-01-01
      • 2013-11-04
      • 2011-01-13
      • 2023-03-08
      • 2017-02-06
      相关资源
      最近更新 更多