持久量(PV)和持久量声明(PVC)之间有什么区别?

时间:2018-02-23 20:52:09

标签: kubernetes openshift storage

通过参考文档,Kubernetes / Openshift中持久量(PV)和持久量声明(PVC)之间有什么区别?

简单来说两者之间有什么区别?

10 个答案:

答案 0 :(得分:24)

PVC 是存储需求的声明,可以在某些时候变得可用 - 与某些实际的 PV 绑定。

这有点像 promise 的异步编程概念。 PVC承诺它将在某个时候"翻译"应用程序将能够使用的存储卷,以及类,大小和访问模式(ROX,RWO和RWX)等已定义的特性之一。

这是一种抽象思考远离您的pod /部署的特定存储实现的方法。在大多数情况下,您的应用程序不需要声明"从大小为Y&#34的服务器X给我NFS存储;它更像是"我需要持久存储默认类和大小Y"。

有了这个,不同群集上的部署可以选择以不同方式满足该需求。可以链接EBS设备,另一个可以配置GlusterFS,并且在两种情况下您的核心清单仍然相同。

此外,您可以在部署中定义卷声明模板,以便每个窗格自动创建反射PVC(即,支持基础架构无关的存储定义,用于一组可扩展的窗格,每个窗格都需要自己的专用存储。< / p>

答案 1 :(得分:20)

来自docs

  

PV是群集中的资源。 PVC是对这些资源的请求,也可作为对资源的索赔检查。

因此,持久卷(PV)是存储持久数据的主机上的“物理”卷。持久卷声明(PVC)是平台为您创建PV的请求,您可以通过PVC将PV附加到您的Pod。

类似于

的东西
Pod -> PVC -> PV -> Host machine

答案 2 :(得分:7)

简短:
-,这里有存储空间! PersistenVolume (PV)
-如果确实需要,您将获得存储! PersistentVolumeClaim (PVC)

答案 3 :(得分:3)

简短

持久卷-可用存储空间,假设您有100Gi

Persistent Volume Claim-您从“ Persistent Volume”中请求,例如,您请求获得10Gi,但是如果您请求110Gi,您将不会获得它。

答案 4 :(得分:3)

PersistentVolume(PV)是集群中的一块存储,已由服务器/存储/集群管理员配置或使用存储类动态配置。就像节点一样,它是集群中的一种资源。

PersistentVolumeClaim(PVC)是用户可以通过PV进行存储的请求。它类似于豆荚。容器消耗节点资源,PVC消耗PV资源。 Pod可以请求特定级别的资源(CPU和内存)。声明可以请求特定的大小和访问模式(例如,可以将它们安装为ReadWriteOnce,ReadOnlyMany或ReadWriteMany。

答案 5 :(得分:2)

  1. PersistentVolume(PV)是群集或中央存储中的一块存储,已由管理员提供或使用存储类动态提供。

  2. PersistentVolumeClaim(PVC)是用户存储的请求。它类似于豆荚。 Pod消耗节点资源,PVC消耗PV资源。

在现实生活中,假设您的父母有很多钱(PV),但只有在您根据需要(PVC)提出要求时,父母才会提供给您。

答案 6 :(得分:1)

PersistentVolume(PV)和PersistentVolumeClaim(PVC)是Kubernetes提供的资源API。 PV是应该由管理员预先分配的一块存储。 PVC是用户要求存储的内容。

答案 7 :(得分:1)

在将PV和PVC与节点和吊舱进行比较时,您会发现一些共同点。 PV就像一个节点,它定义了存储。 像pod一样的PVC需要资源(内存,CPU)并在节点具有要分配的资源的情况下获取它们(在这种情况下,这是存储)。

答案 8 :(得分:1)

PV 是附加到 Pod 或部署的存储的逻辑表示。它使用 PVC 从您的 Kube 集群中的物理存储资源中请求存储资源。在我看来,它的关系更像是:

Pods -> PV -> PVC -> Physical Storage

网上的许多解释听起来令人困惑,我从它们在清单文件中的关系中理解这一点。

答案 9 :(得分:0)

“持续批量声明”告诉您在特定集群中可以访问哪些选项,他们在名为Smart Tech的商店获得了此通函,其中包含一些有关您的配置选项的广告,这些广告就是“持续批量声明”。

在您的配置文件中,您将写出群集中将要拥有的不同的“ Persistent Volume Claims”,有点像圣诞老人的愿望清单,但是您当然要把它带给Smart的销售人员技术完成后。

因此,您编写一个配置文件,指出所有集群都应该有一个600gb的硬盘驱动器选项,以及一个1TB的硬盘驱动器选项。

当您选择持久卷声明的以下选项之一时,您去请求Kubernetes(销售人员)为您获取该选项(即您选择的选项),Kubernetes必须浏览这些存储选项实例在备有现货的房间里。这些硬盘驱动器实例可以立即使用,并且由于它们是提前创建的,因此被视为静态配置。

另一方面,当您要求Kubernetes销售人员时,会动态创建动态配置的选项,就像即时生产一样,它是在您立即要求时创建的。 / p>

因此,Persistent Volume Claim是存储选项的广告,无论您选择哪个Kubernetes都可以获取该选项,要么在存储中要么在运行中创建一个。

Persistent Volume是您从Kubernetes获得的实际产品或选件。如果Kubernetes没有您要的内容,它将尝试为您动态创建它。

因此,PVC是Smart Tech必须向您的集群提供的广告,销售人员将为您的Kubernetes获得聚氯乙烯,PV是交付给您的实际成品。