Kubernetes 对于有状态的容器应用或者对数据需要持久化的应用,不仅需要将容器内的目录挂载到宿主机的目录或者 emptyDir 临时存储卷,而且需要更加可靠的存储来保护应用产生的重要数据,以便容器应用在重建之后,仍然可以使用之前的数据。不过,存储资源和计算资源(GPU/内存)的管理方式完全不同。为了能够屏蔽底层存储实现的细节,让用户方便使用,同时能让管理员方便管理,Kubernetes从v1.0版本就引入了 PersistentVolume 和PersistentVolumeClaim 两个资源对象来实现对存储的管理子系统。
PersistentVolume(PV) 是对底层网络共享存储的对象,将共享存储定义为一种”资源“,比如节点(Node)也是一种容器应用可以”消费“的资源。PV由管理员进行创建和配置,它与共享存储的具体实现直接相关,例如 GlusterFS、iSCSI、RBD或GCE/AWS 公有云提供的共享存储,通过插件式的机制完成与共享存储的对接,以供应用访问和使用。
PersistentVolumeClaim(PVC) 则是用户对于存储资源的一个”申请“。就像 Pod ”消费“ Node 的资源一样,PVC 会”消费“ PV资源。PVC 可以申请特定的存储空间和访问模式。
使用 PVC

本文详细介绍了Kubernetes中的存储管理,包括PV(Persistent Volume)的关键配置参数,如访问模式、存储类别和回收策略;PVC(Persistent Volume Claim)的使用,如存储空间和访问模式的请求,以及与PV的绑定过程;以及StorageClass的用途,如定义存储资源的特性和性能,设置默认存储类别。通过这些组件,Kubernetes实现了对共享存储的自动化管理和动态资源供应。
订阅专栏 解锁全文
184

被折叠的 条评论
为什么被折叠?



