metadata.name | 自定义的StorageClass对象名称。 | 是 | - | 是 | 以Kubernetes v1.22.1为例,支持数字、小写字母、中划线(-)和点(.)的组合,并且必须以字母数字开头和结尾。 |
provisioner | 制备器名称。 | 是 | csi.huawei.com | 是 | 该字段需要指定为安装华为CSI时设置的驱动名称。 取值和values.yaml文件中driverName一致。 |
reclaimPolicy | 回收策略。支持如下类型: - Delete:自动回收资源。
- Retain:手动回收资源。
| 否 | Delete | 是 | - Delete:删除PV/PVC时会关联删除存储上的资源。
- Retain:删除PV/PVC时不会删除存储上的资源。
|
allowVolumeExpansion | 是否允许卷扩展。参数设置为true 时,使用该StorageClass的PV可以进行扩容操作。 | 否 | false | 是 | 此功能仅可用于扩容PV,不能用于缩容PV。 |
mountOptions | 挂载参数列表,可用于指定主机执行mount命令时-o选项的参数。 | 否 | - | 是 | 常见的mountOptions参数参考表2。 也可自行指定其他挂载参数。 |
parameters.backend | 待创建资源所在的后端名称。如果设置parameters.pool,则必须设置本字段。 | 条件必选 | - | 否 | 如果不设置,华为CSI随机选择一个满足容量要求的后端创建资源。 建议指定后端,确保创建的资源在预期的后端上。 |
parameters.pool | 待创建资源所在的存储资源池名称。 | 否 | - | 否 | 如果不设置,华为CSI会在所选后端上随机选择一个满足容量要求的存储池创建资源。建议指定存储池,确保创建的资源在预期的存储池上。 |
parameters.volumeName | 指定动态卷供应创建的存储资源名称。 支持配置占位符对存储资源名称进行自定义,支持的占位符如下: - PVC命名空间:{{ .PVCNamespace }}
- PVC名称:{{ .PVCName }}
| 否 | - | 否 | - 支持配置字母、数字、"-"、"_"、".",不能配置为空,且将占位符展开后的长度范围是1-255。
- 必须同时配置PVC命名空间和PVC名称。
- 为了避免资源名称重复,会将PVC UID作为唯一标识符默认添加到名称末尾。
配置示例: PVC命名空间为:"namespace",PVC名称为:"pvc-1",PVC UID:"c2fd3f46-bf17-4a7d-b88e-2e3232bae434"。 volumeName配置为: "prefix-{{ .PVCNamespace }}_{{ .PVCName }}"。 最终存储资源名称为:"prefix-namespace_pvc-1-c2fd3f46bf174a7db88e2e3232bae434"。 |
parameters.volumeType | 待创建卷类型。支持如下类型: - lun:存储侧发放的资源是LUN。
- fs:存储侧发放的资源是文件系统。
- dtree:存储侧发放的资源是Dtree类型的卷
| 是 | - | 是 | 此处固定配置为fs。 |
parameters.allocType | 待创建卷的分配类型。支持如下类型: - thin:创建时不会分配所有需要的空间,而是根据使用情况动态分配。
| 否 | thin | 否 | 配置为thin时,创建卷不会立即分配所有需要的空间,而是根据使用情况动态分配。 |
parameters.authClient | 可访问该卷的NFS客户端IP地址信息。 支持输入客户端主机名称(建议使用全称域名)、客户端IP地址、客户端IP地址段。 | 必选 | - | 否 | 可以使用“*”表示任意客户端。当您不确定访问客户端IP信息时,建议使用“*”防止客户端访问被存储拒绝。 当使用客户端主机名称时建议使用全称域名。 IP地址支持IPv4、IPv6地址或两者的混合IP地址。 可以同时输入多个主机名称、IP地址或IP地址段,以英文分号隔开。如示例:"192.168.0.10;192.168.0.0/24;myserver1.test" |
parameters.cloneSpeed | 克隆速度。支持配置为1~4。 | 否 | 3 | 否 | 4速度最快。配置克隆持久卷或从快照创建持久卷时生效。 |
parameters.applicationType | 指定创建文件系统时的应用类型名称。 | 否 | - | 是 | 在DeviceManager管理界面,选择“服务 > 文件服务 > 文件系统 > 创建 > 应用类型”,获取应用类型名称。 |
parameters.qos | PV在存储侧的文件系统的QoS设置。 配置项值是字典格式的JSON字符串(字符串两边由单引号修饰,字典key由双引号修饰)。如:'{"maxMBPS": 999, "maxIOPS": 999}' | 否 | - | 否 | 支持的QoS配置请参考表3说明。 |
parameters.fsPermission | 挂载到容器内的目录权限。 | 否 | - | 否 | 配置格式参考Linux权限设置,如“777”、“755”等。 |
parameters.rootSquash | 用于设置是否允许客户端的root权限。 可选值: - root_squash:表示不允许客户端以root用户访问,客户端使用root用户访问时映射为匿名用户。
- no_root_squash:表示允许客户端以root用户访问,保留root用户的权限。
| 否 | - | 否 | |
parameters.allSquash | 用于设置是否保留共享目录的UID和GID。 可选值: - all_squash:表示共享目录的UID和GID映射为匿名用户。
- no_all_squash:表示保留共享目录的UID和GID。
| 否 | - | 否 | |
parameters.accesskrb5 | 用于配置krb5安全协议。 - read_only:只读
- read_write:读写
- none:无权限
| 否 | - | 否 | 挂载时,可以在mountOptions中指定参数sec。 |
parameters.accesskrb5i | 用于配置krb5i安全协议。 - read_only:只读
- read_write:读写
- none:无权限
| 否 | - | 否 | 挂载时,可以在mountOptions中指定参数sec。 |
parameters.accesskrb5p | 用于配置krb5p安全协议。 - read_only:只读
- read_write:读写
- none:无权限
| 否 | - | 否 | 挂载时,可以在mountOptions中指定参数sec。 |
parameters.snapshotDirectoryVisibility | 用于设置快照目录是否可见。 可选值: - visible:表示快照目录可见。
- invisible:表示快照目录不可见。
| 否 | - | 否 | 仅支持NAS存储。 |
parameters.reservedSnapshotSpaceRatio | 用于配置快照预留空间。 参数类型:字符串 取值范围:"0"~"50" | 否 | - | 否 | - |
parameters.disableVerifyCapacity | 是否禁用卷容量校验,禁用后将不校验卷容量是否为扇区大小整数倍。 可选值: - "true": 禁用卷容量校验。
- "false": 开启卷容量校验。
须知:使用Red Hat OpenShift Virtualization对接CSI时,该参数必须设置为"true"。 | 否 | "true" | 是 | OceanDisk的扇区大小为512 B。 |
parameters.description | 用于配置创建的文件系统的描述信息。 参数类型:字符串 长度限制:0-255 | 否 | - | 否 | |
parameters.advancedOptions | 高级创卷参数。 配置项值是字典格式的JSON字符串(字符串两边由单引号修饰,字典key由双引号修饰)。如:'{"CAPACITYTHRESHOLD": 90}' | 否 | - | 否 | 支持的高级参数列表请参考表4说明。 |