本地文件系统
创建存储类
准备存储类配置文件,如本例中的mysc.yaml文件,存储类配置请参考下方示例文件。
执行命令,使用配置文件创建StorageClass。
kubectl apply -f mysc.yaml执行命令,查看已创建的StorageClass信息。
kubectl get sc mysc命令结果示例如下:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE mysc csi.huawei.com Delete Immediate true 8s
KVCache配置示例
当容器使用KVCache对接iMaster DME本地文件系统,且存储支持KVCache功能时,可以参考如下配置示例。
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: kvcache-nas-sc
provisioner: csi.huawei.com
reclaimPolicy: Delete
parameters:
backend: dme-a800-backend
pool: StoragePool001
zoneVstoreName: System_vstore
volumeType: fs
enableKVCache: "true"
enableTimeAwareGc: "true"
gcTimeThreshold: "30"
disableVerifyCapacity: "true"
mountOptions:
- nfsvers=3 # NFS挂载时指定版本为3
表 1 StorageClass配置参数说明
以 Kubernetes v1.22.1 为例,支持数字、小写字母、中划线(-)和点(.)的组合,并且必须以字母数字开头和结尾 | |||||
Delete:删除 PV/PVC 时会关联删除存储上的资源。Retain:删除 PV/PVC 时不会删除存储上的资源。注意!删除 KVCache 资源会连同文件系统共享一起删除 | |||||
常见的mountOptions参数参考表2。 | |||||
如果不设置,华为 CSI 会在所选后端上选择一个剩余容量最大的存储池创建资源。建议指定存储池,确保创建的资源在预期的存储池上 | |||||
仅在填入zoneSN场景下生效。在iMaster DME管理界面,选择"基础设施 > 存储设备 >系统 > 租户"。获取对应zone下的非全局租户名称。 | |||||
指定动态卷供应创建的存储资源名称。支持配置占位符对存储资源名称进行自定义,支持的占位符如下:PVC 命名空间:{{ .PVCNamespace }};PVC 名称:{{ .PVCName }} | 支持配置字母、数字、"_"、"-",不能配置为空,生成的存储资源名称长度范围是 1-255。必须同时配置 PVC 命名空间和 PVC 名称。为了避免资源名称重复,会将 PVC UID 作为唯一标识符默认添加到名称末尾 | ||||
| |||||
是否禁用卷容量校验,禁用后将不校验卷容量是否为扇区大小整数倍。可选值:"true":禁用卷容量校验;"false":开启卷容量校验。使用 Red Hat OpenShift Virtualization 对接 CSI 时,该参数必须设置为 "true" | |||||
无论配置为 "true" 还是 "false",后台均会在记忆库容量不足时清理 KVCache;配置为 "true" 时,后台会清理过期的 KVCache | |||||
表 2 常用mountOptions参数说明
指定NFS版本挂载时,当前支持NFS 3/4.0/4.1/4.2协议(需存储设备支持且开启)。当配置参数为nfsvers=4时,因为操作系统配置的不同,实际挂载可能为NFS 4的最高版本协议,如4.2,当需要使用4.0协议时,建议配置nfsvers=4.0。 |