StorageClass

    StorageClass 对象中包含 provisionerparametersreclaimPolicy 字段,当需要动态分配 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”。

    参考文章: