首页 / 平台管理 / 存储管理 / 存储类 / 概述

概述

存储类(StorageClass)是一种用于描述 Kubernetes 集群可用的存储资源类别的 Kubernetes 资源,是集群相关资源。管理员可以根据想要提供的服务质量级别以及备份、安全或其他策略配置存储类,应用于不同业务场景。

基本概念

存储类(StorageClass)是一种用于描述 Kubernetes 集群可用的 存储资源类别 的 Kubernetes 资源,是集群相关资源。管理员可以根据想要提供的服务质量级别以及备份、安全或其他策略配置存储类,应用于不同业务场景。

也可将存储类看作创建持久卷(PersistantVolume,PV)、存储桶的模板。当开发、测试人员创建持久卷声明(PVC)或存储桶声明请求存储资源时,需要选择一项存储类。持久卷声明或存储桶声明创建成功后,Kubernetes 会调用存储插件的 API 根据相关配置,自动、动态地创建符合持久卷声明或存储桶请求的存储卷,从而节省创建存储资源的时间和人力成本。

同时,通过存储类,可为集群中的持久卷、存储桶对接不同类型的后端存储。将存储类设置为默认,分配给集群下所有项目或指定的一个项目后,方便普通用户选择关联。

平台能力

平台支持通过表单或 YAML 编排文件的方式创建存储类,封装不同存储资源类型的存储类。并支持通过将存储类分配至全部项目或指定的某个项目,为项目分配存储类的使用权限。

YAML 编排文件的方式,适用于熟悉 Kubernetes 且可以熟练使用 YAML 的管理员用户。

存储类特性比较

支持的访问模式

下表为平台默认提供的存储类及对应访问模式差异。如果您使用的是其他存储类,请查阅 Kubernetes 官方文档 了解该存储类在 Kubernetes 环境下对访问模式的支持程度。

存储类 单节点读写(RWO) 多节点只读(ROX) 多节点读写(RWX)
CephFS 文件存储 支持 不支持 支持
CephObject 对象存储 不支持 不支持 不支持
CephRBD 块存储 支持 不支持 不支持
Ceph 对象存储 - - -
TopoLVM 支持 不支持 不支持
NFS 共享存储 支持 不支持 支持

支持的存储系统类型

文件存储 也称为文件级存储或基于文件的存储,具有丰富多样的功能,几乎可以存储任何内容。它非常适合用来存储一系列复杂文件,并且有助于用户快速查找。

块存储 是一种高效可靠的数据存储方式,且易于使用和管理,适用于要执行大型事务或部署了大型数据库的业务应用。

对象存储 是用于大规模存储非结构化数据的数据存储架构。它将每项数据指定为一个对象,保存在单独的仓库中,然后与元数据和唯一标识符捆绑在一起,以方便访问和检索,适用于大数据、备份归档、网盘等场景。

存储类 类型 卷模式
CephFS 文件存储 文件存储 文件系统
CephRBD 块存储 块存储 文件系统、块设备
CephObject 对象存储 对象存储 -
Ceph 对象存储 对象存储 -
TopoLVM 块存储 文件系统、块设备
NFS 共享存储 文件存储 文件系统

存储特性

目前平台仅支持使用存储类 动态创建 的 PVC 为其创建卷快照,您可基于该快照创建新的 PVC 并与之绑定。使用快照创建 PVC 时支持的访问模式与使用存储类创建 PVC 时支持的访问模式有所不同,参考 部署卷快照组件

存储类 卷快照 扩容
CephFS 文件存储 支持 支持
CephRBD 块存储 支持 支持
CephObject 对象存储 不支持 支持
Ceph 对象存储 不支持 -
TopoLVM 支持 支持
NFS 共享存储 不支持 不支持