Kubernetes共享存储详解
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 从 v1.4 版本开始引入了一个新的资源对象StorageClass
,用于标记存储资源的特性和性能。到v1.6版本时,Storag
文章来源: blog.csdn.net,作者:隔壁老瓦,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/wxb880114/article/details/124709063
- 点赞
- 收藏
- 关注作者
评论(0)