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。 扩容PV功能在Kubernetes 1.14 (alpha)后才支持。 |
mountOptions | 挂载参数列表,可用于指定主机执行mount命令时-o选项的参数。 | 否 | - | 常见的mountOptions参数参考表2。 也可自行指定其他挂载参数。 |
parameters.backend | 待创建资源所在的后端名称。 | 条件必选 | - | 如果不设置,华为CSI随机选择一个满足容量要求的后端创建资源。 建议指定后端,确保创建的资源在预期的后端上。 当使用parameters.volumeType为dtree,且配置了parameters.parentname时,该参数必填。 |
parameters.pool | 待创建资源所在的存储资源池名称。如果设置,则必须设置parameters.backend。 | 否 | - | 如果不设置,华为CSI会在所选后端上随机选择一个满足容量要求的存储池创建资源。建议指定存储池,确保创建的资源在预期的存储池上。 |
parameters.volumeName | 指定动态卷供应创建的存储资源名称。 支持配置占位符对存储资源名称进行自定义,支持的占位符如下: - PVC命名空间:{{ .PVCNamespace }}
- PVC名称:{{ .PVCName }}
| 否 | - | - 仅支持OceanStor和OceanStor Dorado企业式存储产品。
- 支持配置字母、数字、"-"、"_"、".",不能配置为空,且将占位符展开后的长度范围是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类型的卷
| 是 | - | - 使用NAS存储时,必须配置为fs。
- 使用SAN存储时,必须配置为lun。
- 使用Dtree类型的NAS存储时,必须配置为dtree
|
parameters.allocType | 待创建卷的分配类型。支持如下类型: - thin:创建时不会分配所有需要的空间,而是根据使用情况动态分配。
- thick:创建时分配所有需要的空间。
| 否 | - | 传空相当于传thin,创建时不会分配所有需要的空间,而是根据使用情况动态分配。 OceanStor Dorado/OceanDisk不支持thick |
parameters.fsType | 主机文件系统类型。支持类型为: | 否 | ext4 | 仅当StorageClass的volumeType设置为“lun”,且PVC的volumeMode配置为“Filesystem”时生效。 |
parameters.authClient | 可访问该卷的NFS客户端IP地址信息,在指定volumeType为“fs”时必选。 支持输入客户端主机名称(建议使用全称域名)、客户端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速度最快。配置克隆PVC或从快照创建PVC时生效,参考克隆PVC或从快照创建PVC。 |
parameters.applicationType | 后端为OceanStor Dorado存储时,指定创建LUN/NAS时的应用类型名称。 后端为OceanDisk存储时,指定创建Namespace时的应用类型名称。 | 否 | - | - “volumeType”为“lun”时,在DeviceManager管理界面,选择“服务 > 块服务 > LUN组 (Namespace组)> LUN (Namespace)> 创建 > 应用类型”,获取应用类型名称。
- “volumeType”为“fs”时,在DeviceManager管理界面,选择“服务 > 文件服务 > 文件系统 > 创建 > 应用类型”,获取应用类型名称。
|
parameters.qos | PV在存储侧的LUN/NAS的QoS设置。 配置项值是字典格式的JSON字符串(字符串两边由单引号修饰,字典key由双引号修饰)。如:'{"maxMBPS": 999, "maxIOPS": 999}' | 否 | - | 支持的QoS配置请参考表3说明。 |
parameters.storageQuota | PV在存储侧配额设置。仅在对接OceanStor Pacific系列存储使用NAS时生效。 配置项值是字典格式的JSON字符串(字符串两边由单引号修饰,字典key由双引号修饰)。如:'{"spaceQuota": "softQuota", "gracePeriod": 100}' | 否 | - | 支持的配额配置请参考表4说明。 |
parameters.hyperMetro | 是否创建双活卷。当使用的后端是双活类型的后端需要配置。 - "true":创建的卷为双活卷。对接存储后端为双活后端时,该值必须为true。
- "false":创建的卷为普通卷。
| 条件必选 | false | 当使用的后端是双活类型的后端,且需要发放双活卷时,设置该参数为"true",若设置为"false",在后端对接的逻辑管理端口漂移的场景下,有业务中断的风险。 |
parameters.metroPairSyncSpeed | 双活Pair同步速率。支持配置为1~4。 可选值: | 否 | - | 配置创建双活卷时生效。 注意: - 未配置该参数时,双活Pair存储速率由存储决定。
- 最高速率同步时可能导致主机时延增大。
|
parameters.fsPermission | 挂载到容器内的目录权限。 | 否 | - | 配置格式参考Linux权限设置,如“777”、“755”等。 支持所有的SAN存储,NAS存储仅支持OceanStor Dorado 、OceanStor、OceanStor Pacific 8.1.2及之后版本的存储设备。 |
parameters.rootSquash | 用于设置是否允许客户端的root权限。 可选值: - root_squash:表示不允许客户端以root用户访问,客户端使用root用户访问时映射为匿名用户。
- no_root_squash:表示允许客户端以root用户访问,保留root用户的权限。
| 否 | - | 仅支持NAS存储。 |
parameters.allSquash | 用于设置是否保留共享目录的UID和GID。 可选值: - all_squash:表示共享目录的UID和GID映射为匿名用户。
- no_all_squash:表示保留共享目录的UID和GID。
| 否 | - | 仅支持NAS存储。 |
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" | 否 | - | 支持OceanStor Dorado 6.1.5+、OceanStor 6.1.5+的NAS存储。 |
parameters.disableVerifyCapacity | 是否禁用卷容量校验,禁用后将不校验卷容量是否为扇区大小整数倍。 可选值: - "true": 禁用卷容量校验。
- "false": 开启卷容量校验。
| 否 | "false" | - OceanStor Dorado和OceanStor的扇区大小为512 B。
- OceanStor Pacific NAS的扇区大小为1 KB。
- OceanStor Pacific SAN的扇区大小为1 MiB。
- OceanStor Pacific DTree的扇区大小为1 B。
- OceanDisk 的扇区大小为512 B。
|
parameters.description | 用于配置创建的文件系统/LUN的描述信息。 参数类型:字符串 长度限制:0-255 | 否 | - | - 支持企业存储文件系统及LUN。
- 支持OceanDisk namespace。
|
parameters.parentname | 当前存储上的某一个文件系统名称,在此文件系统下创建Dtree。 | 条件必选 | - | 当parameters.volumeType配置为dtree,且backend未配置parentname时,该参数必填。 若仅在StorageClass中配置了parentname,而存储后端中未配置时,要求在安装CSI时根据表5将CSIDriverObject.attachRequired设置为true。 |
parameters.advancedOptions | 高级创卷参数。仅oceanstor-nas类型的存储支持配置该参数。 配置项值是字典格式的JSON字符串(字符串两边由单引号修饰,字典key由双引号修饰)。如:'{"CAPACITYTHRESHOLD": 90}' | 否 | - | 支持的高级参数列表请参考表5说明。 |