StorageClass
StorageClass
对象中包含 provisioner
、parameters
和 reclaimPolicy
字段,当需要动态分配 PersistentVolume
时会使用到。当创建 StorageClass
对象时,设置名称和其他参数,一旦创建了对象就不能再对其更新。也可以为没有申请绑定到特定 class 的 PVC 指定一个默认的 StorageClass
。
StorageClass对象文件
2. StorageClass的属性
Storage class 有一个分配器(provisioner)
,用来决定使用哪个卷插件分配 PV,该字段必须指定。可以指定内部分配器,也可以指定外部分配器。外部分配器的代码地址为: ,其中包括和Ceph
等。
可以通过reclaimPolicy
字段指定创建的Persistent Volume
的回收策略,回收策略包括:Delete
或者 Retain
,没有指定默认为Delete
。
由 storage class 动态创建的 Persistent Volume 将使用 class 中 mountOptions
字段指定的挂载选项。
例如以下使用Ceph RBD
对应的参数说明
:Ceph monitor,逗号分隔。该参数是必需的。
adminId
:Ceph 客户端 ID,用于在池(ceph pool)中创建映像。 默认是 “admin”。adminSecretNamespace
:adminSecret 的 namespace。默认是 “default”。pool
: Ceph RBD 池. 默认是 “rbd”。userSecretName
:用于映射 RBD 镜像的 userId 的 Ceph Secret 的名字。 它必须与 PVC 存在于相同的 namespace 中。该参数是必需的。 提供的 secret 必须具有值为 “kubernetes.io/rbd” 的 type 参数,例如以这样的方式创建:fsType
:Kubernetes 支持的 fsType。默认:”ext4”。imageFormat
:Ceph RBD 镜像格式,”1” 或者 “2”。默认值是 “1”。
参考文章: