通过参考文档,Kubernetes / Openshift中的持久卷(PV)和持久卷声明(PVC)有什么区别?
两者之间的简单区别是什么?
Answers:
PVC是需要存储的声明,可以在某个时候变得可用/满足要求-就像绑定到某些实际PV上一样。
它有点像promise的异步编程概念。PVC承诺它将在某个时候“转换”为您的应用程序将能够使用的存储卷,并定义为类,大小和访问模式(ROX,RWO和RWX)之一。
这是一种从吊舱/部署中抽象出对特定存储实现的思考的方法。在大多数情况下,您的应用程序不需要声明“从大小为X的服务器X给我NFS存储”;它更像是“我需要持久存储默认类和大小Y”。
这样,不同群集上的部署可以选择不同地满足该需求。一个可以链接EBS设备,另一个可以配置GlusterFS,并且两种情况下您的核心清单仍然相同。
此外,您可以在部署中定义批量声明模板,以便每个Pod自动创建一个反映PVC(即,为一组需要各自专用存储的可伸缩Pod支持与基础结构无关的存储定义)。
来自文档
PV是集群中的资源。PVC是对这些资源的请求,并且还充当对资源的声明检查。
因此,持久卷(PV)是存储持久数据的主机上的“物理”卷。永久批量声明(PVC)是要求平台为您创建PV的请求,您可以通过PVC将PV附加到吊舱。
类似于
Pod -> PVC -> PV -> Host machine
PVC
,PV
因为它定义了PV
可用于通过via生成的s类PVC
。
PersistentVolume(PV)是集群中的一块存储,已由服务器/存储/集群管理员提供或使用存储类动态提供。就像节点一样,它是集群中的一种资源。
PersistentVolumeClaim(PVC)是用户可以通过PV进行存储的请求。它类似于豆荚。容器消耗节点资源,PVC消耗PV资源。Pod可以请求特定级别的资源(CPU和内存)。声明可以请求特定的大小和访问模式(例如,可以将它们安装为ReadWriteOnce,ReadOnlyMany或ReadWriteMany。
持续批量声明告诉您在特定群集中可以访问哪些选项,他们在名为Smart Tech的商店获得了此通函,其中包含一些有关您的配置选项的广告,这些广告就是永久批量声明。
在您的配置文件中,您将写出群集中将要拥有的不同的Persistent Volume Claims,有点像圣诞老人的愿望清单,但当然,当您将其提交给Smart Tech的销售人员时,完成。
因此,您编写了一个配置文件,说所有集群都应该有一个600GB的硬盘驱动器选项以及一个1TB的硬盘驱动器选项。
当您选择``持续批量索赔''的这些选项之一时,您要求Kubernetes(销售人员)为您选择该选项,您选择的选项是,Kubernetes必须浏览库存中的这些存储选项实例房间一应俱全。这些硬盘驱动器实例可以立即使用,并且由于它们是提前创建的,因此被视为静态配置。
另一方面,当您要求Kubernetes销售人员时,会动态创建动态配置的选项,就像即时生产一样,当您立即要求时就创建了选项。
因此,Persistent Volume Claim是存储选项的广告,无论您选择哪个Kubernetes都可以获取该选项,要么在存储中要么在运行中创建一个。
持久卷是您从Kubernetes索取的实际产品或选件。如果Kubernetes没有您要的内容,它将尝试为您动态创建它。
因此,PVC是Smart Tech所提供的广告,他们必须向您的集群提供销售员将为您找到的Kubernetes,PV是交付给您的实际成品。
PersistentVolume(PV)和PersistentVolumeClaim(PVC)是Kubernetes提供的资源API。PV是应该由管理员预先分配的一块存储。PVC是用户要求存储的一块。
将PV和PVC与节点和Pod进行比较时,可以发现一些常见的问题。PV就像一个节点,它定义了存储。像pod一样的PVC需要资源(Mem,CPU),并在节点具有要分配的资源的情况下获取它们,在这种情况下,这就是存储。