高级存储
PV和PVC
由于kubernetes支持的存储系统有很多,要求客户全都掌握,显然不现实。为了能够屏蔽底层存储实现的细节,方便用户使用, kubernetes引入PV和PVC两种资源对象。
-
PV(Persistent Volume)
-
PV是Kubernetes中的一个API对象,它代表集群中的一块存储,这块存储已经预先按照某种方式设置好了,并且可以被多个用户使用。PV是集群资源,由Kubernetes管理员预先配置,它们不会因Pod的终止而消失,因此被称为“持久化”。PV可以采用多种形式,例如本地存储、网络附加存储(NAS)、云存储服务等。
-
-
PVC(Persistent Volume Claim)
-
PVC是用户对存储的请求,它允许用户以声明式的方式请求存储资源,而无需关心存储的具体实现细节。用户定义所需的存储容量、访问模式和存储类别(如果需要),然后提交PVC请求。
-
PV(Persistent Volume)
-
PV(Persistent Volume)在Kubernetes中指的是持久化卷,它是一种存储抽象的概念,代表了集群中的一块存储,这可以是本地磁盘、网络附加存储(NAS)、或者云存储等。PV与底层存储的具体实现细节相解耦,使得Kubernetes管理员可以灵活地管理存储资源。
PV的主要特点包括
-
独立性:PV独立于Pod存在,即使使用PV的Pod被删除,PV中的数据也不会丢失。
-
持久性:PV在设计上用于数据的持久化存储,它们在Kubernetes集群中是长寿命的。
-
可配置性:Kubernetes管理员可以配置PV的大小、访问模式(如ReadWriteOnce、ReadOnlyMany、ReadWriteMany)以及存储类别(StorageClass)。
-
可重用性:PV一旦被创建,可以被多个Pod重用,只要它们的访问模式和存储需求相匹配。
-
动态供应:通过StorageClass资源,Kubernetes可以自动创建PV以满足PVC的请求,这个过程称为动态存储供应。
PV的生命周期
-
创建:Kubernetes管理员根据集群的存储需求预先创建PV资源。
-
绑定:当用户提交PVC(Persistent Volume Claim)请求时,Kubernetes会尝试找到一个匹配的PV进行绑定。
-
使用:绑定成功后,PV可以被Pod通过PVC访问和使用。
-
回收:当PVC被删除时,PV可以被释放并根据回收策略进行清理,以便再次使用或保持其数据。
PV关键配置参数
-
存储类型
-
定义:底层实际存储的类型,Kubernetes 支持多种存储类型,如 NFS、iSCSI、glusterFS 等,每种类型的配置都会有所不同。
-
影响因素:不同存储类型可能支持的访问模式和回收策略不同。
-
-
存储能力(capacity)
-
定义:当前主要支持存储空间的设置(如
storage=1Gi
),但未来可能会增加 IOPS、吞吐量等其他性能指标的配置。 -
注意事项
-