这个 StorageClass 配置文件看起来没有问题,但需要注意以下几点:
provisioner
字段指定了该 StorageClass 所使用的存储后端。在上述示例中,它被设置为 kubernetes.io/nfs,表示使用 NFS 存储。parameters.server
和parameters.path
指定了 NFS 服务器的地址和共享目录路径。在上述示例中,NFS 服务器地址是 192.168.0.173,共享目录路径是 /mnt/nfsData/minio。parameters.size
字段指定了该 StorageClass 所能提供的最大存储容量。在上述示例中,它被设置为 10GiB。如果你需要对 PV 进行手动绑定,则可以将
volumeBindingMode
字段设置为 WaitForFirstConsumer 或 Immediate。WaitForFirstConsumer 表示等待第一个 Pod 使用该 PV 后再进行绑定;Immediate 表示立即进行绑定(默认值)。
最后,在创建好 StorageClass 后,可以通过以下命令来查看其状态:
kubectl get sc minio-tenant-sc -o yaml
如果输出类似如下内容,则表示创建成功:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: minio-tenant-sc
provisioner: kubernetes.io/nfs
parameters:
server: 192.168.0.173
path: /mnt/nfsData/minio
size: "10Gi"
reclaimPolicy: Delete
volumeBindingMode: Immediate
如果你使用的是动态存储分配,那么创建 PVC 时会自动使用该 StorageClass 进行存储分配。