以下是使用 NFS 存储并指定存储大小的示例 StorageClass 配置:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: my-nfs-sc
provisioner: kubernetes.io/nfs
parameters:
nfs.server: 192.168.1.100 # NFS 服务器地址
nfs.path: /data # NFS 共享目录路径
size: "10Gi" # 存储大小设置在这里
在上面的配置中,我们使用了 Kubernetes 默认提供的 kubernetes.io/nfs
驱动程序来为 PersistentVolumeClaim 提供 NFS 存储。通过 nfs.server
和 nfs.path
参数指定了 NFS 服务器和共享目录的位置。而 size
参数则控制了该 StorageClass 所能提供的最大存储容量。
创建完成后,可以通过以下命令查看创建结果:
kubectl get sc my-nfs-sc -o yaml
如果出现类似如下输出,则表示自定义 StorageClass 创建成功:
apiVersion: storage.k8s.io/v1beta1
kind: StorageClass
metadata:
annotations:
storageclass.kubernetes.io/is-default-class: "false"
creationTimestamp: "2022-05-03T08:00:00Z"
labels:
app.kubernetes.io/name: my-nfs-sc
name: my-nfs-sc
parameters:
nfs.path: /data
nfs.server: 192.168.1.100
size: "10Gi"
provisioner: kubernetes.io/nfs
reclaimPolicy: Delete
volumeBindingMode: Immediate
然后,你就可以在使用 PersistentVolumeClaim 创建 Pod 时,通过指定 my-nfs-sc
StorageClass 来获取指定大小的 NFS 存储了。