#yyds干货盘点#K8S持久性存储卷

网友投稿 236 2022-10-23

#yyds干货盘点#K8S持久性存储卷

PV 是由集群管理员于全局级别配置的预挂载存储空间,它通过支持的存储卷插件及给定的配置参数关联至某个存储系统上可用数据存储的一段空间,这段存储空间可能是 Ceph 存储系统上的一个存储映像、一个文件系统(CephFS)或其子目录,也可能是 NFS 存储系统上的一个导出目录等。PV 将存储系统之上的存储空间抽象为 Kubernetes 系统全局级别的 API 资源,由集群管理员负责管理和维护。

PV 和 PVC 是一对一的关系:一个 PVC 仅能绑定一个 PV,而一个 PV 在某一时刻也仅可被一个 PVC 所绑定。为了能够让用户更精细地表达存储需求,PV 资源对象的定义支持存储容量、存储类、卷模型和访问模式等属性维度的约束。相应地,PVC 资源能够从访问模式、数据源、存储资源容量需求和限制、标签选择器、存储类名称、卷模型和卷名称等多个不同的维度向 PV 资源发起匹配请求并完成筛选。

Retain(保留):删除 PVC 后将保留其绑定的 PV 及存储的数据,但会把该 PV 置为 Released 状态,它不可再被其他 PVC 所绑定,且需要由管理员手动进行后续的回收操作:首先删除 PV,接着手动清理其关联的外部存储组件上的数据,最后手动删除该存储组件或者基于该组件重新创建 PV。

Delete(删除):对于支持该回收策略的卷插件,删除一个 PVC 将同时删除其绑定的 PV 资源以及该 PV 关联的外部存储组件;动态的 PV 回收策略继承自 StorageClass 资源,默认为 Delete。多数情况下,管理员都需要根据用户的期望修改此默认策略,以免导致数据非计划内的删除。

PVC 保护机制,其目的在于,用户删除了仍被某 Pod 对象使用中的 PVC 时,Kubernetes 不会立即移除该 PVC,而是会推迟到它不再被任何 Pod 对象使用后方才真正执行删除操作。处于保护阶段的 PVC 资源的 status 字段值为 Termination,并且其 Finalizers 字段值中包含有 kubernetes.io/pvc-protection。

PersistentVolumeClaim 也是 Kubernetes 系统上标准的 API 资源类型之一,它位于核心 API 群组,属于名称空间级别。用户提交新建的 PVC 资源最初处于 Pending 状态,由 PV 控制器找寻最佳匹配的 PV 并完成二者绑定后,两者都将转入 Bound 状态,随后 Pod 对象便可基于 persistentVolumeClaim 存储卷插件配置使用该 PVC 对应的持久存储卷。

动态 PV 预配功能的使用有两个前提条件:支持动态 PV 创建功能的卷插件,以及一个使用了对应于该存储卷插件的后端存储系统的 StorageClass 资源。不过,Kubernetes 并非内置支持所有的存储卷插件的 PV 动态预配功能。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:USB接口与雷电接口有什么关系?
下一篇:Java集合的Collection接口和List接口详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~