PV和PVC的解释 – Kubernetes

检查状态,你会发现STATUS是可用的,CLAIM栏是空白的,我们的PV没有与任何PVC绑定。# kubectl get pv,pvc。

持久卷(PV)是Kubernetes集群中的一块存储,由集群的管理员配置和管理。它是一种将存储与需要它的实际吊舱分开的方式。PV就像一个**驱动器,可以被多个pod共享。

持久卷要求(PVC)是对持久卷中特定数量的存储的请求。它是一种让pod要求访问它需要存储数据的一块存储的方式。Pod指定它所需要的存储量和类型,集群提供一个符合请求的持久化卷。

总而言之,PV就像Kubernetes集群中的一个存储资源池,可以被多个pod访问,而PVC则是一个pod从PV中请求和要求访问特定数量的存储的方式。

通过使用PV和PVC,你可以确保你的应用程序的数据被持久性地存储,并能在pod重新启动或失败后存活。它们还使你能够更有效地管理你的存储资源,允许你在多个pod之间共享存储,并根据需要动态地配置存储。

从下面的PV和PVC图表中,可以更简单地解持久性卷和卷要求访问模式。

PV和PVC的解释 - Kubernetes

持久卷索赔(PVC)可以有不同的访问模式,它定义了PVC如何被使用它的pod访问。可用的访问模式是。

一次性读写(RWO)。这是默认的访问模式。它允许PVC被集群中的一个节点挂载为读写。这意味着PVC可以被运行在该节点上的单个pod使用,而对集群中的其他节点不可用。ReadOnlyMany(ROX)。这种访问模式允许PVC被集群中的许多节点挂载为只读。这意味着PVC可以被运行在不同节点上的多个pod使用,但它们只能从中读取,不能写入。ReadWriteMany(RWX)。这种访问模式允许集群中的许多节点将PVC挂载为读写器。这意味着PVC可以被运行在不同节点上的多个pod使用,它们既可以从中读取也可以写入。ReadWriteOncePod:ReadWriteOncePod存储类是一个预定义的存储类,可以用来创建一个具有ReadWriteOnce访问模式的持久卷,该持久卷打算由一个pod使用。Kubernetes确保该pod是整个集群中唯一可以读取该PVC或向其写入的pod。

当创建一个PVC时,你可以指定适合你使用情况的访问模式。根据你的应用程序的需求和你使用的存储类,选择正确的访问模式是很重要的。选择错误的访问模式会导致你的应用程序出现意外的行为或错误。

在这个例子中,我们在节点的文件系统上使用主机路径创建一个PV,并将其命名为my-pv-rox、my-pv-rwo和my-pv-rwx。存储类的名称被设置为标准,容量被设置为5GB,访问模式被设置为只读多用、一次读写和一次读写多用。

接下来,我们将创建一个名为my-pvc-rox、my-pvc-rwo和my-pvc-rwx的PVC,使用标准存储类请求1GB的存储空间,访问模式为ReadOnlyMany、ReadWriteOnce和ReadWriteMany。这个PVC将被绑定到我们之前创建的my-pv-rox、my-pv-rwo和my-pv-rwx PV。

请注意,PV和PVC规范中的存储类别名称必须匹配,才能成功地将它们绑定在一起。另外,PVC中指定的访问模式必须与PV支持的访问模式相匹配。

请看屏幕截图,它将显示在minikube上执行的每个命令的输出。

检查你现有的PV和PVC状态。

# kubectl get pv,pvc

PV和PVC的解释 - Kubernetes

2. 然后用Kubernetes的YAML定义创建PV。

#kubectl create -f pv_ReadWriteOnce.yaml; kubectl create -f \\ pv_ReadOnlyMany.yaml; kubectl create -f pv_ReadWriteMany.yaml

PV和PVC的解释 - Kubernetes

3. 检查状态,你会发现STATUS是可用的,CLAIM栏是空白的,我们的PV没有与任何PVC绑定。

# kubectl get pvc

PV和PVC的解释 - Kubernetes

4. 用Kubernetes的YAML定义创建PVC。

# kubectl create -f pvc_ReadWriteOnce.yaml; kubectl create -f pvc_ReadOnlyMany.yaml; kubectl create -f pvc_ReadWriteMany.yaml

PV和PVC的解释 - Kubernetes

6. 现在你可以检查状态。注意STATUS和CLAIM,看看我们的PVC索赔是如何与AccessModes发生的。

# kubectl get pv,pvc

PV和PVC的解释 - Kubernetes

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
AndyAndy认证作者
上一篇 2023年3月21日 09:56
下一篇 2023年3月21日 10:05

相关文章

发表回复

登录后才能评论

客服QQ: 8838832

客服微信